public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-pillow-jxl-plugin] rawhide: Update to version 1.3.8; Fixes RHBZ#2501677
@ 2026-07-25 14:30 Benjamin A. Beasley
0 siblings, 0 replies; only message in thread
From: Benjamin A. Beasley @ 2026-07-25 14:30 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/python-pillow-jxl-plugin
Branch : rawhide
Commit : f6061f548cc95e6288501021e0a7cc6eeb0c98ae
Author : Benjamin A. Beasley <code@musicinmybrain.net>
Date : 2026-07-23T19:49:39+00:00
Stats : +154/-202 in 8 file(s)
URL : https://src.fedoraproject.org/rpms/python-pillow-jxl-plugin/c/f6061f548cc95e6288501021e0a7cc6eeb0c98ae?branch=rawhide
Log:
Update to version 1.3.8; Fixes RHBZ#2501677
---
diff --git a/.gitignore b/.gitignore
index 34e854f..c6991c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/pillow-jpegxl-plugin-1.3.5.tar.gz
/pillow-jpegxl-plugin-1.3.6.tar.gz
/pillow-jpegxl-plugin-1.3.7.tar.gz
+/pillow-jpegxl-plugin-1.3.8.tar.gz
diff --git a/0001-Unconditionally-dynamically-link-libjxl.patch b/0001-Unconditionally-dynamically-link-libjxl.patch
new file mode 100644
index 0000000..83ab05c
--- /dev/null
+++ b/0001-Unconditionally-dynamically-link-libjxl.patch
@@ -0,0 +1,110 @@
+From f03536bee70caec0115252d28df02ca47828b465 Mon Sep 17 00:00:00 2001
+From: Fabio Valentini <decathorpe@gmail.com>
+Date: Sat, 22 Mar 2025 13:30:36 +0100
+Subject: [PATCH 1/2] Unconditionally dynamically link libjxl
+
+---
+ Cargo.toml | 4 +---
+ build.rs | 54 +-------------------------------------------------
+ pyproject.toml | 2 +-
+ 3 files changed, 3 insertions(+), 57 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index ff0fb0d..44c2060 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -2,7 +2,6 @@
+ name = "pillow-jxl-plugin"
+ version = "1.3.8"
+ edition = "2021"
+-build = "build.rs"
+
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+ [lib]
+@@ -16,6 +15,5 @@ half = "2.7.1"
+ bytemuck = "1.24.0"
+
+ [features]
+-# Enables parallel processing support by enabling the "rayon" feature of jpeg-decoder.
+-vendored = ["jpegxl-rs/vendored"]
++default = ["dynamic"]
+ dynamic = []
+diff --git a/build.rs b/build.rs
+index 028f2b2..4eddb1f 100644
+--- a/build.rs
++++ b/build.rs
+@@ -1,57 +1,5 @@
+-use std::env;
+-
+-#[allow(dead_code)]
+-fn dynamic_link() {
++fn main() {
+ println!("cargo:rustc-link-lib=jxl");
+ println!("cargo:rustc-link-lib=jxl_threads");
+-
+ println!("cargo:rustc-link-lib=hwy");
+- if let Ok(path) = env::var("DEP_HWY_LIB") {
+- println!("cargo:rustc-link-search=native={path}");
+- }
+-
+- println!("cargo:rustc-link-lib:+whole-archive=brotlidec");
+- println!("cargo:rustc-link-lib=brotlienc");
+- println!("cargo:rustc-link-lib=brotlicommon");
+- if let Ok(path) = env::var("DEP_BROTLI_LIB") {
+- println!("cargo:rustc-link-search=native={path}");
+- }
+-}
+-
+-#[allow(dead_code)]
+-fn static_link() {
+- println!("cargo:rustc-link-lib=static=jxl");
+- println!("cargo:rustc-link-lib=static=jxl_cms");
+- println!("cargo:rustc-link-lib=static=jxl_threads");
+-
+- println!("cargo:rustc-link-lib=static=hwy");
+- if let Ok(path) = env::var("DEP_HWY_LIB") {
+- println!("cargo:rustc-link-search=native={path}");
+- }
+-
+- println!("cargo:rustc-link-lib=static:+whole-archive=brotlidec");
+- println!("cargo:rustc-link-lib=static=brotlienc");
+- println!("cargo:rustc-link-lib=static=brotlicommon");
+- if let Ok(path) = env::var("DEP_BROTLI_LIB") {
+- println!("cargo:rustc-link-search=native={path}");
+- }
+-}
+-
+-fn main() {
+- // Static link libjxl
+- #[cfg(all(not(feature = "vendored"), not(feature = "dynamic")))]
+- static_link();
+-
+- #[cfg(all(not(feature = "vendored"), feature = "dynamic"))]
+- dynamic_link();
+-
+- // Dynamic link c++
+- #[cfg(target_os = "linux")]
+- {
+- println!("cargo:rustc-link-lib=stdc++");
+- }
+- #[cfg(target_os = "macos")]
+- {
+- println!("cargo:rustc-link-lib=c++");
+- }
+ }
+diff --git a/pyproject.toml b/pyproject.toml
+index c9393dd..03fca97 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -40,7 +40,7 @@ dev = [
+ "Releases" = "https://github.com/Isotr0py/pillow-jpegxl-plugin/releases"
+
+ [tool.maturin]
+-features = ["pyo3/extension-module", "vendored"]
++features = ["pyo3/extension-module"]
+
+ [tool.ruff]
+ target-version = "py39"
+--
+2.55.0
+
diff --git a/0001-Update-jpegxl-rs-dependency-from-0.11.2-to-0.12.0.patch b/0001-Update-jpegxl-rs-dependency-from-0.11.2-to-0.12.0.patch
deleted file mode 100644
index b61025e..0000000
--- a/0001-Update-jpegxl-rs-dependency-from-0.11.2-to-0.12.0.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a4fcb521f1577883ee83269558f3e01e77fb43af Mon Sep 17 00:00:00 2001
-From: Fabio Valentini <decathorpe@gmail.com>
-Date: Tue, 17 Mar 2026 23:23:07 +0100
-Subject: [PATCH 1/3] Update jpegxl-rs dependency from 0.11.2 to 0.12.0
-
-Backport from upstream commit:
-https://github.com/Isotr0py/pillow-jpegxl-plugin/commit/0ecab6b
----
- Cargo.toml | 2 +-
- src/encode.rs | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Cargo.toml b/Cargo.toml
-index b50a2e6..6bee5d6 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -11,7 +11,7 @@ crate-type = ["cdylib"]
-
- [dependencies]
- pyo3 = { version="0.27.1", features = ["extension-module", "generate-import-lib"] }
--jpegxl-rs = { version="0.11.2", default-features = false }
-+jpegxl-rs = { version="0.12.0", default-features = false }
- half = "2.7.1"
-
- [features]
-diff --git a/src/encode.rs b/src/encode.rs
-index ae17788..1e42709 100644
---- a/src/encode.rs
-+++ b/src/encode.rs
-@@ -132,8 +132,8 @@ impl Encoder {
- .map_err(to_pyjxlerror)?;
- encoder.uses_original_profile = self.use_original_profile;
- encoder.color_encoding = match self.num_channels {
-- 1 | 2 => ColorEncoding::SrgbLuma,
-- 3 | 4 => ColorEncoding::Srgb,
-+ 1 | 2 => Some(ColorEncoding::SrgbLuma),
-+ 3 | 4 => Some(ColorEncoding::Srgb),
- _ => return Err(PyValueError::new_err("Invalid num channels")),
- };
- encoder.speed = match self.effort {
---
-2.54.0
-
diff --git a/0002-Allow-jpegxl-rs-as-old-as-0.12.patch b/0002-Allow-jpegxl-rs-as-old-as-0.12.patch
new file mode 100644
index 0000000..233fe76
--- /dev/null
+++ b/0002-Allow-jpegxl-rs-as-old-as-0.12.patch
@@ -0,0 +1,25 @@
+From 590dce8fc9fdaab60d3c87e1557ee10383a56d93 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Fri, 17 Jul 2026 05:35:09 +0100
+Subject: [PATCH 2/2] Allow jpegxl-rs as old as 0.12
+
+---
+ Cargo.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 44c2060..8d0c25d 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -10,7 +10,7 @@ crate-type = ["cdylib"]
+
+ [dependencies]
+ pyo3 = { version="0.29.0", features = ["extension-module"] }
+-jpegxl-rs = { version="0.15.0", default-features = false }
++jpegxl-rs = { version=">=0.12.0, <0.16.0", default-features = false }
+ half = "2.7.1"
+ bytemuck = "1.24.0"
+
+--
+2.55.0
+
diff --git a/0002-Unconditionally-dynamically-link-libjxl.patch b/0002-Unconditionally-dynamically-link-libjxl.patch
deleted file mode 100644
index bcadfdd..0000000
--- a/0002-Unconditionally-dynamically-link-libjxl.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From f5d1a1946b6a2d7a85b7df79236611d8819917d0 Mon Sep 17 00:00:00 2001
-From: Fabio Valentini <decathorpe@gmail.com>
-Date: Sat, 22 Mar 2025 13:30:36 +0100
-Subject: [PATCH 2/3] Unconditionally dynamically link libjxl
-
----
- Cargo.toml | 4 +---
- build.rs | 54 +-------------------------------------------------
- pyproject.toml | 2 +-
- 3 files changed, 3 insertions(+), 57 deletions(-)
-
-diff --git a/Cargo.toml b/Cargo.toml
-index 6bee5d6..de9ba7c 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -2,7 +2,6 @@
- name = "pillow-jxl-plugin"
- version = "1.3.7"
- edition = "2021"
--build = "build.rs"
-
- # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
- [lib]
-@@ -15,6 +14,5 @@ jpegxl-rs = { version="0.12.0", default-features = false }
- half = "2.7.1"
-
- [features]
--# Enables parallel processing support by enabling the "rayon" feature of jpeg-decoder.
--vendored = ["jpegxl-rs/vendored"]
-+default = ["dynamic"]
- dynamic = []
-diff --git a/build.rs b/build.rs
-index 028f2b2..4eddb1f 100644
---- a/build.rs
-+++ b/build.rs
-@@ -1,57 +1,5 @@
--use std::env;
--
--#[allow(dead_code)]
--fn dynamic_link() {
-+fn main() {
- println!("cargo:rustc-link-lib=jxl");
- println!("cargo:rustc-link-lib=jxl_threads");
--
- println!("cargo:rustc-link-lib=hwy");
-- if let Ok(path) = env::var("DEP_HWY_LIB") {
-- println!("cargo:rustc-link-search=native={path}");
-- }
--
-- println!("cargo:rustc-link-lib:+whole-archive=brotlidec");
-- println!("cargo:rustc-link-lib=brotlienc");
-- println!("cargo:rustc-link-lib=brotlicommon");
-- if let Ok(path) = env::var("DEP_BROTLI_LIB") {
-- println!("cargo:rustc-link-search=native={path}");
-- }
--}
--
--#[allow(dead_code)]
--fn static_link() {
-- println!("cargo:rustc-link-lib=static=jxl");
-- println!("cargo:rustc-link-lib=static=jxl_cms");
-- println!("cargo:rustc-link-lib=static=jxl_threads");
--
-- println!("cargo:rustc-link-lib=static=hwy");
-- if let Ok(path) = env::var("DEP_HWY_LIB") {
-- println!("cargo:rustc-link-search=native={path}");
-- }
--
-- println!("cargo:rustc-link-lib=static:+whole-archive=brotlidec");
-- println!("cargo:rustc-link-lib=static=brotlienc");
-- println!("cargo:rustc-link-lib=static=brotlicommon");
-- if let Ok(path) = env::var("DEP_BROTLI_LIB") {
-- println!("cargo:rustc-link-search=native={path}");
-- }
--}
--
--fn main() {
-- // Static link libjxl
-- #[cfg(all(not(feature = "vendored"), not(feature = "dynamic")))]
-- static_link();
--
-- #[cfg(all(not(feature = "vendored"), feature = "dynamic"))]
-- dynamic_link();
--
-- // Dynamic link c++
-- #[cfg(target_os = "linux")]
-- {
-- println!("cargo:rustc-link-lib=stdc++");
-- }
-- #[cfg(target_os = "macos")]
-- {
-- println!("cargo:rustc-link-lib=c++");
-- }
- }
-diff --git a/pyproject.toml b/pyproject.toml
-index c9393dd..03fca97 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -40,7 +40,7 @@ dev = [
- "Releases" = "https://github.com/Isotr0py/pillow-jpegxl-plugin/releases"
-
- [tool.maturin]
--features = ["pyo3/extension-module", "vendored"]
-+features = ["pyo3/extension-module"]
-
- [tool.ruff]
- target-version = "py39"
---
-2.54.0
-
diff --git a/0003-Update-PyO3-to-0.29.patch b/0003-Update-PyO3-to-0.29.patch
deleted file mode 100644
index a303ba6..0000000
--- a/0003-Update-PyO3-to-0.29.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 71a56739812964ea697acf215f44dc793f7dfccd Mon Sep 17 00:00:00 2001
-From: "Benjamin A. Beasley" <code@musicinmybrain.net>
-Date: Sat, 20 Jun 2026 22:42:15 +0100
-Subject: [PATCH 3/3] Update PyO3 to 0.29
-
-https://pyo3.rs/main/changelog.html#0290---2026-06-11
-
-Fixes:
-
- https://rustsec.org/advisories/RUSTSEC-2026-0176.html
- https://rustsec.org/advisories/RUSTSEC-2026-0177.html
----
- Cargo.toml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Cargo.toml b/Cargo.toml
-index de9ba7c..91ca991 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -9,7 +9,7 @@ name = "pillow_jxl"
- crate-type = ["cdylib"]
-
- [dependencies]
--pyo3 = { version="0.27.1", features = ["extension-module", "generate-import-lib"] }
-+pyo3 = { version="0.29.0", features = ["extension-module"] }
- jpegxl-rs = { version="0.12.0", default-features = false }
- half = "2.7.1"
-
---
-2.54.0
-
diff --git a/python-pillow-jxl-plugin.spec b/python-pillow-jxl-plugin.spec
index aa904b9..bde9bd7 100644
--- a/python-pillow-jxl-plugin.spec
+++ b/python-pillow-jxl-plugin.spec
@@ -1,5 +1,5 @@
Name: python-pillow-jxl-plugin
-Version: 1.3.7
+Version: 1.3.8
Release: %autorelease
Summary: Pillow plugin for JPEG-XL
# GPL-3.0-or-later for code
@@ -10,30 +10,30 @@ SourceLicense: GPL-3.0-or-later AND CC-BY-4.0 AND CC-BY-SA-4.0
# GPL-3.0-or-later
# MIT OR Apache-2.0
# Unlicense OR MIT
-License: GPL-3.0-or-later AND (Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
+# Zlib OR Apache-2.0 OR MIT
+License: %{shrink:
+ GPL-3.0-or-later AND
+ (Apache-2.0 OR MIT) AND
+ (Apache-2.0 OR MIT OR Zlib) AND
+ (BSD-2-Clause OR Apache-2.0 OR MIT) AND
+ (Unlicense OR MIT)
+ }
# LICENSE.dependencies contains a full license breakdown
URL: https://github.com/Isotr0py/pillow-jpegxl-plugin
Source: %{url}/archive/v%{version}/pillow-jpegxl-plugin-%{version}.tar.gz
-# upstream commit to update jpegxl-rs dependency from 0.11 to 0.12:
-# https://github.com/Isotr0py/pillow-jpegxl-plugin/commit/0ecab6b
-Patch: 0001-Update-jpegxl-rs-dependency-from-0.11.2-to-0.12.0.patch
-
# drop custom build system that is unnecessary and only breaks stuff
-Patch: 0002-Unconditionally-dynamically-link-libjxl.patch
+Patch: 0001-Unconditionally-dynamically-link-libjxl.patch
-# Update PyO3 to 0.29
-#
-# https://pyo3.rs/main/changelog.html#0290---2026-06-11
-#
-# Fixes:
-#
-# https://rustsec.org/advisories/RUSTSEC-2026-0176.html
-# https://rustsec.org/advisories/RUSTSEC-2026-0177.html
+# Allow older jpgegxl-rs 0.12–0.14; upstream has updated to 0.15 without
+# source-code changes, but coordination with glycin is needed to avoid a compat
+# package.
#
-# https://github.com/Isotr0py/pillow-jpegxl-plugin/pull/156
-Patch: 0003-Update-PyO3-to-0.29.patch
+# https://github.com/Isotr0py/pillow-jpegxl-plugin/commit/3b36d36d7593ab524745aba6d456bcc11b7b97b8
+# https://github.com/Isotr0py/pillow-jpegxl-plugin/commit/042967a1ee8d819ef053e9822349363db5c920e9
+# https://github.com/Isotr0py/pillow-jpegxl-plugin/commit/c5369ab39bec720399a7aeefe0f48087ab7cb578
+Patch: 0002-Allow-jpegxl-rs-as-old-as-0.12.patch
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: python3-devel
diff --git a/sources b/sources
index fff6ea9..bca63de 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pillow-jpegxl-plugin-1.3.7.tar.gz) = baf6c353834fb46c67d588ceed4ec22bb0d3bae15b48654eea615fb927da87028389c99b665fa0b016179c1279c7950f1f7077beb688f48009cf2d7c30296461
+SHA512 (pillow-jpegxl-plugin-1.3.8.tar.gz) = 0b060ae51f04647953e5284650a5ecf03c1c14635ac8fb19d1c1cd30e120072c0c5f63fb34eedbb07853b0f3b227719c69ebb6e89ee20341d3aeb3493fafa38b
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-25 14:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-25 14:30 [rpms/python-pillow-jxl-plugin] rawhide: Update to version 1.3.8; Fixes RHBZ#2501677 Benjamin A. Beasley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox