From af9765266fbc35d8c50b29a4cb81d7d88d2c107d Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Sun, 17 Apr 2022 17:31:32 +1000 Subject: sci-astronomy/stellarium: add 0.22.1 Signed-off-by: Matt Jolly Signed-off-by: Sam James --- sci-astronomy/stellarium/Manifest | 2 + .../stellarium-0.22.1-unbundle-qtcompress.patch | 208 +++++++++++++++++++++ sci-astronomy/stellarium/stellarium-0.22.1.ebuild | 145 ++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 sci-astronomy/stellarium/files/stellarium-0.22.1-unbundle-qtcompress.patch create mode 100644 sci-astronomy/stellarium/stellarium-0.22.1.ebuild (limited to 'sci-astronomy') diff --git a/sci-astronomy/stellarium/Manifest b/sci-astronomy/stellarium/Manifest index dccc451abef6..56f135d83c3b 100644 --- a/sci-astronomy/stellarium/Manifest +++ b/sci-astronomy/stellarium/Manifest @@ -5,6 +5,8 @@ DIST stars_7_2v0_1.cat 305710678 BLAKE2B 1cc9b4a6bc35a9339e495f7e0da4f7e90a0e92b DIST stars_8_2v0_1.cat 559068934 BLAKE2B c040a369cdf6885759998e1315b554d21a5e2b9b149a67967a8af45606aebf57bec407fab5ce1904978af0dc529aa6bddd267331ca45f58617bbf56d5ca99dee SHA512 06d4fa298b9dff8452f550377df99fcaa5e7107cfc7b75c9a4769b3cb6d97a822a54213c706102c1d7ef2dabc16df32a85f46b2f6d6c6f76a4e919353b739de4 DIST stellarium-0.21.2.tar.gz 387061883 BLAKE2B 74878961efb01088c5c7c3031d989cccce5db2e072890d01a37a8b40d30838d7ee06f440abcd8279f14677f12c42f29d129499cf2e73c0bd2e771f201007d123 SHA512 91f4e263bcda25ba356decc99f46a3e278be24bcab25519522deac0ed540205ab8320365bb40a56b7f231635bf5b026b4f87f00eeb68a26eab2b7e37d38567bf DIST stellarium-0.21.3.tar.gz 390176992 BLAKE2B 9a6ba3ab6e1b0a61916c844d271bb2181f7b6482dfaaf24e9160dd00cec297e80fc2af167f77aaf248c4dcb358ff64c5cdc138626f37030529146f1e822813e8 SHA512 6553f0229f837742e8b9db2715ecb96d69fe46aa7f057d86fb2547540d86f2cb767ca4a6bb5ff18037642113b42fec3f2850e037275fc732aae63da8031bbd0e +DIST stellarium-0.22.1.tar.gz 407700439 BLAKE2B 7a01bf63892ab800988896748f44961832756cb993884ab1d45e454035db72d6494a536936ccc338f1c0322e20ec5b282a2c3764b77f1c16cf2ee47f1a57a979 SHA512 31d0294c78c3254261dd2a5e46022342f9f3046f920efd8e4f1353eecf79116f50a968479768c12a8419ed3f9182fd3694a78b5ea2ab27ad67e6ef6d17aaa137 DIST stellarium-dso-catalog-3.13.dat 28683353 BLAKE2B 6d7587f98ccb06a83e6befb1d569c9639170c8a430901c1c6098a86a33fe8934cd4454a87b51752636a15ab1a96fd3ebd77cbd5d9e4260436ec2e4e4795f98b0 SHA512 3880ec776798599640fb083b0c9ebbccadef44f640fb2214052161ddbeb06bf5b0babc0c31d9ac02aa40e52e290d4f5613c11a6dadd83fd61114dbfb49ebe855 DIST stellarium_user_guide-0.21.2-1.pdf 31351844 BLAKE2B f8a35dcc1c0d9a40ec8d640b3cc2ee1f5e154b0f06507e0ef9ccbabdc05add2c00704e611932710a60f2b21730c8398e52be0cb142428de77eec304489591db9 SHA512 7e0bb33583ac4e89ea3cd7be5585cc00d9ac473d99d4e0862be1a74edb66cbd13661bd5d7787b60a945e302e33e190cc30a51df10d363e1af49002129f8e399f DIST stellarium_user_guide-0.21.3-1.pdf 31253904 BLAKE2B 3e8a0395a29c2fac164379ea315cd21d102b2b400d9eeacdb37cf85f00816f0678edabb9b779db135f4c43ee4cfcc6307ee59f4a149aa33e878c11fe26551266 SHA512 83137fe09bdc279bec23b78694d5e1efe9238733f8adf2cb8ed7e37f0eee60b0475c4c93b5bc85a04b92a175284c24354c36b6a93014216387211c9b031cdf7c +DIST stellarium_user_guide-0.22.1-1.pdf 36226017 BLAKE2B 628c57f1efa6238e5c12588ed4b0532816e8708f16d40fad0d87f72550af5efa500ae0edbc20e243488c59dfc94b47efe588d47419e7d29b1fd6ff9e4cec5438 SHA512 07d965f5b45ac964bec401f14ee81322a17939e292390ebd040339c265ede4b652b37e9220696f13c093ea22e8a706b27b7d23d7357dffbe808c2538f8cee93d diff --git a/sci-astronomy/stellarium/files/stellarium-0.22.1-unbundle-qtcompress.patch b/sci-astronomy/stellarium/files/stellarium-0.22.1-unbundle-qtcompress.patch new file mode 100644 index 000000000000..41721046ed03 --- /dev/null +++ b/sci-astronomy/stellarium/files/stellarium-0.22.1-unbundle-qtcompress.patch @@ -0,0 +1,208 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -614,6 +614,8 @@ ELSE(ENABLE_GPS) + MESSAGE(STATUS "GPS: disabled.") + ENDIF(ENABLE_GPS) + ++find_package(Qt5Compress REQUIRED) ++ + IF(USE_QTOPENGL) + # QtOpenGL module is deprecated. After merging the QOpenGLWidget branch, we don't use this module directly anymore, + # but the QtMultimediaWidgets module requires it internally, so we still have to package it. +--- a/plugins/Satellites/src/CMakeLists.txt ++++ b/plugins/Satellites/src/CMakeLists.txt +@@ -55,7 +55,7 @@ IF(ENABLE_TESTING) + ENDIF(ENABLE_TESTING) + + ADD_LIBRARY(Satellites-static STATIC ${Satellites_SRCS} ${Satellites_RES_CXX} ${SatellitesDialog_UIS_H}) +-TARGET_LINK_LIBRARIES(Satellites-static Qt5::Core Qt5::Network Qt5::Widgets) ++TARGET_LINK_LIBRARIES(Satellites-static Qt5::Core Qt5::Network Qt5::Widgets Qt5::Compress) + # The library target "Satellites-static" has a default OUTPUT_NAME of "Satellites-static", so change it. + SET_TARGET_PROPERTIES(Satellites-static PROPERTIES OUTPUT_NAME "Satellites") + IF(MSVC) +--- a/plugins/Satellites/src/Satellites.cpp ++++ b/plugins/Satellites/src/Satellites.cpp +@@ -43,7 +43,7 @@ + #include "StelUtils.hpp" + #include "StelActionMgr.hpp" + +-#include "external/qtcompress/qzipreader.h" ++#include "qzipreader.h" + + #include + #include +@@ -1639,12 +1639,12 @@ void Satellites::saveDownloadedUpdate(QNetworkReply* reply) + QString archive = zip.fileName(); + QByteArray data; + +- Stel::QZipReader reader(archive); +- if (reader.status() != Stel::QZipReader::NoError) ++ QZipReader reader(archive); ++ if (reader.status() != QZipReader::NoError) + qWarning() << "[Satellites] Unable to open as a ZIP archive"; + else + { +- QList infoList = reader.fileInfoList(); ++ QList infoList = reader.fileInfoList(); + for (const auto& info : qAsConst(infoList)) + { + // qWarning() << "[Satellites] Processing:" << info.filePath; +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -479,7 +479,7 @@ IF(ENABLE_SPOUT AND SPOUT_LIBRARY_DLL) + CONFIGURE_FILE(${SPOUT_LIBRARY_DLL} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY) + ENDIF() + +-SET(STELMAIN_DEPS ${ZLIB_LIBRARIES} qtcompress_stel glues_stel qcustomplot_stel qxlsx_stel ${STELLARIUM_STATIC_PLUGINS_LIBRARIES} ${STELLARIUM_QT_LIBRARIES} ${SPOUT_LIBRARY}) ++SET(STELMAIN_DEPS ${ZLIB_LIBRARIES} Qt5::Compress glues_stel qcustomplot_stel qxlsx_stel ${STELLARIUM_STATIC_PLUGINS_LIBRARIES} ${STELLARIUM_QT_LIBRARIES} ${SPOUT_LIBRARY}) + IF(ENABLE_LIBGPS) + SET(STELMAIN_DEPS ${STELMAIN_DEPS} ${GPS_LIBRARY}) + ENDIF() +--- a/src/core/modules/LandscapeMgr.cpp ++++ b/src/core/modules/LandscapeMgr.cpp +@@ -1331,8 +1331,8 @@ QString LandscapeMgr::installLandscapeFromArchive(QString sourceFilePath, const + } + QDir destinationDir (parentDestinationDir.absoluteFilePath("landscapes")); + +- Stel::QZipReader reader(sourceFilePath); +- if (reader.status() != Stel::QZipReader::NoError) ++ QZipReader reader(sourceFilePath); ++ if (reader.status() != QZipReader::NoError) + { + qWarning() << "LandscapeMgr: Unable to open as a ZIP archive:" << QDir::toNativeSeparators(sourceFilePath); + emit errorNotArchive(); +@@ -1341,7 +1341,7 @@ QString LandscapeMgr::installLandscapeFromArchive(QString sourceFilePath, const + + //Detect top directory + QString topDir, iniPath; +- const QList infoList = reader.fileInfoList(); ++ const QList infoList = reader.fileInfoList(); + for (const auto& info : infoList) + { + QFileInfo fileInfo(info.filePath); +--- a/src/external/CMakeLists.txt ++++ b/src/external/CMakeLists.txt +@@ -70,6 +70,7 @@ target_include_directories(zlib_stel PUBLIC zlib) + set_target_properties(zlib_stel PROPERTIES AUTOMOC 0) + SET_TARGET_PROPERTIES(zlib_stel PROPERTIES FOLDER "src/external") + ++if(0) + set(qtcompress_SRCS + qtcompress/qzip.cpp + qtcompress/qzipreader.h +@@ -82,6 +83,7 @@ target_link_libraries(qtcompress_stel ${ZLIB_LIBRARIES} Qt5::Core) + #turn off automoc, not needed here + set_target_properties(qtcompress_stel PROPERTIES AUTOMOC 0) + SET_TARGET_PROPERTIES(qtcompress_stel PROPERTIES FOLDER "src/external") ++endif() + + # QCustomPlot should not be unbundled, because upstream uses GPL 3, and + # Stellarium uses GPL 2. Author of QCustomPlot has agreed for GPL 2+ for this. +@@ -180,7 +182,7 @@ SET(qxlsx_SRCS + qxlsx/xlsxcelllocation.h + ) + add_library(qxlsx_stel STATIC EXCLUDE_FROM_ALL ${qxlsx_SRCS}) +-target_link_libraries(qxlsx_stel Qt5::Core Qt5::Gui qtcompress_stel) ++target_link_libraries(qxlsx_stel Qt5::Core Qt5::Gui Qt5::Compress) + set_target_properties(qxlsx_stel PROPERTIES FOLDER "src/external") + + ################################# INDI ################################ +--- a/src/external/qxlsx/xlsxzipreader.cpp ++++ b/src/external/qxlsx/xlsxzipreader.cpp +@@ -5,13 +5,13 @@ + QT_BEGIN_NAMESPACE_XLSX + + ZipReader::ZipReader(const QString &filePath) : +- m_reader(new Stel::QZipReader(filePath)) ++ m_reader(new QZipReader(filePath)) + { + init(); + } + + ZipReader::ZipReader(QIODevice *device) : +- m_reader(new Stel::QZipReader(device)) ++ m_reader(new QZipReader(device)) + { + init(); + } +@@ -23,8 +23,8 @@ ZipReader::~ZipReader() + + void ZipReader::init() + { +- QList allFiles = m_reader->fileInfoList(); +- for (const Stel::QZipReader::FileInfo &fi : allFiles) { ++ QList allFiles = m_reader->fileInfoList(); ++ for (const QZipReader::FileInfo &fi : allFiles) { + if (fi.isFile || (!fi.isDir && !fi.isFile && !fi.isSymLink)) + m_filePaths.append(fi.filePath); + } +--- a/src/external/qxlsx/xlsxzipreader_p.h ++++ b/src/external/qxlsx/xlsxzipreader_p.h +@@ -8,7 +8,7 @@ + #include + + #include "xlsxglobal.h" +-#include "external/qtcompress/qzipreader.h" ++#include "qzipreader.h" + + #if QT_VERSION >= 0x050600 + #include +@@ -31,7 +31,7 @@ public: + private: + Q_DISABLE_COPY(ZipReader) + void init(); +- QScopedPointer m_reader; ++ QScopedPointer m_reader; + QStringList m_filePaths; + }; + +--- a/src/external/qxlsx/xlsxzipwriter.cpp ++++ b/src/external/qxlsx/xlsxzipwriter.cpp +@@ -10,14 +10,14 @@ QT_BEGIN_NAMESPACE_XLSX + + ZipWriter::ZipWriter(const QString &filePath) + { +- m_writer = new Stel::QZipWriter(filePath, QIODevice::WriteOnly); +- m_writer->setCompressionPolicy(Stel::QZipWriter::AutoCompress); ++ m_writer = new QZipWriter(filePath, QIODevice::WriteOnly); ++ m_writer->setCompressionPolicy(QZipWriter::AutoCompress); + } + + ZipWriter::ZipWriter(QIODevice *device) + { +- m_writer = new Stel::QZipWriter(device); +- m_writer->setCompressionPolicy(Stel::QZipWriter::AutoCompress); ++ m_writer = new QZipWriter(device); ++ m_writer->setCompressionPolicy(QZipWriter::AutoCompress); + } + + ZipWriter::~ZipWriter() +@@ -27,7 +27,7 @@ ZipWriter::~ZipWriter() + + bool ZipWriter::error() const + { +- return m_writer->status() != Stel::QZipWriter::NoError; ++ return m_writer->status() != QZipWriter::NoError; + } + + void ZipWriter::addFile(const QString &filePath, QIODevice *device) +--- a/src/external/qxlsx/xlsxzipwriter_p.h ++++ b/src/external/qxlsx/xlsxzipwriter_p.h +@@ -8,7 +8,7 @@ + #include + + #include "xlsxglobal.h" +-#include "external/qtcompress/qzipwriter.h" ++#include "qzipwriter.h" + + class QZipWriter; + +@@ -27,7 +27,7 @@ public: + void close(); + + private: +- Stel::QZipWriter *m_writer; ++ QZipWriter *m_writer; + }; + + QT_END_NAMESPACE_XLSX diff --git a/sci-astronomy/stellarium/stellarium-0.22.1.ebuild b/sci-astronomy/stellarium/stellarium-0.22.1.ebuild new file mode 100644 index 000000000000..8ed916628542 --- /dev/null +++ b/sci-astronomy/stellarium/stellarium-0.22.1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake desktop flag-o-matic python-any-r1 xdg virtualx + +DESCRIPTION="3D photo-realistic skies in real time" +HOMEPAGE="https://stellarium.org/" +MY_DSO_VERSION="3.13" +SRC_URI=" + https://github.com/Stellarium/stellarium/releases/download/v${PV}/${P}.tar.gz + 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 + ) + doc? ( + https://github.com/Stellarium/stellarium/releases/download/v${PV}/stellarium_user_guide-${PV}-1.pdf + ) + 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 + )" + +LICENSE="GPL-2+ SGI-B-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~riscv ~x86" +IUSE="debug deep-sky doc gps media nls stars telescope test webengine" + +# Python interpreter is used while building RemoteControl plugin +BDEPEND=" + ${PYTHON_DEPS} + doc? ( app-doc/doxygen[dot] ) + nls? ( dev-qt/linguist-tools:5 ) +" +RDEPEND=" + dev-libs/qtcompress:= + dev-qt/qtcharts:5 + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtopengl:5 + dev-qt/qtprintsupport:5 + dev-qt/qtscript:5 + dev-qt/qtwidgets:5 + media-fonts/dejavu + sys-libs/zlib + virtual/opengl + gps? ( + dev-qt/qtpositioning:5 + dev-qt/qtserialport:5 + sci-geosciences/gpsd:=[cxx] + ) + media? ( dev-qt/qtmultimedia:5[widgets] ) + telescope? ( + dev-qt/qtserialport:5 + sci-libs/indilib:= + ) + webengine? ( dev-qt/qtwebengine:5[widgets] ) +" +DEPEND="${RDEPEND} + dev-qt/qtconcurrent:5 + test? ( dev-qt/qttest:5 ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/stellarium-0.20.3-unbundle-indi.patch" + "${FILESDIR}/stellarium-0.22.1-unbundle-qtcompress.patch" + "${FILESDIR}/stellarium-0.20.3-unbundle-zlib.patch" +) + +src_prepare() { + cmake_src_prepare + use debug || append-cppflags -DQT_NO_DEBUG #415769 + + # Several libraries are bundled, remove them. + rm -r src/external/{libindi,qtcompress,zlib}/ || die + + # qcustomplot can't be easily unbundled because it uses qcustomplot 1 + # while we have qcustomplot 2 in tree which changed API a bit + # Also the license of the external qcustomplot is incompatible with stellarium + + # for glues_stel aka libtess I couldn't find an upstream with the same API + + # unbundling of qxlsx depends on https://github.com/QtExcel/QXlsx/pull/185 + + local remaining="$(cd src/external/ && echo */)" + if [[ "${remaining}" != "glues_stel/ qcustomplot/ qxlsx/" ]]; then + eqawarn "Need to unbundle more deps: ${remaining}" + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_GPS="$(usex gps)" + -DENABLE_MEDIA="$(usex media)" + -DENABLE_NLS="$(usex nls)" + -DENABLE_TESTING="$(usex test)" + -DUSE_PLUGIN_TELESCOPECONTROL="$(usex telescope)" + $(cmake_use_find_package webengine Qt5WebEngine) + $(cmake_use_find_package webengine Qt5WebEngineWidgets) + ) + 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