Compare commits

...
Sign in to create a new pull request.

43 commits

Author SHA1 Message Date
Robert-André Mauchin
ec1bcb6edd Fix FTBFS with Clang 22 2025-12-08 00:42:49 +01:00
Fabio Valentini
fbe00f3846
Move jxl-pixbuf-loader Obsoletes to the correct subpackage 2025-10-13 11:06:02 +02:00
Michael Catanzaro
4aa1c6f773 Disable the pixbuf loader and thumbnailer
Due to changes in gdk-pixbuf, the jpegxl pixbuf loader now has lower
precedence than glycin and will no longer ever be used.

Also, the gdk-pixbuf-thumbnailer no longer exists, so this thumbnailer
is guaranteed to fail.

For more information, see:

  https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/7FTIVJJM5CJSJ6GIX4FV6JDUCT2NW5FY/
  https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/229
2025-09-05 09:30:03 -05:00
Dominik 'Rathann' Mierzejewski
5e4a034b68 enable tests
skip tests failing on s390x
2025-08-13 01:02:26 +02:00
Fedora Release Engineering
832e061db2 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 18:04:40 +00:00
Sérgio M. Basto
37e9aa2a61 un-bootstrap 2025-02-04 03:56:47 +00:00
Sérgio M. Basto
2e24065015 Update to 0.11.1 upstream release
- Resolves: rhbz#2312322

Upstream tag: v0.11.1
Upstream commit: 794a5dcf

