]>
Commit | Line | Data |
---|---|---|
c6b04e9a JP |
1 | # |
2 | # Conditional build: | |
3d921d49 JB |
3 | %bcond_with tests # build tests |
4 | %bcond_without java # JNI interface | |
c6b04e9a | 5 | |
667ba644 JP |
6 | %{?use_default_jdk} |
7 | ||
fe1629df JB |
8 | Summary: JPEG XL reference implementation |
9 | Summary(pl.UTF-8): Referencyjna implementacja JPEG XL | |
10 | Name: libjxl | |
3d921d49 JB |
11 | Version: 0.8.1 |
12 | Release: 1 | |
fe1629df JB |
13 | License: BSD |
14 | Group: Libraries | |
15 | #Source0Download: https://github.com/libjxl/libjxl/releases | |
16 | Source0: https://github.com/libjxl/libjxl/archive/v%{version}/%{name}-%{version}.tar.gz | |
3d921d49 | 17 | # Source0-md5: 04a73be60211224e039d791a902a46de |
fe1629df JB |
18 | Patch0: %{name}-system-libs.patch |
19 | URL: https://github.com/libjxl/libjxl | |
20 | BuildRequires: OpenEXR-devel | |
21 | BuildRequires: asciidoc | |
22 | BuildRequires: cmake >= 3.10 | |
23 | BuildRequires: doxygen | |
24 | BuildRequires: gdk-pixbuf2-devel >= 2.38 | |
25 | BuildRequires: giflib-devel >= 5 | |
26 | BuildRequires: gimp-devel >= 1:2.10 | |
c6b04e9a | 27 | %if %{with tests} |
fe1629df | 28 | BuildRequires: gmock-devel |
9c964b9d | 29 | BuildRequires: google-benchmark-devel |
fe1629df | 30 | BuildRequires: gtest-devel |
c6b04e9a | 31 | %endif |
00662d45 | 32 | BuildRequires: highway-devel >= 0.15.0 |
667ba644 | 33 | %{?with_java:%buildrequires_jdk} |
c16b2e76 | 34 | %{?with_java:%{?use_jdk:BuildRequires: %{use_jdk}-jre-base-X11}} |
00662d45 | 35 | BuildRequires: lcms2-devel >= 2.10 |
fe1629df JB |
36 | BuildRequires: libavif-devel |
37 | BuildRequires: libbrotli-devel | |
38 | BuildRequires: libjpeg-devel | |
39 | BuildRequires: libpng-devel | |
40 | BuildRequires: libwebp-devel | |
41 | BuildRequires: libstdc++-devel >= 6:7 | |
53ed2867 | 42 | BuildRequires: lodepng-devel |
fe1629df JB |
43 | BuildRequires: pkgconfig |
44 | BuildRequires: python3-devel >= 1:3 | |
c6b04e9a | 45 | BuildRequires: rpmbuild(macros) >= 1.742 |
00662d45 JB |
46 | # for gdk-pixbuf loader only (the rest uses lcms2 by default) |
47 | BuildRequires: skcms-devel | |
fe1629df JB |
48 | BuildRequires: zlib-devel |
49 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
50 | ||
51 | %if "%{_lib}" != "lib" | |
52 | %define libext %(lib="%{_lib}"; echo ${lib#lib}) | |
53 | %define pqext -%{libext} | |
54 | %else | |
55 | %define pqext %{nil} | |
56 | %endif | |
57 | ||
58 | %description | |
59 | JPEG XL reference implementation. | |
60 | ||
61 | %description -l pl.UTF-8 | |
62 | Referencyjna implementacja JPEG XL. | |
63 | ||
64 | %package tools | |
65 | Summary: Tools to encode and decode JPEG XL files | |
66 | Summary(pl.UTF-8): Narzędzia do kodowania i dekodowania plików JPEG XL | |
67 | Group: Applications/Graphics | |
68 | Requires: %{name} = %{version}-%{release} | |
69 | ||
70 | %description tools | |
71 | Tools to encode and decode JPEG XL files. | |
72 | ||
73 | %description tools -l pl.UTF-8 | |
74 | Narzędzia do kodowania i dekodowania plików JPEG XL. | |
75 | ||
76 | %package devel | |
77 | Summary: Header files for JXL libraries | |
78 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek JXL | |
79 | Group: Development/Libraries | |
80 | Requires: %{name} = %{version}-%{release} | |
00662d45 JB |
81 | Requires: highway-devel >= 0.15.0 |
82 | Requires: lcms2-devel >= 2.10 | |
fe1629df JB |
83 | Requires: libbrotli-devel |
84 | Requires: libstdc++-devel >= 6:7 | |
85 | ||
86 | %description devel | |
87 | Header files for JXL libraries. | |
88 | ||
89 | %description devel -l pl.UTF-8 | |
90 | Pliki nagłówkowe bibliotek JXL. | |
91 | ||
92 | %package static | |
93 | Summary: Static JXL libraries | |
94 | Summary(pl.UTF-8): Statyczne biblioteki JXL | |
95 | Group: Development/Libraries | |
96 | Requires: %{name}-devel = %{version}-%{release} | |
97 | ||
98 | %description static | |
99 | Static JXL libraries. | |
100 | ||
101 | %description static -l pl.UTF-8 | |
102 | Statyczne biblioteki JXL. | |
103 | ||
3d921d49 JB |
104 | %package -n java-libjxl |
105 | Summary: JNI interface for JXL library | |
106 | Summary(pl.UTF-8): Interfejs JNI do biblioteki JXL | |
107 | Group: Libraries/Java | |
108 | Requires: %{name} = %{version}-%{release} | |
109 | ||
110 | %description -n java-libjxl | |
111 | JNI interface for JXL library. | |
112 | ||
113 | %description -n java-libjxl -l pl.UTF-8 | |
114 | Interfejs JNI do biblioteki JXL. | |
115 | ||
fe1629df JB |
116 | %package -n gdk-pixbuf2-loader-jxl |
117 | Summary: JPEG XL loader module for gdk-pixbuf2 library | |
118 | Summary(pl.UTF-8): Moduł biblioteki gdk-pixbuf2 wczytujący pliki JPEG XL | |
119 | Group: Libraries | |
120 | Requires: %{name} = %{version}-%{release} | |
121 | Requires: gdk-pixbuf2 >= 2.38 | |
122 | Requires: shared-mime-info | |
123 | ||
124 | %description -n gdk-pixbuf2-loader-jxl | |
125 | JPEG XL loader module for gdk-pixbuf2 library. | |
126 | ||
127 | %description -n gdk-pixbuf2-loader-jxl -l pl.UTF-8 | |
128 | Moduł biblioteki gdk-pixbuf2 wczytujący pliki JPEG XL. | |
129 | ||
130 | %package -n gimp-plugin-jxl | |
131 | Summary: JPEG XL load/save plugin for GIMP | |
132 | Summary(pl.UTF-8): Wtyczka wczytująca/zapisująca pliki JPEG XL dla GIMP-a | |
133 | Group: Applications/Graphics | |
134 | Requires: %{name} = %{version}-%{release} | |
135 | Requires: gimp >= 1:2.10 | |
136 | ||
137 | %description -n gimp-plugin-jxl | |
138 | JPEG XL load/save plugin for GIMP. | |
139 | ||
140 | %description -n gimp-plugin-jxl -l pl.UTF-8 | |
141 | Wtyczka wczytująca/zapisująca pliki JPEG XL dla GIMP-a. | |
142 | ||
143 | %prep | |
144 | %setup -q | |
145 | %patch0 -p1 | |
146 | ||
147 | %build | |
667ba644 | 148 | export JAVA_HOME="%{java_home}" |
fe1629df JB |
149 | install -d build |
150 | cd build | |
151 | %cmake .. \ | |
c6b04e9a | 152 | %{cmake_on_off tests BUILD_TESTING} \ |
3d921d49 | 153 | %{!?with_java:-DJPEGXL_ENABLE_JNI=OFF} \ |
fe1629df JB |
154 | -DJPEGXL_ENABLE_PLUGINS=ON \ |
155 | -DJPEGXL_ENABLE_SJPEG=OFF \ | |
156 | -DJPEGXL_ENABLE_SKCMS=OFF \ | |
157 | -DJPEGXL_ENABLE_TCMALLOC=OFF \ | |
158 | -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ | |
159 | -DJPEGXL_FORCE_SYSTEM_GTEST=ON \ | |
3d921d49 JB |
160 | -DJPEGXL_FORCE_SYSTEM_HWY=ON \ |
161 | -DJPEGXL_INSTALL_JARDIR=%{_javadir} | |
fe1629df JB |
162 | |
163 | %{__make} | |
164 | ||
165 | %install | |
166 | rm -rf $RPM_BUILD_ROOT | |
167 | ||
168 | %{__make} -C build install \ | |
169 | DESTDIR=$RPM_BUILD_ROOT | |
170 | ||
171 | %clean | |
172 | rm -rf $RPM_BUILD_ROOT | |
173 | ||
174 | %post -p /sbin/ldconfig | |
175 | %postun -p /sbin/ldconfig | |
176 | ||
177 | %post -n gdk-pixbuf2-loader-jxl | |
178 | umask 022 | |
179 | %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || : | |
180 | %update_mime_database | |
181 | ||
182 | %postun -n gdk-pixbuf2-loader-jxl | |
183 | %update_mime_database | |
184 | if [ "$1" != "0" ]; then | |
185 | umask 022 | |
186 | [ ! -x %{_bindir}/gdk-pixbuf-query-loaders%{pqext} ] || \ | |
187 | %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || : | |
188 | fi | |
189 | ||
190 | %files | |
191 | %defattr(644,root,root,755) | |
192 | %doc AUTHORS CHANGELOG.md CONTRIBUTORS LICENSE PATENTS README.md SECURITY.md doc/xl_overview.md | |
193 | %attr(755,root,root) %{_libdir}/libjxl.so.*.*.* | |
3d921d49 | 194 | %attr(755,root,root) %ghost %{_libdir}/libjxl.so.0.8 |
fe1629df | 195 | %attr(755,root,root) %{_libdir}/libjxl_threads.so.*.*.* |
3d921d49 | 196 | %attr(755,root,root) %ghost %{_libdir}/libjxl_threads.so.0.8 |
fe1629df JB |
197 | |
198 | %files tools | |
199 | %defattr(644,root,root,755) | |
200 | %attr(755,root,root) %{_bindir}/benchmark_xl | |
201 | %attr(755,root,root) %{_bindir}/cjxl | |
3d921d49 | 202 | %attr(755,root,root) %{_bindir}/cjpeg_hdr |
fe1629df | 203 | %attr(755,root,root) %{_bindir}/djxl |
3d921d49 | 204 | %attr(755,root,root) %{_bindir}/jxlinfo |
fe1629df JB |
205 | %{_mandir}/man1/cjxl.1* |
206 | %{_mandir}/man1/djxl.1* | |
207 | ||
208 | %files devel | |
209 | %defattr(644,root,root,755) | |
210 | %attr(755,root,root) %{_libdir}/libjxl.so | |
211 | %attr(755,root,root) %{_libdir}/libjxl_threads.so | |
212 | %{_libdir}/libjxl_dec.a | |
213 | %{_includedir}/jxl | |
214 | %{_pkgconfigdir}/libjxl.pc | |
215 | %{_pkgconfigdir}/libjxl_threads.pc | |
216 | ||
217 | %files static | |
218 | %defattr(644,root,root,755) | |
219 | %{_libdir}/libjxl.a | |
220 | %{_libdir}/libjxl_threads.a | |
221 | ||
3d921d49 JB |
222 | %if %{with java} |
223 | %files -n java-libjxl | |
224 | %defattr(644,root,root,755) | |
225 | %attr(755,root,root) %{_libdir}/libjxl_jni.so | |
226 | %{_javadir}/org.jpeg.jpegxl.jar | |
227 | %endif | |
228 | ||
fe1629df JB |
229 | %files -n gdk-pixbuf2-loader-jxl |
230 | %defattr(644,root,root,755) | |
231 | %attr(755,root,root) %{_libdir}/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.so | |
232 | %{_datadir}/mime/packages/image-jxl.xml | |
233 | %{_datadir}/thumbnailers/jxl.thumbnailer | |
234 | ||
235 | %files -n gimp-plugin-jxl | |
236 | %defattr(644,root,root,755) | |
91d63043 | 237 | %dir %{_libdir}/gimp/2.0/plug-ins/file-jxl |
fe1629df | 238 | %attr(755,root,root) %{_libdir}/gimp/2.0/plug-ins/file-jxl/file-jxl |