3 %bcond_with tests # build tests
4 %bcond_without java # JNI interface
8 Summary: JPEG XL reference implementation
9 Summary(pl.UTF-8): Referencyjna implementacja JPEG XL
15 #Source0Download: https://github.com/libjxl/libjxl/releases
16 Source0: https://github.com/libjxl/libjxl/archive/v%{version}/%{name}-%{version}.tar.gz
17 # Source0-md5: 04a73be60211224e039d791a902a46de
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
28 BuildRequires: gmock-devel
29 BuildRequires: google-benchmark-devel
30 BuildRequires: gtest-devel
32 BuildRequires: highway-devel >= 0.15.0
33 %{?with_java:%buildrequires_jdk}
34 %{?with_java:%{?use_jdk:BuildRequires: %{use_jdk}-jre-base-X11}}
35 BuildRequires: lcms2-devel >= 2.10
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
42 BuildRequires: lodepng-devel
43 BuildRequires: pkgconfig
44 BuildRequires: python3-devel >= 1:3
45 BuildRequires: rpmbuild(macros) >= 1.742
46 # for gdk-pixbuf loader only (the rest uses lcms2 by default)
47 BuildRequires: skcms-devel
48 BuildRequires: zlib-devel
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %if "%{_lib}" != "lib"
52 %define libext %(lib="%{_lib}"; echo ${lib#lib})
53 %define pqext -%{libext}
59 JPEG XL reference implementation.
61 %description -l pl.UTF-8
62 Referencyjna implementacja JPEG XL.
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}
71 Tools to encode and decode JPEG XL files.
73 %description tools -l pl.UTF-8
74 Narzędzia do kodowania i dekodowania plików JPEG XL.
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}
81 Requires: highway-devel >= 0.15.0
82 Requires: lcms2-devel >= 2.10
83 Requires: libbrotli-devel
84 Requires: libstdc++-devel >= 6:7
87 Header files for JXL libraries.
89 %description devel -l pl.UTF-8
90 Pliki nagłówkowe bibliotek JXL.
93 Summary: Static JXL libraries
94 Summary(pl.UTF-8): Statyczne biblioteki JXL
95 Group: Development/Libraries
96 Requires: %{name}-devel = %{version}-%{release}
101 %description static -l pl.UTF-8
102 Statyczne biblioteki JXL.
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}
110 %description -n java-libjxl
111 JNI interface for JXL library.
113 %description -n java-libjxl -l pl.UTF-8
114 Interfejs JNI do biblioteki JXL.
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
120 Requires: %{name} = %{version}-%{release}
121 Requires: gdk-pixbuf2 >= 2.38
122 Requires: shared-mime-info
124 %description -n gdk-pixbuf2-loader-jxl
125 JPEG XL loader module for gdk-pixbuf2 library.
127 %description -n gdk-pixbuf2-loader-jxl -l pl.UTF-8
128 Moduł biblioteki gdk-pixbuf2 wczytujący pliki JPEG XL.
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
137 %description -n gimp-plugin-jxl
138 JPEG XL load/save plugin for GIMP.
140 %description -n gimp-plugin-jxl -l pl.UTF-8
141 Wtyczka wczytująca/zapisująca pliki JPEG XL dla GIMP-a.
148 export JAVA_HOME="%{java_home}"
152 %{cmake_on_off tests BUILD_TESTING} \
153 %{!?with_java:-DJPEGXL_ENABLE_JNI=OFF} \
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 \
160 -DJPEGXL_FORCE_SYSTEM_HWY=ON \
161 -DJPEGXL_INSTALL_JARDIR=%{_javadir}
166 rm -rf $RPM_BUILD_ROOT
168 %{__make} -C build install \
169 DESTDIR=$RPM_BUILD_ROOT
172 rm -rf $RPM_BUILD_ROOT
174 %post -p /sbin/ldconfig
175 %postun -p /sbin/ldconfig
177 %post -n gdk-pixbuf2-loader-jxl
179 %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || :
180 %update_mime_database
182 %postun -n gdk-pixbuf2-loader-jxl
183 %update_mime_database
184 if [ "$1" != "0" ]; then
186 [ ! -x %{_bindir}/gdk-pixbuf-query-loaders%{pqext} ] || \
187 %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || :
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.*.*.*
194 %attr(755,root,root) %ghost %{_libdir}/libjxl.so.0.8
195 %attr(755,root,root) %{_libdir}/libjxl_threads.so.*.*.*
196 %attr(755,root,root) %ghost %{_libdir}/libjxl_threads.so.0.8
199 %defattr(644,root,root,755)
200 %attr(755,root,root) %{_bindir}/benchmark_xl
201 %attr(755,root,root) %{_bindir}/cjxl
202 %attr(755,root,root) %{_bindir}/cjpeg_hdr
203 %attr(755,root,root) %{_bindir}/djxl
204 %attr(755,root,root) %{_bindir}/jxlinfo
205 %{_mandir}/man1/cjxl.1*
206 %{_mandir}/man1/djxl.1*
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
214 %{_pkgconfigdir}/libjxl.pc
215 %{_pkgconfigdir}/libjxl_threads.pc
218 %defattr(644,root,root,755)
220 %{_libdir}/libjxl_threads.a
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
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
235 %files -n gimp-plugin-jxl
236 %defattr(644,root,root,755)
237 %dir %{_libdir}/gimp/2.0/plug-ins/file-jxl
238 %attr(755,root,root) %{_libdir}/gimp/2.0/plug-ins/file-jxl/file-jxl