Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: kde-apps/gwenview/, kde-apps/gwenview/files/
Date: Sun, 22 Oct 2017 15:00:19
Message-Id: 1508680721.ae4172895d1de98be7727abff3171cd7d226498f.asturm@gentoo
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>