summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Sokolov <alexey+gentoo@asokolov.org>2024-10-01 00:30:38 +0100
committerJoonas Niilola <juippis@gentoo.org>2024-10-17 17:03:04 +0300
commit5174fa74f9d007ea2702eb927b5f66cb68ac25d8 (patch)
tree894c31654e2f2f87535ed58274006799fef1c5ba /sci-astronomy/stellarium
parentdev-cpp/fast_float: new package, add 6.1.6 (diff)
downloadgentoo-5174fa74f9d007ea2702eb927b5f66cb68ac25d8.tar.gz
gentoo-5174fa74f9d007ea2702eb927b5f66cb68ac25d8.tar.bz2
gentoo-5174fa74f9d007ea2702eb927b5f66cb68ac25d8.zip
sci-astronomy/stellarium: add 24.3
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Closes: https://github.com/gentoo/gentoo/pull/38828 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'sci-astronomy/stellarium')
-rw-r--r--sci-astronomy/stellarium/Manifest4
-rw-r--r--sci-astronomy/stellarium/files/stellarium-0.24.3-fast_float.patch23
-rw-r--r--sci-astronomy/stellarium/files/stellarium-0.24.3-tbb-emit.patch35
-rw-r--r--sci-astronomy/stellarium/metadata.xml1
-rw-r--r--sci-astronomy/stellarium/stellarium-24.3.ebuild216
5 files changed, 279 insertions, 0 deletions
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 <b7.10110111@gmail.com>
+Date: Mon, 23 Sep 2024 22:40:01 +0400
+Subject: [PATCH] Include <execution> 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 <execution> // 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 <algorithm>
+-#include <execution>
+
+ #include <QTextStream>
+ #include <QSettings>
+--- 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 <execution> // must be included before Qt because some versions of libtbb use "emit" identifier for their needs
+ #include "StelApp.hpp"
+ #include<QDebug>
+ #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 @@
<use>
<flag name="deep-sky">Install extra deep sky objects catalog (may affect performance)</flag>
<flag name="lens-distortion">Enable lens distortion estimator plugin</flag>
+ <flag name="libcxx">Use external libraries for STL features not available in libc++</flag>
<flag name="media">Enable sound and video support</flag>
<flag name="scripting">Enable JS scripting via <pkg>dev-qt/qtscript</pkg> in Qt5 or using Qml via <pkg>dev-qt/qtdeclarative</pkg> in Qt6</flag>
<flag name="show-my-sky">Enable a better atmosphere model via <pkg>sci-astronomy/calcmysky</pkg></flag>
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
+}