Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libjxl for openSUSE:Factory checked in at 2023-09-25 19:59:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libjxl (Old) and /work/SRC/openSUSE:Factory/.libjxl.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libjxl" Mon Sep 25 19:59:57 2023 rev:11 rq:1113235 version:0.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libjxl/libjxl.changes 2023-06-17 22:19:52.603380553 +0200 +++ /work/SRC/openSUSE:Factory/.libjxl.new.1770/libjxl.changes 2023-09-25 20:00:15.103775999 +0200 @@ -1,0 +2,22 @@ +Thu Sep 21 13:34:05 UTC 2023 - Jan Engelhardt <[email protected]> + +- Switch from LCMS to SKCMS: libjxl core can use either, but + plugins can only use SKCMS. Exercising two CMS simultaneously + also is silly. Delete 0001-Remove-LCMS-mutex.patch . + +------------------------------------------------------------------- +Sat Sep 16 06:58:55 UTC 2023 - Atri Bhattacharya <[email protected]> + +- Build plugins: + * Add _service file to generate skcms tarball (needed to build + plugins). + * Add skcms tarball as source and copy extracted dir to + ./third_party/ so cmake can find it. + * Split out new packages: + * gdk-pixbuf-loader-jxl: Pixbuf loader for supported apps. + * gimp-plugin-jxl: Plugin to allow gimp to work with JPEG XL + files. + * jxl-thumbnailer: Thumbnailer and mime files to allow + generating thumbnails for JPEG XL files. + +------------------------------------------------------------------- Old: ---- 0001-Remove-LCMS-mutex.patch New: ---- _multibuild _service skcms.tar ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libjxl.spec ++++++ --- /var/tmp/diff_new_pack.frZtiP/_old 2023-09-25 20:00:16.775836282 +0200 +++ /var/tmp/diff_new_pack.frZtiP/_new 2023-09-25 20:00:16.779836426 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libjxl +# spec file for package libjxl-gtk # # Copyright (c) 2023 SUSE LLC # @@ -16,8 +16,14 @@ # -Name: libjxl %define lname libjxl0_8 +%if "@BUILD_FLAVOR@" == "gtk" +Name: libjxl-gtk +%bcond_without gtk +%else +Name: libjxl +%bcond_with gtk +%endif Version: 0.8.2 Release: 0 Summary: JPEG XL reference implementation @@ -26,11 +32,15 @@ #Git-Clone: https://github.com/libjxl/libjxl Source: https://github.com/libjxl/libjxl/archive/refs/tags/v%version.tar.gz Source1: baselibs.conf -Patch0: 0001-Remove-LCMS-mutex.patch +Source2: skcms.tar BuildRequires: c++_compiler BuildRequires: cmake BuildRequires: pkg-config -BuildRequires: pkgconfig(lcms2) >= 2.10 +%if %{with gtk} +BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.36 +BuildRequires: pkgconfig(gimp-2.0) >= 2.10 +BuildRequires: pkgconfig(gimpui-2.0) >= 2.10 +%endif BuildRequires: pkgconfig(libbrotlicommon) BuildRequires: pkgconfig(libbrotlidec) BuildRequires: pkgconfig(libbrotlienc) @@ -38,6 +48,9 @@ BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) %{?suse_build_hwcaps_libs} +%if %{with gtk} +Provides: bundled(skcms) = 0 +%endif %description JPEG XL is a raster-graphics file format that supports both lossy and @@ -68,32 +81,62 @@ %description tools Command-line utilities to convert from/to JPEG XL. -%prep -%setup -q - -%if %{pkg_vcmp liblcms2-2 < 2.13} -# libjxl 0.7.0 requires lcms2 >= 2.13, so if we have an older version -# (as in SLE15/Leap) just reverse the patch that adds that dependency -%patch0 -p1 -%else -# Make sure patch at least applies -%patch0 -p1 -%patch0 -p1 -R +%package -n gdk-pixbuf-loader-jxl +Summary: A gdk-pixbuf loader for JPEG-XL using libjxl +Supplements: (%lname and gdk-pixbuf) +%if %{with gtk} +%gdk_pixbuf_loader_requires %endif +%description -n gdk-pixbuf-loader-jxl +This package provides a libjxl-based gdk-pixbuf loader for JPEG XL files. + +%package -n gimp-plugin-jxl +Summary: Plugin for GIMP to enable working with JPEG XL files +Supplements: (%lname and gimp) + +%description -n gimp-plugin-jxl +This package provides a plugin for GIMP 2.0 to enable it to work with JPEG XL files. + +%package -n jxl-thumbnailer +Summary: Generate thumbnails for JPEG XL files +BuildArch: noarch + +%description -n jxl-thumbnailer +This package provides a thumbnailer to render for JPEG XL file thumbnails, +for example, on file-browsers. + +%prep +%setup -n libjxl-%version -a2 +mv skcms third_party/ + %build %cmake -DJPEGXL_FORCE_SYSTEM_HWY=ON -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ - -DJPEGXL_FORCE_SYSTEM_LCMS2=ON -DBUILD_TESTING=OFF \ - -DJPEGXL_ENABLE_PLUGINS=OFF -DJPEGXL_ENABLE_SKCMS=OFF \ + -DJPEGXL_FORCE_SYSTEM_LCMS2=OFF -DBUILD_TESTING=OFF \ +%if %{with gtk} + -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_SKCMS=ON \ +%endif -DJPEGXL_ENABLE_SJPEG=OFF %cmake_build %install %cmake_install -rm -fv %buildroot/%_libdir/*.a +b="%buildroot" +rm -fv "$b/%_libdir"/*.a +%if %{with gtk} +rm -Rf "$b/%_libdir"/libjxl* "$b/%_bindir" "$b/%_includedir" "$b/%_libdir/pkgconfig" +%endif %ldconfig_scriptlets -n %lname +%post -n gdk-pixbuf-loader-jxl +%gdk_pixbuf_loader_post + +%postun -n gdk-pixbuf-loader-jxl +%gdk_pixbuf_loader_postun + +%if %{without gtk} + %files -n %lname %license LICENSE %_libdir/libjxl*.so.* @@ -108,3 +151,18 @@ %_libdir/libjxl_threads.so %_libdir/pkgconfig/*.pc +%else + +%files -n gdk-pixbuf-loader-jxl +%_libdir/gdk-pixbuf-2.0/*/loaders/libpixbufloader-jxl.so + +%files -n gimp-plugin-jxl +%_libdir/gimp/2.0/plug-ins/file-jxl/ + +%files -n jxl-thumbnailer +%dir %_datadir/thumbnailers +%_datadir/thumbnailers/*.thumbnailer +%_datadir/mime/packages/*.xml + +%endif + ++++++ _multibuild ++++++ <multibuild> <flavor>gtk</flavor> </multibuild> ++++++ _service ++++++ <services> <service name="tar_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/libjxl/libjxl.git/</param> <param name="submodules">enable</param> <param name="subdir">third_party/skcms</param> <param name="revision">v0.8.2</param> <param name="filename">skcms</param> <param name="version">_none_</param> </service> </services>