Commit authored by Packit automation (https://packit.dev/)
2025-02-02 16:39:23 +00:00
Sérgio M. Basto
94959b88d3 Update jpegxl to 0.10.4 2025-01-30 23:12:19 +00:00
Fedora Release Engineering
88ff0faff8 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 08:00:14 +00:00
Sérgio M. Basto
33965822fb Fix upgrade path
Resolves: rhbz#2322528
2024-10-29 22:57:23 +00:00
Sérgio M. Basto
e87d18bbd6 Disable gimp_plugin, jpegxl don't support Gimp 3 yet 2024-09-19 01:15:02 +01:00
Fedora Release Engineering
19f643135c Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 11:07:33 +00:00
Sérgio M. Basto
194e176568 Fix generation of third_party sources 2024-07-07 04:11:05 +01:00
Packit
58fa8f9758 Update to 0.10.3 upstream release
- Resolves: rhbz#2295526

Upstream tag: v0.10.3
Upstream commit: 4a3b22d2

Commit authored by Packit automation (https://packit.dev/)
2024-07-07 02:51:28 +01:00
Sérgio M. Basto
1def8f6932 Configure Packit for release automation
Using same logic of
https://src.fedoraproject.org/rpms/opencv/pull-request/28 by Laura Barcziová
2024-07-07 02:42:09 +01:00
Orion Poplawski
a0c453281b Rebuild for openexr 3.2.4 2024-04-23 08:00:07 -06:00
Sérgio M. Basto
2a68871b2c BR pkgconfig(lcms2) directly to fix build on eln 2024-04-18 00:16:05 +01:00
Sérgio M. Basto
a0530bedaf un-bootstrap 2024-03-25 16:34:14 +00:00
Sérgio M. Basto
31a7d99680 fix the build 2024-03-13 01:12:53 +00:00
Sérgio M. Basto
0c6ab9af7d bootstrap 0.10.2 to start soname bump of jpegxl 2024-03-13 00:33:00 +00:00
Sérgio M. Basto
4eb04f897e un-bootstrap jpegxl 2024-02-14 02:09:43 +00:00
Sérgio M. Basto
9072eb333c bootstrap 0.9.2 to build aom 2024-02-14 01:04:06 +00:00
Fedora Release Engineering
bf363763c4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 23:26:00 +00:00
Fedora Release Engineering
6909d270e1 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-20 23:46:05 +00:00
Yaakov Selkowitz
abc05881f4 Drop unused build dependencies
ECM is only needed in conjunction with Qt5 for the viewers, (free)glut
is needed only for sjpeg examples, and libwebp only for jpegxl benchmark
tools, none of which are built.
2023-08-09 22:23:41 -04:00
Fedora Release Engineering
eb58e81e20 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 08:10:40 +00:00
Sérgio M. Basto
6a5bd4a235 Update jpegxl to 0.8.2 2023-06-22 20:46:44 +01:00
Yaakov Selkowitz
c16b67d622 Disable unused Qt5 build dependencies
Qt5 is only used to build the viewers, which are not enabled in the
cmake command line.
2023-06-19 22:52:54 -04:00
Sérgio M. Basto
ab2f57e888 unbootrap soname 2023-06-18 21:29:03 +01:00
Sérgio M. Basto
572b55ef72 Update to 0.8.1 with new soname
- Drop patches because they are already in the code
- Add update_third_party.sh helper script
2023-04-03 10:48:41 +01:00
Sérgio M. Basto
f4f14a869a fix epel8 builds 2023-04-03 01:48:17 +01:00
Fedora Release Engineering
3b31ff8895 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 13:52:26 +00:00
Miroslav Suchý
c20ec23f31 add epoch back
This seems to be removed by accident in https://src.fedoraproject.org/rpms/jpegxl/c/b907c00f322960c2b4ab1d135ccde50684d14bb9?branch=rawhide
This makes the package not upgradeable.  And the macro in
Recommends:     jxl-pixbuf-loader = %{epoch}:%{version}-%{release}
Recommends:     gimp-jxl-plugin   = %{epoch}:%{version}-%{release}
is not correctly expanded.
2022-12-27 10:39:41 +00:00
Robert-André Mauchin
b907c00f32 Convert to SPDX 2022-11-19 22:00:09 +01:00
Robert-André Mauchin
fc8e7056f8 Fix typo 2022-09-25 10:07:49 +02:00
Robert-André Mauchin
2dedc270ee Add Epoch to Provides. Close: rhbz#2129592 2022-09-25 10:06:47 +02:00
Robert-André Mauchin
2227db0c67 Fix update path (bump Epoch). Close: rhbz#2129592
Add development tools package
2022-09-25 09:55:16 +02:00
Robert-André Mauchin
87c1389a3c Update to 0.7.0
Close: rhbz#2128835
2022-09-24 11:35:08 +02:00
Robert-André Mauchin
1ee24d18db Update to 0.7.0rc 2022-09-18 15:47:43 +02:00
Fedora Release Engineering
8e888947ef Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 15:23:01 +00:00
Robert-André Mauchin
b3c23e4da9 Unbootstrap 2022-07-09 19:24:43 +02:00
Robert-André Mauchin
c1ccd8cc9f Update to prerelease 0.7.0 2022-06-19 16:07:07 +02:00
Fedora Release Engineering
9dcd97772d - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 13:56:38 +00:00
6 changed files with 156 additions and 58 deletions

19
.gitignore vendored
View file

@ -4,3 +4,22 @@
/third_party-0.5.tar.gz
/jpegxl-0.6.1.tar.gz
/third_party-0.6.1.tar.gz
/jpegxl-c426256.tar.gz
/third_party-c426256.tar.gz
/jpegxl-0.7rc.tar.gz
/third_party-0.7rc.tar.gz
/jpegxl-0.7.0.tar.gz
/third_party-0.7.0.tar.gz
/jpegxl-0.8.1.tar.gz
/third_party-0.8.1.tar.gz
/jpegxl-0.8.2.tar.gz
/third_party-0.8.2.tar.gz
/jpegxl-0.9.2.tar.gz
/third_party-0.9.2.tar.gz
/jpegxl-0.10.2.tar.gz
/third_party-0.10.2.tar.gz
/jpegxl-0.10.3.tar.gz
/third_party-0.10.3.tar.gz
/jpegxl-0.11.1.tar.gz
/third_party-0.11.1.tar.gz
/testdata-0.11.1.tar.gz

17
.packit.yaml Normal file
View file

@ -0,0 +1,17 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
upstream_project_url: https://github.com/libjxl/libjxl
upstream_tag_template: v{version}
# run opencv-clean.sh
# the sed currently hacks the script so that the version is correctly set and the sources upload is handled by Packit
actions:
pre-sync:
- bash -c "cd ${PACKIT_DOWNSTREAM_REPO}; sed '1d' ./update_third_party.sh | VERSION=${PACKIT_PROJECT_VERSION} bash"
jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-rawhide

3
README.packit Normal file
View file

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.104.1.

View file

@ -1,12 +1,16 @@
# epel 8 need this other already have it
%undefine __cmake_in_source_build
# developper recommendation
%global toolchain clang
# Uncomment for special build to rebuild aom on bumped soname.
#global new_soname 1
%global sover_old 0.6
%global sover 0.6
%global gdk_pixbuf_moduledir $(pkgconf gdk-pixbuf-2.0 --variable=gdk_pixbuf_moduledir)
%global sover_old 0.10
%global sover 0.11
%bcond_with gimp_plugin
%if 0%{?fedora}
%bcond_without gimp_plugin
%bcond_without tcmalloc
%endif
@ -15,7 +19,8 @@ This package contains a reference implementation of JPEG XL (encoder and
decoder).}
Name: jpegxl
Version: 0.6.1
Epoch: 1
Version: 0.11.1
Release: %autorelease %{?new_soname:-p -e 0~sonamebump}
Summary: JPEG XL image format reference implementation
@ -23,70 +28,76 @@ Summary: JPEG XL image format reference implementation
# lodepng: zlib
# sjpeg: ASL 2.0
# skcms: BSD
License: BSD and ASL 2.0 and zlib
License: BSD-3-Clause AND Apache-2.0 AND Zlib
URL: https://jpeg.org/jpegxl/
VCS: https://github.com/libjxl/libjxl
Source0: %vcs/archive/v%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/libjxl/libjxl/archive/v%{version}/%{name}-%{version}.tar.gz
# git clone https://github.com/libjxl/libjxl
# cd libjxl/
# 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/
# set VERSION and run ./update_third_party.sh to get Source1 and Source2
Source1: third_party-%{version}.tar.gz
Source2: testdata-%{version}.tar.gz
BuildRequires: asciidoc
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: clang
BuildRequires: giflib-devel
%if %{with tcmalloc}
BuildRequires: gperftools-devel
%endif
BuildRequires: ninja-build
%if %{with gimp_plugin}
BuildRequires: pkgconfig(gimp-2.0)
BuildRequires: pkgconfig(gimp-3.0)
%endif
BuildRequires: (pkgconfig(glut) or pkgconfig(freeglut))
## sjpeg examples are not built
#BuildRequires: (pkgconfig(glut) or pkgconfig(freeglut))
BuildRequires: gtest-devel
BuildRequires: gflags-devel
BuildRequires: gmock-devel
BuildRequires: pkgconfig(libhwy)
BuildRequires: pkgconfig(libbrotlicommon)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libwebp)
## benchmark tools are not built
#BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(Qt5)
BuildRequires: pkgconfig(Qt5X11Extras)
## viewers are not built
#BuildRequires: extra-cmake-modules
#BuildRequires: pkgconfig(Qt5)
#BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(zlib)
# epel 8 need this other already have it
BuildRequires: python3-devel
%if 0%{?new_soname}
BuildRequires: libjxl < %{version}
BuildRequires: libjxl < %{epoch}:%{version}
%endif
# 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
Provides: bundled(sjpeg) = 0-0.1.20230608gite5ab130
# Build system is Bazel, which is not packaged by Fedora
Provides: bundled(skcms) = 0-0.1.20210522git6437475
Provides: bundled(skcms) = 0-0.1.20240122git51b7f2a
%description
%common_description
%package -n libjxl-utils
Summary: Utilities for manipulating JPEG XL images
Recommends: jxl-pixbuf-loader = %{version}-%{release}
Recommends: gimp-jxl-plugin = %{version}-%{release}
Provides: jpegxl-utils = %{version}-%{release}
Recommends: gimp-jxl-plugin = %{epoch}:%{version}-%{release}
Provides: jpegxl-utils = %{epoch}:%{version}-%{release}
Obsoletes: jpegxl-utils < 0.3.7-5
%description -n libjxl-utils
%{common_description}
%package -n libjxl-devtools
Summary: Development tools for JPEG-XL
Requires: libjxl%{?_isa} = %{epoch}:%{version}-%{release}
%description -n libjxl-devtools
%{common_description}
Development tools for JPEG-XL
%package doc
Summary: Documentation for JPEG-XL
BuildArch: noarch
@ -99,9 +110,12 @@ Documentation for JPEG-XL.
%package -n libjxl
Summary: Library files for JPEG-XL
Requires: shared-mime-info
Recommends: jxl-pixbuf-loader = %{version}-%{release}
Provides: jpegxl-libs = %{version}-%{release}
Provides: jpegxl-libs = %{epoch}:%{version}-%{release}
Obsoletes: jpegxl-libs < 0.3.7-5
Obsoletes: jxl-pixbuf-loader < %{epoch}:%{version}-%{release}
%if %{without gimp_plugin}
Obsoletes: gimp-jxl-plugin < 1:0.10.3-4
%endif
%description -n libjxl
%{common_description}
@ -110,8 +124,8 @@ Library files for JPEG-XL.
%package -n libjxl-devel
Summary: Development files for JPEG-XL
Requires: libjxl%{?_isa} = %{version}-%{release}
Provides: jpegxl-devel = %{version}-%{release}
Requires: libjxl%{?_isa} = %{epoch}:%{version}-%{release}
Provides: jpegxl-devel = %{epoch}:%{version}-%{release}
Obsoletes: jpegxl-devel < 0.3.7-5
%description -n libjxl-devel
@ -119,14 +133,6 @@ Obsoletes: jpegxl-devel < 0.3.7-5
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.
%if %{with gimp_plugin}
%package -n gimp-jxl-plugin
Summary: A plugin for loading and saving JPEG-XL images
@ -138,39 +144,72 @@ This is a GIMP plugin for loading and saving JPEG-XL images.
%prep
%autosetup -p1 -n libjxl-%{version}
rm -rf third_party/
%setup -q -T -D -a 1 -n libjxl-%{version}
rm -rf testdata/ third_party/
%setup -q -T -D -a 1 -a 2 -n libjxl-%{version}
%build
export CC=clang CXX=clang++
%cmake -DENABLE_CCACHE=1 \
-DBUILD_TESTING=OFF \
-DBUILD_TESTING=ON \
-DINSTALL_GTEST:BOOL=OFF \
-DJPEGXL_ENABLE_BENCHMARK:BOOL=OFF \
-DJPEGXL_ENABLE_PLUGINS:BOOL=ON \
-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF:BOOL=OFF \
-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
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUNDLE_LIBPNG_DEFAULT:BOOL=OFF \
-DBUNDLE_GFLAGS_DEFAULT:BOOL=OFF \
-DJPEGXL_ENABLE_DEVTOOLS=ON
%cmake_build -- all doc
%install
%cmake_install
rm -v %{buildroot}%{_libdir}/*.a
#rm -v %{buildroot}%{_libdir}/*.a
%if 0%{?new_soname}
cp -p %{_libdir}/libjxl.so.%{sover_old}* \
%{_libdir}/libjxl_threads.so.%{sover_old}* \
%{_libdir}/libjxl_cms.so.%{sover_old}* \
%{buildroot}%{_libdir}
%endif
%check
%ifarch s390x
# https://github.com/libjxl/libjxl/issues/3629
%ctest -E 'DecodeTest\.(ProgressionTestLosslessAlpha|FlushTestLosslessProgressiveAlpha)|EncodeTest\.FrameSettingsTest|JxlTest\.RoundtripAlpha(Resampling(OnlyAlpha)?|16)|JxlTest\.RoundtripProgressive(Level2Slow)?|ModularTest\.RoundtripLossy(DeltaPalette|16)?|RoundtripLossless/ModularTestParam\.RoundtripLossless/1bitSqueeze|RoundtripLossless/ModularTestParam\.RoundtripLossless/(1|2[01467]|30)bitSqueeze|PassesTest\.ProgressiveDownsample2DegradesCorrectly(Grayscale)?'
%else
%ctest
%endif
%files -n libjxl-utils
%doc CONTRIBUTING.md CONTRIBUTORS README.md
%{_bindir}/cjxl
%{_bindir}/djxl
%{_bindir}/jxlinfo
%{_mandir}/man1/cjxl.1*
%{_mandir}/man1/djxl.1*
%files -n libjxl-devtools
%{_bindir}/djxl_fuzzer_corpus
%{_bindir}/butteraugli_main
%{_bindir}/decode_and_encode
%{_bindir}/display_to_hlg
%{_bindir}/exr_to_pq
%{_bindir}/icc_simplify
%{_bindir}/pq_to_hlg
%{_bindir}/render_hlg
%{_bindir}/tone_map
%{_bindir}/texture_to_cube
%{_bindir}/generate_lut_template
%{_bindir}/ssimulacra_main
%{_bindir}/ssimulacra2
%{_bindir}/xyb_range
%{_bindir}/jxl_from_tree
%{_bindir}/local_tone_map
%files doc
%doc doc/*.md
%doc %{_vpath_builddir}/html
@ -180,12 +219,12 @@ cp -p %{_libdir}/libjxl.so.%{sover_old}* \
%license LICENSE
%{_libdir}/libjxl.so.%{sover}*
%{_libdir}/libjxl_threads.so.%{sover}*
%{_libdir}/libjxl_cms.so.%{sover}*
%if 0%{?new_soname}
%{_libdir}/libjxl.so.%{sover_old}*
%{_libdir}/libjxl_threads.so.%{sover_old}*
%{_libdir}/libjxl_cms.so.%{sover_old}*
%endif
%dir %{_datadir}/thumbnailers
%{_datadir}/thumbnailers/jxl.thumbnailer
%{_datadir}/mime/packages/image-jxl.xml
%files -n libjxl-devel
@ -193,12 +232,11 @@ cp -p %{_libdir}/libjxl.so.%{sover_old}* \
%{_includedir}/jxl/
%{_libdir}/libjxl.so
%{_libdir}/libjxl_threads.so
%{_libdir}/libjxl_cms.so
%{_libdir}/libjxl_extras_codec.a
%{_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
%{_libdir}/pkgconfig/libjxl_cms.pc
%if %{with gimp_plugin}
%files -n gimp-jxl-plugin

View file

@ -1,2 +1,3 @@
SHA512 (jpegxl-0.6.1.tar.gz) = 302935d722160b0b288ac63301f9e95caf82eccf6ad76c4f4da6316a0314ee3562115932b1ceacb0d02708de0a07788992d3478cae73af0b90193f5769f9fb52
SHA512 (third_party-0.6.1.tar.gz) = 7e416daf97e1cc54da00ec9b58636151308371d223fe29fcc22f6e9087852fd6fe9784a4e2f3e191a85a6f907a2732520ee7c8fd387292e19b5cc0b8a9d9392b
SHA512 (jpegxl-0.11.1.tar.gz) = 0cfd81d9d3b783f96bd04f244d73ffbc12186c89993d46064a2751bef0a446a5e86be05add5c10f60d4482d39333d9bf3f9a866d6eb84f8fa0d4e8b5828fd74c
SHA512 (testdata-0.11.1.tar.gz) = e775be0e8a56a828a4b70a174c841b3d474dbd170d899c50343896b21e46c6ae20f017f905ad7b83e097031e8add2788a00b1c452aa22e159b1f3a4e72a47155
SHA512 (third_party-0.11.1.tar.gz) = 720544bd722cbc6ef81db660786e4b022f156d05672b7d7ee6110d367272dcf22a35458f51e0d850df2f6fb368978c43fa4fff99763010360a8b5673d2e556ca

20
update_third_party.sh Executable file
View file

@ -0,0 +1,20 @@
VERSION=0.11.1
git clone https://github.com/libjxl/libjxl
cd libjxl/
git checkout .
git checkout v${VERSION}
./deps.sh
rm -rvf third_party/brotli/
rm -rvf third_party/googletest/
rm -rvf third_party/HEVCSoftware/
rm -rvf third_party/highway/
rm -rvf third_party/lcms/
rm -rvf third_party/libjpeg-turbo
rm -rvf third_party/libpng/
rm -rvf third_party/skcms/profiles/
rm -rvf third_party/zlib
tar -zcf ../third_party-${VERSION}.tar.gz third_party/
tar -zcf ../testdata-${VERSION}.tar.gz testdata/
cd ..
rm -rf libjxl/