summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-astronomy/stellarium/Manifest3
-rw-r--r--sci-astronomy/stellarium/files/stellarium-0.21.2-unbundle-qtcompress.patch207
-rw-r--r--sci-astronomy/stellarium/stellarium-0.21.2.ebuild141
3 files changed, 351 insertions, 0 deletions
diff --git a/sci-astronomy/stellarium/Manifest b/sci-astronomy/stellarium/Manifest
index 943e3f7c2fd0..02259f1d1468 100644
--- a/sci-astronomy/stellarium/Manifest
+++ b/sci-astronomy/stellarium/Manifest
@@ -4,5 +4,8 @@ DIST stars_6_2v0_1.cat 148352404 BLAKE2B c605b284b3d768cb1619ada3f58d406fa7737f0
DIST stars_7_2v0_1.cat 305710678 BLAKE2B 1cc9b4a6bc35a9339e495f7e0da4f7e90a0e92b05b5de8599be1bbdd2a8053cbcec44b0e58bc9248364666db9cdf23449edf236e3f21fdc0e8f1a4a706afc919 SHA512 43b866eb793e8812c9d5502101a6c985d2055fb88bdbda274726bcd51e1527ecf342b22acd673318c9c8e88cac68eace18de8f27d29ffe64933fd32a5b84c5e3
DIST stars_8_2v0_1.cat 559068934 BLAKE2B c040a369cdf6885759998e1315b554d21a5e2b9b149a67967a8af45606aebf57bec407fab5ce1904978af0dc529aa6bddd267331ca45f58617bbf56d5ca99dee SHA512 06d4fa298b9dff8452f550377df99fcaa5e7107cfc7b75c9a4769b3cb6d97a822a54213c706102c1d7ef2dabc16df32a85f46b2f6d6c6f76a4e919353b739de4
DIST stellarium-0.21.1.tar.gz 362055145 BLAKE2B a7ea6327d415331848a53879e76ea973fbb51709a0bd561cd4e415b215e5c8494290e2e663bda9f463f565a771465e0e0133f46517a5798d607f076e2635764d SHA512 6dd935808c711da32c793a0cedad464a15bf35ede60cff385e96f1d5868e751ed2e09b61551f7a6fe599b702a6f4d0a62d4494a40b68e77685ba57b6a63b5031
+DIST stellarium-0.21.2.tar.gz 387061883 BLAKE2B 74878961efb01088c5c7c3031d989cccce5db2e072890d01a37a8b40d30838d7ee06f440abcd8279f14677f12c42f29d129499cf2e73c0bd2e771f201007d123 SHA512 91f4e263bcda25ba356decc99f46a3e278be24bcab25519522deac0ed540205ab8320365bb40a56b7f231635bf5b026b4f87f00eeb68a26eab2b7e37d38567bf
DIST stellarium-dso-catalog-3.12.dat 28298461 BLAKE2B 0845981c1d35480eb0b1656e167f7f2dece00d82890c6605b6e5305e6c5be02bcce463c4a34ba3f9ee52f42c35b0a416a93b91361fdd9ce3c24f9bcb4be038f9 SHA512 0de88e559cc26c484edb0eb9d3dd33b4faf9a0e3579dc5ebfbcba70cc39a4e052248c159ace29c9a69027c8c121a832d510459d523b2e05bb0620556d2a49935
+DIST stellarium-dso-catalog-3.13.dat 28683353 BLAKE2B 6d7587f98ccb06a83e6befb1d569c9639170c8a430901c1c6098a86a33fe8934cd4454a87b51752636a15ab1a96fd3ebd77cbd5d9e4260436ec2e4e4795f98b0 SHA512 3880ec776798599640fb083b0c9ebbccadef44f640fb2214052161ddbeb06bf5b0babc0c31d9ac02aa40e52e290d4f5613c11a6dadd83fd61114dbfb49ebe855
DIST stellarium_user_guide-0.21.1-1.pdf 31256531 BLAKE2B 511bbd2c7247156959966a038d387c0522f0539d6226c0db5c76abbe60a972a61530c7c0c5b4a93ad3d36a2eaf53260ad7d8ab09b207b90a56f35b0b67bfae42 SHA512 5ba8b4ccfc9ea2b374cc486bbd43d7aad344f8c1f204cf314f8b73b7a68199fcebac938021d7a94093514c95b61ac3dd1b6992a51ff7a5522cf025e430e51c7f
+DIST stellarium_user_guide-0.21.2-1.pdf 31351844 BLAKE2B f8a35dcc1c0d9a40ec8d640b3cc2ee1f5e154b0f06507e0ef9ccbabdc05add2c00704e611932710a60f2b21730c8398e52be0cb142428de77eec304489591db9 SHA512 7e0bb33583ac4e89ea3cd7be5585cc00d9ac473d99d4e0862be1a74edb66cbd13661bd5d7787b60a945e302e33e190cc30a51df10d363e1af49002129f8e399f
diff --git a/sci-astronomy/stellarium/files/stellarium-0.21.2-unbundle-qtcompress.patch b/sci-astronomy/stellarium/files/stellarium-0.21.2-unbundle-qtcompress.patch
new file mode 100644
index 000000000000..f5d757b1bb16
--- /dev/null
+++ b/sci-astronomy/stellarium/files/stellarium-0.21.2-unbundle-qtcompress.patch
@@ -0,0 +1,207 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -594,6 +594,7 @@ 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,
+--- 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 <QNetworkAccessManager>
+ #include <QNetworkReply>
+@@ -1549,12 +1549,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<Stel::QZipReader::FileInfo> infoList = reader.fileInfoList();
++ QList<QZipReader::FileInfo> infoList = reader.fileInfoList();
+ for (const auto& info : qAsConst(infoList))
+ {
+ // qWarning() << "[Satellites] Processing:" << info.filePath;
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -464,7 +464,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
+@@ -1322,8 +1322,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();
+@@ -1332,7 +1332,7 @@ QString LandscapeMgr::installLandscapeFromArchive(QString sourceFilePath, const
+
+ //Detect top directory
+ QString topDir, iniPath;
+- QList<Stel::QZipReader::FileInfo> infoList = reader.fileInfoList();
++ QList<QZipReader::FileInfo> 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<Stel::QZipReader::FileInfo> allFiles = m_reader->fileInfoList();
+- for (const Stel::QZipReader::FileInfo &fi : allFiles) {
++ QList<QZipReader::FileInfo> 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 <QIODevice>
+
+ #include "xlsxglobal.h"
+-#include "external/qtcompress/qzipreader.h"
++#include "qzipreader.h"
+
+ #if QT_VERSION >= 0x050600
+ #include <QVector>
+@@ -31,7 +31,7 @@ public:
+ private:
+ Q_DISABLE_COPY(ZipReader)
+ void init();
+- QScopedPointer<Stel::QZipReader> m_reader;
++ QScopedPointer<QZipReader> 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 <QIODevice>
+
+ #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.21.2.ebuild b/sci-astronomy/stellarium/stellarium-0.21.2.ebuild
new file mode 100644
index 000000000000..6a6c12433040
--- /dev/null
+++ b/sci-astronomy/stellarium/stellarium-0.21.2.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2021 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 ~ppc ~ppc64 ~x86"
+IUSE="debug deep-sky doc gps media nls stars telescope test"
+
+# 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/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:=
+ )
+"
+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.21.2-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_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
+}