]> git.pld-linux.org Git - packages/libjxl.git/blob - libjxl.spec
BR: *-jre-base-X11 for java
[packages/libjxl.git] / libjxl.spec
1 #
2 # Conditional build:
3 %bcond_with     tests   # build tests
4 %bcond_without  java    # JNI interface
5
6 %{?use_default_jdk}
7
8 Summary:        JPEG XL reference implementation
9 Summary(pl.UTF-8):      Referencyjna implementacja JPEG XL
10 Name:           libjxl
11 Version:        0.8.1
12 Release:        1
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
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
27 %if %{with tests}
28 BuildRequires:  gmock-devel
29 BuildRequires:  google-benchmark-devel
30 BuildRequires:  gtest-devel
31 %endif
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)
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}
81 Requires:       highway-devel >= 0.15.0
82 Requires:       lcms2-devel >= 2.10
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
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
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
148 export JAVA_HOME="%{java_home}"
149 install -d build
150 cd build
151 %cmake .. \
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}
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.*.*.*
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
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
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*
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
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
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)
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
This page took 0.106346 seconds and 3 git commands to generate.