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