%global gdk_pixbuf_moduledir $(pkgconf gdk-pixbuf-2.0 --variable=gdk_pixbuf_moduledir) %global name_dash jpeg-xl %global common_description %{expand: This package contains a reference implementation of JPEG XL (encoder and decoder). As previously announced, it is available under a royalty-free and open source license (Apache 2).} Name: jpegxl Version: 0.3.7 %global commit 9e9bce86164dc4d01c39eeeb3404d6aed85137b2 Release: 1%{?dist} Summary: JPEG XL image format reference implementation # Main library: ASL 2.0 # lodepng: zlib # sjpeg: ASL 2.0 # skcms: BSD License: ASL 2.0 and zlib and BSD URL: https://jpeg.org/jpegxl/ VCS: https://gitlab.com/wg1/jpeg-xl Source0: %vcs/-/archive/v%{version}/%{name_dash}-%{version}.tar.bz2 # git clone https://gitlab.com/wg1/jpeg-xl.git # cd jpeg-xl/ # git checkout v%%{version} # git submodule init ; git submodule update # rm -r third_party/brotli/ third_party/difftest_ng/ third_party/googletest/ # rm -r third_party/HEVCSoftware/ third_party/highway/ # rm -r third_party/IQA-optimization/ third_party/lcms/ # rm -r third_party/skcms/profiles/ third_party/vmaf/ third_party/testdata/ # tar -zcvf third_party-%%{version}.tar.gz third_party/ Source1: third_party-%{version}.tar.gz BuildRequires: asciidoc BuildRequires: cmake BuildRequires: doxygen BuildRequires: extra-cmake-modules BuildRequires: gcc BuildRequires: giflib-devel BuildRequires: gperftools-devel BuildRequires: ninja-build BuildRequires: pkgconfig(gimp-2.0) BuildRequires: (pkgconfig(glut) or pkgconfig(freeglut)) BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(libhwy) BuildRequires: pkgconfig(libbrotlicommon) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(OpenEXR) BuildRequires: pkgconfig(Qt5) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(zlib) # Header-only library to be directly included in the project's source tree Provides: bundled(lodepng) = 0-0.1.20210522git48e5364 # No official release Provides: bundled(sjpeg) = 0-0.1.20210522git868ab55 # Build system is Bazel, which is not packaged by Fedora Provides: bundled(skcms) = 0-0.1.20210522git6437475 %description %common_description %package utils Summary: JPEG XL image format reference implementation Recommends: jxl-pixbuf-loader = %{version}-%{release} Recommends: gimp-jxl-plugin = %{version}-%{release} %description utils %{common_description} %package doc Summary: Documentation for JPEG-XL BuildArch: noarch %description doc %{common_description} Documentation for JPEG-XL. %package libs Summary: Library files for JPEG-XL Requires: shared-mime-info Recommends: jxl-pixbuf-loader = %{version}-%{release} Recommends: gimp-jxl-plugin = %{version}-%{release} %description libs %{common_description} Library files for JPEG-XL. %package devel Summary: Development files for JPEG-XL Requires: jpegxl-libs%{?_isa} = %{version}-%{release} %description devel %{common_description} Development files for JPEG-XL. %package -n jxl-pixbuf-loader Summary: JPEG-XL image loader for GTK+ applications BuildRequires: pkgconfig(gdk-pixbuf-2.0) Requires: gdk-pixbuf2 %description -n jxl-pixbuf-loader Jxl-pixbuf-loader contains a plugin to load JPEG-XL images in GTK+ applications. %package -n gimp-jxl-plugin Summary: A plugin for loading and saving JPEG-XL images Requires: gimp %description -n gimp-jxl-plugin This is a GIMP plugin for loading and saving JPEG-XL images. %prep %autosetup -p1 -n %{name_dash}-v%{version}-%{commit} rm -rf third_party/ %setup -q -T -D -a 1 -n %{name_dash}-v%{version}-%{commit} %build %cmake -DENABLE_CCACHE=1 \ -DBUILD_TESTING=OFF \ -DINSTALL_GTEST:BOOL=OFF \ -DJPEGXL_ENABLE_BENCHMARK:BOOL=OFF \ -DJPEGXL_ENABLE_PLUGINS:BOOL=ON \ -DJPEGXL_FORCE_SYSTEM_BROTLI:BOOL=ON \ -DJPEGXL_FORCE_SYSTEM_GTEST:BOOL=ON \ -DJPEGXL_FORCE_SYSTEM_HWY:BOOL=ON \ -DJPEGXL_WARNINGS_AS_ERRORS:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=OFF %cmake_build -- all doc %install %cmake_install rm -v %{buildroot}%{_libdir}/*.a %files utils %doc CONTRIBUTING.md CONTRIBUTORS README.md %{_bindir}/cjxl %{_bindir}/djxl %{_mandir}/man1/cjxl.1* %{_mandir}/man1/djxl.1* %files doc %doc doc/*.md %doc %{_vpath_builddir}/html %license LICENSE %files libs %license LICENSE %{_libdir}/libjxl.so.0* %{_libdir}/libjxl_threads.so.0* %dir %{_datadir}/thumbnailers %{_datadir}/thumbnailers/jxl.thumbnailer %{_datadir}/mime/packages/image-jxl.xml %files devel %doc CONTRIBUTING.md %{_includedir}/jxl/ %{_libdir}/libjxl.so %{_libdir}/libjxl_threads.so %{_libdir}/pkgconfig/libjxl.pc %{_libdir}/pkgconfig/libjxl_threads.pc %files -n jxl-pixbuf-loader %license LICENSE %{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-jxl.so %files -n gimp-jxl-plugin %license LICENSE %{_libdir}/gimp/2.0/plug-ins/file-jxl/ %changelog * Mon May 17 20:49:39 CEST 2021 Robert-André Mauchin - 0.3.7-1 - Update to 0.3.7 * Sat Jan 30 17:10:24 CET 2021 Robert-André Mauchin - 0.3-1 - Update to 0.3 * Sat Dec 12 03:45:24 CET 2020 Robert-André Mauchin - 0.1.1-1 - Update to 0.1.1 * Wed Jul 15 17:00:49 CEST 2020 Robert-André Mauchin - 0.0.1-0.1.20200715git0a46d01c - Initial RPM