]> git.pld-linux.org Git - packages/digikam.git/blob - digikam.spec
- updated to 8.3.0, added qt6 bcond (untested)
[packages/digikam.git] / digikam.spec
1 #
2 # TODO: fix plugins location, can't find where it i defined in the code
3 #
4 # Conditional build:
5 %bcond_with     qt6             # Qt6/KF6 instead of Qt5/KF5
6 %bcond_with     qtwebkit        # use Qt5WebKit instead of Qt5WebEngine
7
8 %define         akonadi_ver     5.19.0
9 %define         qt5_ver         5.14.0
10 %define         qt6_ver         6.4.0
11 %define         kf_ver          5.95.0
12
13 %ifarch x32
14 # Qt5WebEngine not available
15 %define         with_qtwebkit   1
16 %endif
17 Summary:        A KDE frontend for gphoto2
18 Summary(pl.UTF-8):      Interfejs KDE do gphoto2
19 Name:           digikam
20 Version:        8.3.0
21 Release:        1
22 License:        GPL v2+
23 Group:          X11/Applications/Graphics
24 Source0:        https://download.kde.org/stable/digikam/%{version}/digiKam-%{version}-1.tar.xz
25 # Source0-md5:  587650b53ae995402183454458ab3774
26 URL:            https://www.digikam.org/
27 BuildRequires:  ImageMagick-devel >= 6.7.0
28 BuildRequires:  ImageMagick-c++-devel >= 6.7.0
29 BuildRequires:  OpenGL-devel
30 BuildRequires:  OpenGL-GLU-devel
31 BuildRequires:  OpenGL-GLX-devel
32 BuildRequires:  bison >= 2.5.0
33 BuildRequires:  boost-devel >= 1.43.0
34 BuildRequires:  cmake >= 3.16
35 BuildRequires:  doxygen >= 1.8.0
36 BuildRequires:  eigen3 >= 3.0.0
37 BuildRequires:  exiv2-devel >= 0.27.1
38 BuildRequires:  expat-devel >= 1:2.0.0
39 BuildRequires:  ffmpeg-devel
40 BuildRequires:  flex >= 2.5.0
41 BuildRequires:  gettext-tools
42 BuildRequires:  jasper-devel >= 1.7.0
43 BuildRequires:  lcms2-devel >= 2.0
44 BuildRequires:  lensfun-devel >= 0.2.6
45 BuildRequires:  libgphoto2-devel >= 2.5.0
46 BuildRequires:  libgomp-devel
47 BuildRequires:  libheif-devel >= 1.6.0
48 BuildRequires:  libjpeg-devel >= 8
49 BuildRequires:  liblqr-devel >= 0.4.1
50 # internal libpgf is used (core/libs/pgfutils/libpgf)
51 #BuildRequires: libpgf-devel
52 BuildRequires:  libpng-devel >= 2:1.2.7
53 BuildRequires:  libstdc++-devel >= 6:7
54 BuildRequires:  libtiff-devel >= 3.8.2
55 BuildRequires:  libx265-devel >= 2.2
56 BuildRequires:  libxml2-devel >= 1:2.7.0
57 BuildRequires:  libxslt-devel >= 1.1.0
58 BuildRequires:  opencv-devel >= 3.3.0
59 BuildRequires:  pkgconfig >= 1:0.9.0
60 BuildRequires:  rpmbuild(macros) >= 1.606
61 BuildRequires:  sed >= 4.0
62 BuildRequires:  xorg-lib-libX11-devel
63 BuildRequires:  zlib-devel
64 Requires:       exiv2 >= 0.27.0
65 Requires:       jasper-libs >= 1.7.0
66 Requires:       lcms2 >= 2.0
67 Requires:       lensfun >= 0.2.6
68 Requires:       libgphoto2 >= 2.5.0
69 Requires:       libheif >= 1.6.0
70 Requires:       liblqr >= 0.4.1
71 Requires:       libpng >= 2:1.2.7
72 Requires:       libtiff >= 3.8.2
73 Requires:       libx265 >= 2.2
74 Requires:       libxml2 >= 1:2.7.0
75 Requires:       libxslt >= 1.1.0
76 Requires:       opencv >= 3.3.0
77 %if %{with qt6}
78 BuildRequires:  Qt6Concurrent-devel >= %{qt6_ver}
79 BuildRequires:  Qt6Core-devel >= %{qt6_ver}
80 BuildRequires:  Qt6DBus-devel >= %{qt6_ver}
81 BuildRequires:  Qt6Gui-devel >= %{qt6_ver}
82 BuildRequires:  Qt6Multimedia-devel >= 6.5.0
83 BuildRequires:  Qt6MultimediaWidgets-devel >= 6.5.0
84 BuildRequires:  Qt6Network-devel >= %{qt6_ver}
85 BuildRequires:  Qt6NetworkAuth-devel >= %{qt6_ver}
86 BuildRequires:  Qt6OpenGL-devel >= %{qt6_ver}
87 BuildRequires:  Qt6PrintSupport-devel >= %{qt6_ver}
88 BuildRequires:  Qt6Qml-devel >= %{qt6_ver}
89 BuildRequires:  Qt6Sql-devel >= %{qt6_ver}
90 BuildRequires:  Qt6Svg-devel >= %{qt6_ver}
91 BuildRequires:  Qt6WebEngine-devel >= %{qt6_ver}
92 BuildRequires:  Qt6Widgets-devel >= %{qt6_ver}
93 BuildRequires:  Qt6X11Extras-devel >= %{qt6_ver}
94 BuildRequires:  Qt6Xml-devel >= %{qt6_ver}
95 BuildRequires:  ka6-akonadi-devel >= %{akonadi_ver}
96 BuildRequires:  ka6-akonadi-contacts-devel >= %{akonadi_ver}
97 BuildRequires:  ka6-libksane-devel >= 21.12.0
98 BuildRequires:  ka6-marble-devel >= 0.22.0
99 BuildRequires:  kf6-extra-cmake-modules >= 5.240.0
100 BuildRequires:  kf6-kcalendarcore-devel >= %{kf_ver}
101 BuildRequires:  kf6-kconfig-devel >= %{kf_ver}
102 BuildRequires:  kf6-kcontacts-devel >= %{akonadi_ver}
103 BuildRequires:  kf6-kcoreaddons-devel >= %{kf_ver}
104 BuildRequires:  kf6-kdoctools >= 5.38.0
105 BuildRequires:  kf6-kdoctools-devel >= %{kf_ver}
106 BuildRequires:  kf6-kfilemetadata-devel >= %{kf_ver}
107 BuildRequires:  kf6-ki18n-devel >= %{kf_ver}
108 BuildRequires:  kf6-kiconthemes-devel >= %{kf_ver}
109 BuildRequires:  kf6-kio-devel >= %{kf_ver}
110 BuildRequires:  kf6-knotifications-devel >= %{kf_ver}
111 BuildRequires:  kf6-knotifyconfig-devel >= %{kf_ver}
112 BuildRequires:  kf6-kservice-devel >= %{kf_ver}
113 BuildRequires:  kf6-kwindowsystem-devel >= %{kf_ver}
114 BuildRequires:  kf6-kxmlgui-devel >= %{kf_ver}
115 BuildRequires:  kf6-solid-devel >= %{kf_ver}
116 BuildRequires:  kf6-sonnet-devel >= %{kf_ver}
117 BuildRequires:  kf6-threadweaver-devel >= %{kf_ver}
118 Requires:       Qt6Concurrent >= %{qt6_ver}
119 Requires:       Qt6Core >= %{qt6_ver}
120 Requires:       Qt6DBus >= %{qt6_ver}
121 Requires:       Qt6Gui >= %{qt6_ver}
122 Requires:       Qt6Multimedia >= 6.5.0
123 Requires:       Qt6MultimediaWidgets >= 6.5.0
124 Requires:       Qt6Network >= %{qt6_ver}
125 Requires:       Qt6OpenGL >= %{qt6_ver}
126 Requires:       Qt6PrintSupport >= %{qt6_ver}
127 Requires:       Qt6Qml >= %{qt6_ver}
128 Requires:       Qt6Sql >= %{qt6_ver}
129 Requires:       Qt6Sql-sqldriver-mysql >= %{qt6_ver}
130 Requires:       Qt6Sql-sqldriver-sqlite3 >= %{qt6_ver}
131 Requires:       Qt6Svg >= %{qt6_ver}
132 Requires:       Qt6WebEngine >= %{qt6_ver}
133 Requires:       Qt6Widgets >= %{qt6_ver}
134 Requires:       Qt6X11Extras >= %{qt6_ver}
135 Requires:       Qt6Xml >= %{qt6_ver}
136 Requires:       ka6-akonadi-contacts >= %{akonadi_ver}
137 Requires:       ka6-libksane >= 21.12.0
138 Requires:       ka6-marble >= 0.22.0
139 Requires:       kf6-kcalendarcore >= %{kf_ver}
140 Requires:       kf6-kconfig >= %{kf_ver}
141 Requires:       kf6-kcontacts >= %{akonadi_ver}
142 Requires:       kf6-kcoreaddons >= %{kf_ver}
143 Requires:       kf6-kfilemetadata >= %{kf_ver}
144 Requires:       kf6-ki18n >= %{kf_ver}
145 Requires:       kf6-kiconthemes >= %{kf_ver}
146 Requires:       kf6-kio >= %{kf_ver}
147 Requires:       kf6-knotifications >= %{kf_ver}
148 Requires:       kf6-knotifyconfig >= %{kf_ver}
149 Requires:       kf6-kservice >= %{kf_ver}
150 Requires:       kf6-kwindowsystem >= %{kf_ver}
151 Requires:       kf6-kxmlgui >= %{kf_ver}
152 Requires:       kf6-solid >= %{kf_ver}
153 Requires:       kf6-threadweaver >= %{kf_ver}
154 %else
155 BuildRequires:  Qt5Concurrent-devel >= %{qt5_ver}
156 BuildRequires:  Qt5Core-devel >= %{qt5_ver}
157 BuildRequires:  Qt5DBus-devel >= %{qt5_ver}
158 BuildRequires:  Qt5Gui-devel >= %{qt5_ver}
159 BuildRequires:  Qt5Multimedia-devel >= %{qt5_ver}
160 BuildRequires:  Qt5MultimediaWidgets-devel >= %{qt5_ver}
161 BuildRequires:  Qt5Network-devel >= %{qt5_ver}
162 BuildRequires:  Qt5NetworkAuth-devel >= %{qt5_ver}
163 BuildRequires:  Qt5OpenGL-devel >= %{qt5_ver}
164 BuildRequires:  Qt5PrintSupport-devel >= %{qt5_ver}
165 BuildRequires:  Qt5Sql-devel >= %{qt5_ver}
166 BuildRequires:  Qt5Svg-devel >= %{qt5_ver}
167 %{!?with_qtwebkit:BuildRequires:        Qt5WebEngine-devel >= %{qt5_ver}}
168 %{?with_qtwebkit:BuildRequires: Qt5WebKit-devel >= %{qt5_ver}}
169 BuildRequires:  Qt5Widgets-devel >= %{qt5_ver}
170 BuildRequires:  Qt5X11Extras-devel >= %{qt5_ver}
171 BuildRequires:  Qt5Xml-devel >= %{qt5_ver}
172 BuildRequires:  Qt5XmlPatterns-devel >= %{qt5_ver}
173 BuildRequires:  libva-devel
174 BuildRequires:  libva-x11-devel
175 BuildRequires:  libvdpau-devel
176 BuildRequires:  ka5-akonadi-devel >= %{akonadi_ver}
177 BuildRequires:  ka5-akonadi-contacts-devel >= %{akonadi_ver}
178 BuildRequires:  ka5-libksane-devel >= 21.12.0
179 BuildRequires:  ka5-marble-devel >= 0.22.0
180 BuildRequires:  kf5-extra-cmake-modules >= 5.55.0
181 BuildRequires:  kf5-kcalendarcore-devel >= %{kf_ver}
182 BuildRequires:  kf5-kconfig-devel >= %{kf_ver}
183 BuildRequires:  kf5-kcontacts-devel >= %{akonadi_ver}
184 BuildRequires:  kf5-kcoreaddons-devel >= %{kf_ver}
185 BuildRequires:  kf5-kdoctools >= 5.38.0
186 BuildRequires:  kf5-kdoctools-devel >= %{kf_ver}
187 BuildRequires:  kf5-kfilemetadata-devel >= %{kf_ver}
188 BuildRequires:  kf5-ki18n-devel >= %{kf_ver}
189 BuildRequires:  kf5-kiconthemes-devel >= %{kf_ver}
190 BuildRequires:  kf5-kio-devel >= %{kf_ver}
191 BuildRequires:  kf5-knotifications-devel >= %{kf_ver}
192 BuildRequires:  kf5-knotifyconfig-devel >= %{kf_ver}
193 BuildRequires:  kf5-kservice-devel >= %{kf_ver}
194 BuildRequires:  kf5-kwindowsystem-devel >= %{kf_ver}
195 BuildRequires:  kf5-kxmlgui-devel >= %{kf_ver}
196 BuildRequires:  kf5-solid-devel >= %{kf_ver}
197 BuildRequires:  kf5-sonnet-devel >= %{kf_ver}
198 BuildRequires:  kf5-threadweaver-devel >= %{kf_ver}
199 Requires:       Qt5Concurrent >= %{qt5_ver}
200 Requires:       Qt5Core >= %{qt5_ver}
201 Requires:       Qt5DBus >= %{qt5_ver}
202 Requires:       Qt5Gui >= %{qt5_ver}
203 Requires:       Qt5Multimedia >= %{qt5_ver}
204 Requires:       Qt5MultimediaWidgets >= %{qt5_ver}
205 Requires:       Qt5Network >= %{qt5_ver}
206 Requires:       Qt5OpenGL >= %{qt5_ver}
207 Requires:       Qt5PrintSupport >= %{qt5_ver}
208 Requires:       Qt5Sql >= %{qt5_ver}
209 Requires:       Qt5Sql-sqldriver-mysql >= %{qt5_ver}
210 Requires:       Qt5Sql-sqldriver-sqlite3 >= %{qt5_ver}
211 Requires:       Qt5Svg >= %{qt5_ver}
212 %{!?with_qtwebkit:Requires:     Qt5WebEngine >= %{qt5_ver}}
213 %{?with_qtwebkit:Requires:      Qt5WebKit >= %{qt5_ver}}
214 Requires:       Qt5Widgets >= %{qt5_ver}
215 Requires:       Qt5X11Extras >= %{qt5_ver}
216 Requires:       Qt5Xml >= %{qt5_ver}
217 Requires:       Qt5XmlPatterns >= %{qt5_ver}
218 Requires:       ka5-akonadi-contacts >= %{akonadi_ver}
219 Requires:       ka5-libksane >= 21.12.0
220 Requires:       ka5-marble >= 0.22.0
221 Requires:       kf5-kcalendarcore >= %{kf_ver}
222 Requires:       kf5-kconfig >= %{kf_ver}
223 Requires:       kf5-kcontacts >= %{akonadi_ver}
224 Requires:       kf5-kcoreaddons >= %{kf_ver}
225 Requires:       kf5-kfilemetadata >= %{kf_ver}
226 Requires:       kf5-ki18n >= %{kf_ver}
227 Requires:       kf5-kiconthemes >= %{kf_ver}
228 Requires:       kf5-kio >= %{kf_ver}
229 Requires:       kf5-knotifications >= %{kf_ver}
230 Requires:       kf5-knotifyconfig >= %{kf_ver}
231 Requires:       kf5-kservice >= %{kf_ver}
232 Requires:       kf5-kwindowsystem >= %{kf_ver}
233 Requires:       kf5-kxmlgui >= %{kf_ver}
234 Requires:       kf5-solid >= %{kf_ver}
235 Requires:       kf5-threadweaver >= %{kf_ver}
236 %endif
237 Obsoletes:      digikamimageplugins < 0.9.2
238 Obsoletes:      kipi-plugins < 1.10
239 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
240
241 %description
242 Designed to be a standalone application to preview and download images
243 from a digital camera on a Linux machine.
244
245 %description -l pl.UTF-8
246 Samodzielna aplikacja do oglądania i ściągania obrazków z aparatów
247 cyfrowych pod Linuksem.
248
249 %package devel
250 Summary:        A KDE frontend for gphoto2 - header files
251 Summary(pl.UTF-8):      Interfejs KDE do gphoto2 - pliki nagłówkowe
252 Group:          Development/Libraries
253 Requires:       %{name} = %{version}-%{release}
254 %if %{with qt6}
255 Requires:       Qt6Core-devel >= %{qt6_ver}
256 Requires:       Qt6Gui-devel >= %{qt6_ver}
257 Requires:       Qt6Sql-devel >= %{qt6_ver}
258 Requires:       Qt6Widgets-devel >= %{qt6_ver}
259 %else
260 Requires:       Qt5Core-devel >= %{qt5_ver}
261 Requires:       Qt5Gui-devel >= %{qt5_ver}
262 Requires:       Qt5Sql-devel >= %{qt5_ver}
263 Requires:       Qt5Widgets-devel >= %{qt5_ver}
264 %endif
265 Requires:       libstdc++-devel >= 6:7
266
267 %description devel
268 A KDE frontend for gphoto2 - header files.
269
270 %description devel -l pl.UTF-8
271 Interfejs KDE do gphoto2 - pliki nagłówkowe.
272
273 %prep
274 %setup -q
275
276 %build
277 %cmake -B build \
278         -DDIGIKAMSC_COMPILE_KIPIPLUGINS=ON \
279         -DENABLE_AKONADICONTACTSUPPORT:BOOL=ON \
280         -DENABLE_APPSTYLES:BOOL=ON \
281         -DENABLE_KFILEMETADATASUPPORT:BOOL=ON \
282         -DENABLE_MEDIAPLAYER:BOOL=ON \
283         -DENABLE_MYSQLSUPPORT:BOOL=ON \
284         -DENABLE_INTERNALMYSQL:BOOL=ON \
285         -DENABLE_OPENCV3:BOOL=ON \
286         -DBUILD_TESTING:BOOL=OFF \
287         %{?with_qt6:-DBUILD_WITH_QT6:BOOL=ON} \
288         %{?with_qtwebkit:-DENABLE_QWEBENGINE:BOOL=OFF}
289
290 %{__make} -C build
291
292 %install
293 rm -rf $RPM_BUILD_ROOT
294
295 %{__make} -C build install \
296         DESTDIR=$RPM_BUILD_ROOT
297
298 %find_lang %{name}
299
300 %clean
301 rm -rf $RPM_BUILD_ROOT
302
303 %post   -p /sbin/ldconfig
304 %postun -p /sbin/ldconfig
305
306 %files -f %{name}.lang
307 %defattr(644,root,root,755)
308 %doc AUTHORS CODE_OF_CONDUCT.md ChangeLog NEWS README.md
309 %attr(755,root,root) %{_bindir}/cleanup_digikamdb
310 %attr(755,root,root) %{_bindir}/digikam
311 %attr(755,root,root) %{_bindir}/digitaglinktree
312 %attr(755,root,root) %{_bindir}/showfoto
313 %attr(755,root,root) %{_libdir}/libdigikamdatabase.so.*.*.*
314 %attr(755,root,root) %{_libdir}/libdigikamgui.so.*.*
315 %attr(755,root,root) %{_libdir}/libdigikamcore.so.*.*.*
316 %dir %{_libdir}/plugins
317 %dir %{_libdir}/plugins/digikam
318 %dir %{_libdir}/plugins/digikam/bqm
319 %attr(755,root,root) %{_libdir}/plugins/digikam/bqm/Bqm_*_Plugin.so
320 %dir %{_libdir}/plugins/digikam/dimg
321 %attr(755,root,root) %{_libdir}/plugins/digikam/dimg/DImg_*_Plugin.so
322 %dir %{_libdir}/plugins/digikam/editor
323 %attr(755,root,root) %{_libdir}/plugins/digikam/editor/Editor_*_Plugin.so
324 %dir %{_libdir}/plugins/digikam/generic
325 %attr(755,root,root) %{_libdir}/plugins/digikam/generic/Generic_*_Plugin.so
326 %dir %{_libdir}/plugins/digikam/marble
327 %attr(755,root,root) %{_libdir}/plugins/digikam/marble/*FloatItem.so
328 %attr(755,root,root) %{_libdir}/plugins/digikam/marble/*Plugin.so
329 %attr(755,root,root) %{_libdir}/plugins/digikam/marble/MeasureTool.so
330 %attr(755,root,root) %{_libdir}/plugins/digikam/marble/OverviewMap.so
331 %dir %{_libdir}/plugins/digikam/rawimport
332 %attr(755,root,root) %{_libdir}/plugins/digikam/rawimport/RawImport_*_Plugin.so
333 %{_datadir}/%{name}
334 %{_datadir}/knotifications5/digikam.notifyrc
335 %{_datadir}/kxmlgui5/digikam
336 %{_datadir}/kxmlgui5/showfoto
337 %{_datadir}/metainfo/org.kde.digikam.appdata.xml
338 %{_datadir}/metainfo/org.kde.showfoto.appdata.xml
339 %{_datadir}/showfoto
340 %{_datadir}/solid/actions/digikam-opencamera.desktop
341 %{_desktopdir}/org.kde.digikam.desktop
342 %{_desktopdir}/org.kde.showfoto.desktop
343 %{_iconsdir}/hicolor/32x32/actions/albumfolder-*.png
344 %{_iconsdir}/hicolor/32x32/actions/overexposure.png
345 %{_iconsdir}/hicolor/32x32/actions/tag.png
346 %{_iconsdir}/hicolor/32x32/actions/tag-*.png
347 %{_iconsdir}/hicolor/32x32/actions/underexposure.png
348 %{_iconsdir}/hicolor/*x*/apps/avplayer.png
349 %{_iconsdir}/hicolor/*x*/apps/digikam.png
350 %{_iconsdir}/hicolor/*x*/apps/dk-*.png
351 %{_iconsdir}/hicolor/*x*/apps/expoblending.png
352 %{_iconsdir}/hicolor/*x*/apps/panorama.png
353 %{_iconsdir}/hicolor/*x*/apps/showfoto.png
354 %{_iconsdir}/hicolor/scalable/apps/avplayer.svgz
355 %{_iconsdir}/hicolor/scalable/apps/digikam.svgz
356 %{_iconsdir}/hicolor/scalable/apps/dk-*.svgz
357 %{_iconsdir}/hicolor/scalable/apps/panorama.svgz
358 %{_iconsdir}/hicolor/scalable/apps/showfoto.svgz
359 %{_mandir}/man1/digitaglinktree.1*
360 %{_mandir}/man1/cleanup_digikamdb.1*
361
362 %files devel
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/libdigikamcore.so
365 %attr(755,root,root) %{_libdir}/libdigikamdatabase.so
366 %attr(755,root,root) %{_libdir}/libdigikamgui.so
367 %{_includedir}/digikam
368 %{_libdir}/cmake/DigikamCore
369 %{_libdir}/cmake/DigikamDatabase
370 %{_libdir}/cmake/DigikamGui
371 %{_libdir}/cmake/DigikamPlugin
This page took 0.06826 seconds and 4 git commands to generate.