From 5174fa74f9d007ea2702eb927b5f66cb68ac25d8 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 1 Oct 2024 00:30:38 +0100 Subject: sci-astronomy/stellarium: add 24.3 Signed-off-by: Alexey Sokolov Closes: https://github.com/gentoo/gentoo/pull/38828 Signed-off-by: Joonas Niilola --- sci-astronomy/stellarium/Manifest | 4 + .../files/stellarium-0.24.3-fast_float.patch | 23 +++ .../files/stellarium-0.24.3-tbb-emit.patch | 35 ++++ sci-astronomy/stellarium/metadata.xml | 1 + sci-astronomy/stellarium/stellarium-24.3.ebuild | 216 +++++++++++++++++++++ 5 files changed, 279 insertions(+) create mode 100644 sci-astronomy/stellarium/files/stellarium-0.24.3-fast_float.patch create mode 100644 sci-astronomy/stellarium/files/stellarium-0.24.3-tbb-emit.patch create mode 100644 sci-astronomy/stellarium/stellarium-24.3.ebuild (limited to 'sci-astronomy') diff --git a/sci-astronomy/stellarium/Manifest b/sci-astronomy/stellarium/Manifest index b2b9b0e68e2b..54380b20d401 100644 --- a/sci-astronomy/stellarium/Manifest +++ b/sci-astronomy/stellarium/Manifest @@ -6,7 +6,11 @@ DIST stars_7_2v0_1.cat 305710678 BLAKE2B 1cc9b4a6bc35a9339e495f7e0da4f7e90a0e92b DIST stars_8_2v0_1.cat 559068934 BLAKE2B c040a369cdf6885759998e1315b554d21a5e2b9b149a67967a8af45606aebf57bec407fab5ce1904978af0dc529aa6bddd267331ca45f58617bbf56d5ca99dee SHA512 06d4fa298b9dff8452f550377df99fcaa5e7107cfc7b75c9a4769b3cb6d97a822a54213c706102c1d7ef2dabc16df32a85f46b2f6d6c6f76a4e919353b739de4 DIST stellarium-24.2.tar.xz 327084704 BLAKE2B b1d38a92d0487a6555f1aad2d544711527a3cf942f47506597c527a85035091a5c6ad787aeeab012f29242388c2f65b3d5e61527de01edfa576b9b7324c6917b SHA512 621d16a70036e2ddea3900c0fcd0d4caadb8f821afda8a5d9818c82d2a846107840e1497a4d79a954ec2a76e434bc99b021e6f15c2af6de2cc4044fb70096929 DIST stellarium-24.2.tar.xz.asc 313 BLAKE2B d76fb00c0446ddeee90c42a3750989746e85334e9ac2bbb723959e87850bc6f9464b6f59d379e9354698d50e7ee447ab6c8ffbeab0fd0cbda9ad3be7765cad41 SHA512 dc5a6d30423f6ac389115c6235656f8f144ba97d2ba09f7f074a17bc6ec92be46a9da741a387f0c149a73e6b15d5906bd0eaec13f6e69b327beeae4512bcf992 +DIST stellarium-24.3.tar.xz 328039964 BLAKE2B 295114fce95e4c01d6f25051d4988328ebaa93b815fa9198e0b6e30f15395116a2cd0974d2d211ba162780e4ae586a33ba98396465d6942c50db3945a206a03c SHA512 8bb8ebdfdf57accf6d200f6c17d39edcda15c7ecdbfcd280f2a21e682fa62d62fc6523965d16b2033cee8f84da3dbb24db837c594a75144f5822d3576067000e +DIST stellarium-24.3.tar.xz.asc 313 BLAKE2B 8f5af1a52e29e029b6e0bf61cb5612ae7ebe688b315e87011661e178dfe309ff76125177cd88dbf9c999abf3bbe5ee4b9ae52235fd0029cb5c2ebf66332f3df4 SHA512 c88e238a311b382be4623c67414dc5cce19cb1accdcbe35077916a0690ecaf0adc34ef43bd1b100f14b0cad8a6a8eec479eff353c32f0ad79b6a3263acf30f64 DIST stellarium-dso-catalog-3.20.dat 28678745 BLAKE2B 24ddf76e81e91424cced5df74dd164d17a45fed2b65c1dc1e7065371c18a796350a1e1aab2da5860376eb90eac07e7c836ffdbb324a0d3eda6c91e8ce1c4ab3a SHA512 c84832bbf56d1097db3ff8fa8f3faadac1470a9f79d9ee759493915a48754dc86174551b5e705786f29331991bee57daa4cab6d7ecc2e4e00a2f895823ccfd87 DIST stellarium-dso-catalog-3.20.dat.asc 313 BLAKE2B a7d9a1977ff4e1b21a80239d85ad5123ad03c2dcd57422cec7c2585eddb1004bbfc2b29a934653bc36c438981218811d21ade7380ae49278ef2c4f387ab762e5 SHA512 e8a7b10bb157d15b550a31646c8d8ce9933a77f748900a9c75f0c78b9b9205ce5e4e2ec18248ba786aacd5fbf36da00bbaf578b8b011c75351a9237568e62f1b DIST stellarium_user_guide-24.2-1.pdf 32957159 BLAKE2B 4a6b7d93484945dffbee72eb4b3eba52cbe7affae63c9989b95dfe86be00d09ba3c283629a2939bca140daa1fd987dd6faa6e346fe56456777990fabcb46eb36 SHA512 784005bbd13333d2ab7ea0d043077ace88f0e824aef51ad65e2b3c11e6e2761f75332f7d03aa15a271078406688237da316f9d2077eb4155eaa9aa683b22e616 DIST stellarium_user_guide-24.2-1.pdf.asc 313 BLAKE2B 7e2093891fc6250982a95436f1e4fe39861f08e1adec3251d35fbe991c155cf5df0cfe1e78af3511da7e8f29268beae905e7f79a1e3e7677b649527c34df6aad SHA512 c5cd4603e6d1f02569be9d5bbb54a051b60143eb3967b56aa727525de67f8af4e4405d26b1ca25bc118d400d49f06f32cbafdbbecf6b2339000ab3366a722a7a +DIST stellarium_user_guide-24.3-1.pdf 33106635 BLAKE2B 60b165bcb4d6ce8d0226e6c8c341a87ac38939e6f91155ea647b73e365f5dd76d812f48f10d36995fa27e8f56c7433256c8e6e4b190fc6cabf2c712a506fc8a6 SHA512 ba87fcb9b64faa123965c710b06e585ae20594e84aef59fe804d858f33497683fe4a5a2de6e0d7b1eff071e654d8ee3802e625a2f3f76712ec5962f919cc0ff1 +DIST stellarium_user_guide-24.3-1.pdf.asc 313 BLAKE2B a61d77585af364b977c1eb4ca40910c2dffc4905ba04426aa4c664975a5021c97f681395a64b7cf3556887d96a49f851ca289f74325283344d442b89ecc6783b SHA512 1aa60a229336aa17b22364589425a1001175d7478ec5a5258d5b305ac6b6e2c508d97224a497d1b64d9f961cc454b39a1a7a95c4e0333c9e6fddfc1b3f54cca8 diff --git a/sci-astronomy/stellarium/files/stellarium-0.24.3-fast_float.patch b/sci-astronomy/stellarium/files/stellarium-0.24.3-fast_float.patch new file mode 100644 index 000000000000..bc46b58c137b --- /dev/null +++ b/sci-astronomy/stellarium/files/stellarium-0.24.3-fast_float.patch @@ -0,0 +1,23 @@ +https://github.com/Stellarium/stellarium/pull/3949 + +libc++ doesn't support std::from_chars yet, and in such case Stellarium uses an external library + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1053,13 +1053,13 @@ ENDIF() + + include("cmake/Check-from_chars.cmake") + IF(NOT FROM_CHARS_WORKS) +- CPMFindPackage(NAME fast_float ++ CPMFindPackage(NAME FastFloat + GIT_REPOSITORY https://github.com/fastfloat/fast_float + VERSION 6.1.0 + EXCLUDE_FROM_ALL yes) +- GET_TARGET_PROPERTY(fast_float_INCLUDE_DIRECTORIES ++ GET_TARGET_PROPERTY(FastFloat_INCLUDE_DIRECTORIES + FastFloat::fast_float INTERFACE_INCLUDE_DIRECTORIES) +- INCLUDE_DIRECTORIES(${fast_float_INCLUDE_DIRECTORIES}) ++ INCLUDE_DIRECTORIES(${FastFloat_INCLUDE_DIRECTORIES}) + ADD_DEFINITIONS(-DUSE_FAST_FLOAT) + ENDIF() + diff --git a/sci-astronomy/stellarium/files/stellarium-0.24.3-tbb-emit.patch b/sci-astronomy/stellarium/files/stellarium-0.24.3-tbb-emit.patch new file mode 100644 index 000000000000..3cb67584d056 --- /dev/null +++ b/sci-astronomy/stellarium/files/stellarium-0.24.3-tbb-emit.patch @@ -0,0 +1,35 @@ +From 02e37f3b76ef20786f10a6d89d23944e330aecf4 Mon Sep 17 00:00:00 2001 +From: Ruslan Kabatsayev +Date: Mon, 23 Sep 2024 22:40:01 +0400 +Subject: [PATCH] Include before any Qt headers + +Fixes #3905. +--- a/src/core/modules/SolarSystem.cpp ++++ b/src/core/modules/SolarSystem.cpp +@@ -19,6 +19,8 @@ + * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. + */ + ++#include // must be included before Qt because some versions of libtbb use "emit" identifier for their needs ++ + #include "SolarSystem.hpp" + #include "StelTexture.hpp" + #include "EphemWrapper.hpp" +@@ -48,7 +50,6 @@ + #include "StelObserver.hpp" + + #include +-#include + + #include + #include +--- a/src/stelMain_pch.hpp ++++ b/src/stelMain_pch.hpp +@@ -28,6 +28,7 @@ + // It seems that inclusion of some headers is actually bad for build time, these are commented away again. More teting or other compiler combinations may have slightly other results. + + // Base time was 284s from first test without PCH ++#include // must be included before Qt because some versions of libtbb use "emit" identifier for their needs + #include "StelApp.hpp" + #include + #include "StelUtils.hpp" diff --git a/sci-astronomy/stellarium/metadata.xml b/sci-astronomy/stellarium/metadata.xml index da8ff2303389..684dbcfe02e5 100644 --- a/sci-astronomy/stellarium/metadata.xml +++ b/sci-astronomy/stellarium/metadata.xml @@ -22,6 +22,7 @@ Install extra deep sky objects catalog (may affect performance) Enable lens distortion estimator plugin + Use external libraries for STL features not available in libc++ Enable sound and video support Enable JS scripting via dev-qt/qtscript in Qt5 or using Qml via dev-qt/qtdeclarative in Qt6 Enable a better atmosphere model via sci-astronomy/calcmysky diff --git a/sci-astronomy/stellarium/stellarium-24.3.ebuild b/sci-astronomy/stellarium/stellarium-24.3.ebuild new file mode 100644 index 000000000000..ef93034d5a1d --- /dev/null +++ b/sci-astronomy/stellarium/stellarium-24.3.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake desktop flag-o-matic python-any-r1 toolchain-funcs xdg verify-sig virtualx + +DESCRIPTION="3D photo-realistic skies in real time" +HOMEPAGE="https://stellarium.org/ https://github.com/Stellarium/stellarium" +MY_DSO_VERSION="3.20" +SRC_URI=" + https://github.com/Stellarium/stellarium/releases/download/v${PV}/${P}.tar.xz + verify-sig? ( https://github.com/Stellarium/stellarium/releases/download/v${PV}/${P}.tar.xz.asc ) + deep-sky? ( + https://github.com/Stellarium/stellarium-data/releases/download/dso-${MY_DSO_VERSION}/catalog-${MY_DSO_VERSION}.dat -> ${PN}-dso-catalog-${MY_DSO_VERSION}.dat + verify-sig? ( https://github.com/Stellarium/stellarium-data/releases/download/dso-${MY_DSO_VERSION}/catalog-${MY_DSO_VERSION}.dat.asc -> ${PN}-dso-catalog-${MY_DSO_VERSION}.dat.asc ) + ) + doc? ( + https://github.com/Stellarium/stellarium/releases/download/v${PV}/stellarium_user_guide-${PV}-1.pdf + verify-sig? ( https://github.com/Stellarium/stellarium/releases/download/v${PV}/stellarium_user_guide-${PV}-1.pdf.asc ) + ) + stars? ( + https://github.com/Stellarium/stellarium-data/releases/download/stars-2.0/stars_4_1v0_2.cat + https://github.com/Stellarium/stellarium-data/releases/download/stars-2.0/stars_5_2v0_1.cat + https://github.com/Stellarium/stellarium-data/releases/download/stars-2.0/stars_6_2v0_1.cat + https://github.com/Stellarium/stellarium-data/releases/download/stars-2.0/stars_7_2v0_1.cat + https://github.com/Stellarium/stellarium-data/releases/download/stars-2.0/stars_8_2v0_1.cat + ) + telescope? ( + https://github.com/indilib/indi/archive/v1.8.5.tar.gz -> indilib-1.8.5.tar.gz + )" + +LICENSE="GPL-2+ SGI-B-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug deep-sky doc gps +lens-distortion libcxx media nls qt6 +scripting +show-my-sky stars telescope test webengine +xlsx" + +# Python interpreter is used while building RemoteControl plugin +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + doc? ( app-text/doxygen[dot] ) + nls? ( + !qt6? ( dev-qt/linguist-tools:5 ) + qt6? ( dev-qt/qttools:6[linguist] ) + ) + verify-sig? ( sec-keys/openpgp-keys-stellarium ) +" +# TODO: review need for dev-cpp/tbb after several releases of gcc and clang +RDEPEND=" + dev-cpp/tbb:= + media-fonts/dejavu + sys-libs/zlib + gps? ( sci-geosciences/gpsd:=[cxx] ) + lens-distortion? ( + media-gfx/exiv2:= + sci-libs/nlopt + ) + media? ( virtual/opengl ) + !qt6? ( + dev-qt/qtcharts:5 + dev-qt/qtconcurrent:5 + dev-qt/qtcore:5 + dev-qt/qtgui:5= + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + >=sci-astronomy/calcmysky-0.3.0:=[qt5] + gps? ( + dev-qt/qtpositioning:5 + dev-qt/qtserialport:5 + ) + media? ( + dev-qt/qtmultimedia:5[widgets] + dev-qt/qtopengl:5 + ) + scripting? ( dev-qt/qtscript:5 ) + telescope? ( dev-qt/qtserialport:5 ) + webengine? ( dev-qt/qtwebengine:5[widgets] ) + xlsx? ( dev-libs/qxlsx:=[qt5] ) + ) + qt6? ( + dev-qt/qtbase:6=[concurrent,gui,network,widgets] + dev-qt/qtcharts:6 + >=sci-astronomy/calcmysky-0.3.0:=[qt6] + gps? ( + dev-qt/qtpositioning:6 + dev-qt/qtserialport:6 + ) + media? ( + dev-qt/qtmultimedia:6[gstreamer] + ) + scripting? ( dev-qt/qtdeclarative:6 ) + telescope? ( dev-qt/qtserialport:6 ) + webengine? ( dev-qt/qtwebengine:6[widgets] ) + xlsx? ( dev-libs/qxlsx:=[qt6] ) + ) +" +DEPEND="${RDEPEND} + libcxx? ( dev-cpp/fast_float ) + !qt6? ( + test? ( dev-qt/qttest:5 ) + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/stellarium-0.23.4-unbundle-zlib.patch" + "${FILESDIR}/stellarium-0.24.3-fast_float.patch" + "${FILESDIR}/stellarium-0.24.3-tbb-emit.patch" +) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/stellarium.asc + +pkg_setup() { + if tc-is-clang && ! use libcxx && [[ $(tc-get-cxx-stdlib) == libc++ ]]; then + die "When using libc++, please enable USE=libcxx" + fi +} + +src_unpack() { + # stars-2.0 are not signed + if use verify-sig; then + pushd "${DISTDIR}" > /dev/null || die + verify-sig_verify_detached \ + ${P}.tar.xz{,.asc} + use deep-sky && verify-sig_verify_detached \ + ${PN}-dso-catalog-${MY_DSO_VERSION}.dat{,.asc} + use doc && verify-sig_verify_detached \ + stellarium_user_guide-${PV}-1.pdf{,.asc} + popd > /dev/null || die + fi + default_src_unpack +} + +src_prepare() { + cmake_src_prepare + use debug || append-cppflags -DQT_NO_DEBUG #415769 + + rm -r src/external/qtcompress/ || die + rm -r src/external/zlib/ || die + + # for glues_stel aka libtess I couldn't find an upstream with the same API + + local remaining="$(cd src/external/ && echo */)" + if [[ "${remaining}" != "glues_stel/" ]]; then + eqawarn "Need to unbundle more deps: ${remaining}" + fi +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862249 + + local mycmakeargs=( + -DCCACHE_PROGRAM=no + -DCPM_LOCAL_PACKAGES_ONLY=yes + -DUSE_BUNDLED_QTCOMPRESS=no + -DENABLE_GPS="$(usex gps)" + -DENABLE_MEDIA="$(usex media)" + -DENABLE_NLS="$(usex nls)" + -DENABLE_QT6="$(usex qt6)" + -DENABLE_QTWEBENGINE="$(usex webengine)" + -DENABLE_SHOWMYSKY=$(usex show-my-sky) + -DENABLE_SCRIPTING=$(usex scripting) + -DENABLE_TESTING="$(usex test)" + -DENABLE_XLSX="$(usex xlsx)" + -DUSE_PLUGIN_LENSDISTORTIONESTIMATOR="$(usex lens-distortion)" + -DUSE_PLUGIN_TELESCOPECONTROL="$(usex telescope)" + "$(cmake_use_find_package doc Doxygen)" + ) + if use telescope; then + # https://bugs.gentoo.org/913177 + mycmakeargs+=( + -DPREFER_SYSTEM_INDILIB=no + -DCPM_indiclient_SOURCE="${WORKDIR}/indi-1.8.5" + ) + fi + cmake_src_configure +} + +src_test() { + virtx cmake_src_test +} + +src_compile() { + cmake_src_compile + + if use doc ; then + cmake_build apidoc + fi +} + +src_install() { + if use doc ; then + local HTML_DOCS=( "${BUILD_DIR}/doc/html/." ) + dodoc "${DISTDIR}/stellarium_user_guide-${PV}-1.pdf" + fi + cmake_src_install + + # use the more up-to-date system fonts + rm "${ED}"/usr/share/stellarium/data/DejaVuSans{Mono,}.ttf || die + dosym ../../fonts/dejavu/DejaVuSans.ttf /usr/share/stellarium/data/DejaVuSans.ttf + dosym ../../fonts/dejavu/DejaVuSansMono.ttf /usr/share/stellarium/data/DejaVuSansMono.ttf + + if use stars ; then + insinto /usr/share/${PN}/stars/default + doins "${DISTDIR}"/stars_4_1v0_2.cat + doins "${DISTDIR}"/stars_{5,6,7,8}_2v0_1.cat + fi + if use deep-sky ; then + insinto /usr/share/${PN}/nebulae/default + newins "${DISTDIR}/${PN}-dso-catalog-${MY_DSO_VERSION}.dat" catalog.dat + fi + newicon doc/images/stellarium-logo.png ${PN}.png +} -- cgit v1.2.3-65-gdbad