1 |
commit: ae4172895d1de98be7727abff3171cd7d226498f |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Oct 22 13:58:41 2017 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Oct 22 13:58:41 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=ae417289 |
7 |
|
8 |
kde-apps/gwenview: Add USE=fits, bug #632200 |
9 |
|
10 |
Package-Manager: Portage-2.3.12, Repoman-2.3.3 |
11 |
|
12 |
.../gwenview/files/gwenview-17.11.80-cfitsio.patch | 172 +++++++++++++++++++++ |
13 |
kde-apps/gwenview/gwenview-9999.ebuild | 6 +- |
14 |
kde-apps/gwenview/metadata.xml | 1 + |
15 |
3 files changed, 178 insertions(+), 1 deletion(-) |
16 |
|
17 |
diff --git a/kde-apps/gwenview/files/gwenview-17.11.80-cfitsio.patch b/kde-apps/gwenview/files/gwenview-17.11.80-cfitsio.patch |
18 |
new file mode 100644 |
19 |
index 0000000000..aa56d94755 |
20 |
--- /dev/null |
21 |
+++ b/kde-apps/gwenview/files/gwenview-17.11.80-cfitsio.patch |
22 |
@@ -0,0 +1,172 @@ |
23 |
+From 48f0fa32a451bd25378a63d7caa39b7a13a78f49 Mon Sep 17 00:00:00 2001 |
24 |
+From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com> |
25 |
+Date: Sun, 22 Oct 2017 14:23:41 +0200 |
26 |
+Subject: [PATCH] Make CFitsio optional |
27 |
+ |
28 |
+--- |
29 |
+ CMakeLists.txt | 5 ++++- |
30 |
+ app/main.cpp | 6 +++++- |
31 |
+ config-gwenview.h.cmake | 1 + |
32 |
+ lib/CMakeLists.txt | 29 ++++++++++++++++++++++------- |
33 |
+ lib/imagemetainfomodel.cpp | 7 +++++-- |
34 |
+ 5 files changed, 37 insertions(+), 11 deletions(-) |
35 |
+ |
36 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
37 |
+index 8dd8d5e1..2ddb8c10 100644 |
38 |
+--- a/CMakeLists.txt |
39 |
++++ b/CMakeLists.txt |
40 |
+@@ -99,7 +99,10 @@ find_package(Exiv2) |
41 |
+ set_package_properties(Exiv2 PROPERTIES URL "http://www.exiv2.org" DESCRIPTION "image metadata support" TYPE REQUIRED) |
42 |
+ |
43 |
+ find_package(CFitsio) |
44 |
+-set_package_properties(CFitsio PROPERTIES URL "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html" DESCRIPTION "FITS format support" TYPE REQUIRED) |
45 |
++set_package_properties(CFitsio PROPERTIES URL "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html" DESCRIPTION "FITS format support" TYPE OPTIONAL) |
46 |
++if(CFITSIO_FOUND) |
47 |
++ set(HAVE_FITS true) |
48 |
++endif() |
49 |
+ |
50 |
+ find_package(KF5Kipi) |
51 |
+ if (KF5Kipi_FOUND) |
52 |
+diff --git a/app/main.cpp b/app/main.cpp |
53 |
+index 662dcd7b..e844668c 100644 |
54 |
+--- a/app/main.cpp |
55 |
++++ b/app/main.cpp |
56 |
+@@ -40,12 +40,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
57 |
+ #include <lib/imageformats/imageformats.h> |
58 |
+ #include "mainwindow.h" |
59 |
+ |
60 |
++#ifdef HAVE_FITS |
61 |
+ // This hack is needed to include the fitsplugin moc file in main.cpp |
62 |
+ // Otherwise the linker complains about: undefined reference to `qt_static_plugin_FitsPlugin()' |
63 |
+ // This symbol is defined in the moc file, but it is not a visible symbol after libgwenview is linked. |
64 |
+ // If Q_IMPORT_PLUGIN(FitsPlugin) is moved to the library, gwenview crashes on the first call to FitsPlugin() |
65 |
+ // when the vtable is looked up in the plugin registration. |
66 |
+ #include <../lib/imageformats/moc_fitsplugin.cpp> |
67 |
++#endif |
68 |
+ |
69 |
+ class StartHelper |
70 |
+ { |
71 |
+@@ -165,4 +167,6 @@ int main(int argc, char *argv[]) |
72 |
+ return app.exec(); |
73 |
+ } |
74 |
+ |
75 |
+-Q_IMPORT_PLUGIN(FitsPlugin) |
76 |
++#ifdef HAVE_FITS |
77 |
++ Q_IMPORT_PLUGIN(FitsPlugin) |
78 |
++#endif |
79 |
+diff --git a/config-gwenview.h.cmake b/config-gwenview.h.cmake |
80 |
+index 21e7ca98..80dc9cac 100644 |
81 |
+--- a/config-gwenview.h.cmake |
82 |
++++ b/config-gwenview.h.cmake |
83 |
+@@ -4,3 +4,4 @@ |
84 |
+ #cmakedefine KIPI_FOUND 1 |
85 |
+ #define GV_TEST_DATA_DIR "@CMAKE_CURRENT_SOURCE_DIR@/tests/data" |
86 |
+ #cmakedefine HAVE_X11 ${HAVE_X11} |
87 |
++#cmakedefine HAVE_FITS ${HAVE_FITS} |
88 |
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt |
89 |
+index e1893d71..2f5ce417 100644 |
90 |
+--- a/lib/CMakeLists.txt |
91 |
++++ b/lib/CMakeLists.txt |
92 |
+@@ -56,9 +56,14 @@ include_directories( |
93 |
+ ${EXIV2_INCLUDE_DIR} |
94 |
+ ${JPEG_INCLUDE_DIR} |
95 |
+ ${PNG_INCLUDE_DIRS} |
96 |
+- ${CFITSIO_INCLUDE_DIR} |
97 |
+ ) |
98 |
+ |
99 |
++if(HAVE_FITS) |
100 |
++ include_directories( |
101 |
++ ${CFITSIO_INCLUDE_DIR} |
102 |
++ ) |
103 |
++endif() |
104 |
++ |
105 |
+ # For config-gwenview.h |
106 |
+ include_directories( |
107 |
+ ${CMAKE_CURRENT_BINARY_DIR}/.. |
108 |
+@@ -124,11 +129,6 @@ set(gwenviewlib_SRCS |
109 |
+ imageformats/imageformats.cpp |
110 |
+ # imageformats/jpegplugin.cpp |
111 |
+ # imageformats/jpeghandler.cpp |
112 |
+- imageformats/fitsplugin.cpp |
113 |
+- imageformats/fitsplugin.h |
114 |
+- imageformats/fitshandler.cpp |
115 |
+- imageformats/fitsformat/bayer.c |
116 |
+- imageformats/fitsformat/fitsdata.cpp |
117 |
+ imagemetainfomodel.cpp |
118 |
+ imagescaler.cpp |
119 |
+ imageutils.cpp |
120 |
+@@ -175,6 +175,17 @@ set(gwenviewlib_SRCS |
121 |
+ ${GV_JPEG_DIR}/transupp.c |
122 |
+ ) |
123 |
+ |
124 |
++if(HAVE_FITS) |
125 |
++ set(gwenviewlib_SRCS |
126 |
++ ${gwenviewlib_SRCS} |
127 |
++ imageformats/fitsplugin.cpp |
128 |
++ imageformats/fitsplugin.h |
129 |
++ imageformats/fitshandler.cpp |
130 |
++ imageformats/fitsformat/bayer.c |
131 |
++ imageformats/fitsformat/fitsdata.cpp |
132 |
++ ) |
133 |
++endif() |
134 |
++ |
135 |
+ if (NOT GWENVIEW_SEMANTICINFO_BACKEND_NONE) |
136 |
+ set(gwenviewlib_SRCS |
137 |
+ ${gwenviewlib_SRCS} |
138 |
+@@ -241,8 +252,12 @@ target_link_libraries(gwenviewlib |
139 |
+ ${PNG_LIBRARIES} |
140 |
+ ${LCMS2_LIBRARIES} |
141 |
+ ${PHONON_LIBRARY} |
142 |
+- ${CFITSIO_LIBRARIES} |
143 |
+ ) |
144 |
++ |
145 |
++if(HAVE_FITS) |
146 |
++ target_link_libraries(gwenviewlib ${CFITSIO_LIBRARIES}) |
147 |
++endif() |
148 |
++ |
149 |
+ if (WIN32) |
150 |
+ target_link_libraries(gwenviewlib ${EXPAT_LIBRARIES}) |
151 |
+ endif() |
152 |
+diff --git a/lib/imagemetainfomodel.cpp b/lib/imagemetainfomodel.cpp |
153 |
+index e92e584c..c8e36ced 100644 |
154 |
+--- a/lib/imagemetainfomodel.cpp |
155 |
++++ b/lib/imagemetainfomodel.cpp |
156 |
+@@ -21,8 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
157 |
+ // Self |
158 |
+ #include "imagemetainfomodel.h" |
159 |
+ |
160 |
+-#include "imageformats/fitsformat/fitsdata.h" |
161 |
+- |
162 |
+ // Qt |
163 |
+ #include <QSize> |
164 |
+ #include <QDebug> |
165 |
+@@ -39,7 +37,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
166 |
+ #include <exiv2/iptc.hpp> |
167 |
+ |
168 |
+ // Local |
169 |
++#ifdef HAVE_FITS |
170 |
++#include "imageformats/fitsformat/fitsdata.h" |
171 |
+ #include "urlutils.h" |
172 |
++#endif |
173 |
+ |
174 |
+ namespace Gwenview |
175 |
+ { |
176 |
+@@ -331,6 +332,7 @@ void ImageMetaInfoModel::setUrl(const QUrl &url) |
177 |
+ d->setGroupEntryValue(GeneralGroup, "General.Size", sizeString); |
178 |
+ d->setGroupEntryValue(GeneralGroup, "General.Time", timeString); |
179 |
+ |
180 |
++#ifdef HAVE_FITS |
181 |
+ if (UrlUtils::urlIsFastLocalFile(url) && (url.fileName().endsWith(".fit", Qt::CaseInsensitive) || |
182 |
+ url.fileName().endsWith(".fits", Qt::CaseInsensitive))) { |
183 |
+ FITSData fitsLoader; |
184 |
+@@ -385,6 +387,7 @@ void ImageMetaInfoModel::setUrl(const QUrl &url) |
185 |
+ } |
186 |
+ } |
187 |
+ } |
188 |
++#endif |
189 |
+ } |
190 |
+ |
191 |
+ void ImageMetaInfoModel::setImageSize(const QSize& size) |
192 |
+-- |
193 |
+2.14.2 |
194 |
+ |
195 |
|
196 |
diff --git a/kde-apps/gwenview/gwenview-9999.ebuild b/kde-apps/gwenview/gwenview-9999.ebuild |
197 |
index ee69757158..50ae7beaa9 100644 |
198 |
--- a/kde-apps/gwenview/gwenview-9999.ebuild |
199 |
+++ b/kde-apps/gwenview/gwenview-9999.ebuild |
200 |
@@ -15,7 +15,7 @@ HOMEPAGE=" |
201 |
|
202 |
LICENSE="GPL-2+ handbook? ( FDL-1.2 )" |
203 |
KEYWORDS="" |
204 |
-IUSE="kipi raw semantic-desktop X" |
205 |
+IUSE="fits kipi raw semantic-desktop X" |
206 |
|
207 |
# requires running environment |
208 |
RESTRICT+=" test" |
209 |
@@ -48,6 +48,7 @@ COMMON_DEPEND=" |
210 |
media-libs/libpng:0= |
211 |
media-libs/phonon[qt5(+)] |
212 |
virtual/jpeg:0 |
213 |
+ fits? ( sci-libs/cfitsio ) |
214 |
kipi? ( $(add_kdeapps_dep libkipi '' '' '5=') ) |
215 |
raw? ( $(add_kdeapps_dep libkdcraw) ) |
216 |
semantic-desktop? ( |
217 |
@@ -68,8 +69,11 @@ RDEPEND="${COMMON_DEPEND} |
218 |
$(add_qt_dep qtimageformats) |
219 |
" |
220 |
|
221 |
+PATCHES=( "${FILESDIR}/${PN}-17.11.80-cfitsio.patch" ) |
222 |
+ |
223 |
src_configure() { |
224 |
local mycmakeargs=( |
225 |
+ $(cmake-utils_use_find_package fits CFitsio) |
226 |
$(cmake-utils_use_find_package kipi KF5Kipi) |
227 |
$(cmake-utils_use_find_package raw KF5KDcraw) |
228 |
$(cmake-utils_use_find_package X X11) |
229 |
|
230 |
diff --git a/kde-apps/gwenview/metadata.xml b/kde-apps/gwenview/metadata.xml |
231 |
index 69546da44c..5ac564950d 100644 |
232 |
--- a/kde-apps/gwenview/metadata.xml |
233 |
+++ b/kde-apps/gwenview/metadata.xml |
234 |
@@ -6,6 +6,7 @@ |
235 |
<name>Gentoo KDE Project</name> |
236 |
</maintainer> |
237 |
<use> |
238 |
+ <flag name="fits">Enable support for NASA's <pkg>sci-libs/cfitsio</pkg> library</flag> |
239 |
<flag name="kipi">Support for the KDE Image Plugin Interface</flag> |
240 |
</use> |
241 |
</pkgmetadata> |