From a9cf430503dfdca74cef3a3cf3c38960f8c8fee1 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 13:54:26 +0200 Subject: [PATCH 1/2] Rebuilt for Python 3.14.0rc3 bytecode From 1d2ec9221eaff43b15bde18868e07504af0e8431 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 20:51:33 +0100 Subject: [PATCH 2/2] Update to 3.11.4 (close RHBZ#2406238) - Bundling yyjson is no longer optional --- .gitignore | 1 + python-orjson.spec | 44 +++++++++++++------------------------------- sources | 2 +- 3 files changed, 15 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index 96dc1e2..8d7ae02 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ /orjson-3.11.1-filtered.tar.xz /orjson-3.11.2-filtered.tar.xz /orjson-3.11.3-filtered.tar.xz +/orjson-3.11.4-filtered.tar.xz diff --git a/python-orjson.spec b/python-orjson.spec index 67c680f..33e673e 100644 --- a/python-orjson.spec +++ b/python-orjson.spec @@ -9,41 +9,21 @@ # Not yet in EPEL10: https://bugzilla.redhat.com/show_bug.cgi?id=2356387 %bcond pendulum %{undefined el10} -# By default, orjson uses a bundled copy of the C library yyjson, -# https://github.com/ibireme/yyjson, as the JSON deserialization backend. It is -# forked (customized) and compiled with a particular set of options via -# preprocessor defines (see build.rs), so it is not a candidate for unbundling. -# -# We do have the option to disable the yyjson backend, in which case the json -# crate from the Rust standard library, https://docs.rs/json, is used instead. -%bcond yyjson 0 - Name: python-orjson -Version: 3.11.3 +Version: 3.11.4 Release: %autorelease Summary: Fast, correct Python JSON library # The entire source is (Apache-2.0 OR MIT), except: # -%if %{with yyjson} # MIT: # - include/yyjson/yyjson.c # - include/yyjson/yyjson.h # -%endif # Apache-2.0: # - src/serialize/writer/str/mod.rs # - src/serialize/writer/str/sse2.rs -License: (Apache-2.0 OR MIT) AND Apache-2.0%{?with_yyjson: AND MIT} -%if %{without yyjson} -# Additionally, the following are removed in %%prep and do not contribute to -# the licenses of the binary RPMs: -# -# MIT: -# - include/yyjson/yyjson.c -# - include/yyjson/yyjson.h -%endif -SourceLicense: (Apache-2.0 OR MIT) AND Apache-2.0 AND MIT +License: (Apache-2.0 OR MIT) AND Apache-2.0 AND MIT URL: https://github.com/ijl/orjson # We must be careful about the source archive. # @@ -96,6 +76,7 @@ Summary: %{summary} # (Apache-2.0 OR MIT) AND BSD-3-Clause # Apache-2.0 OR BSL-1.0 # Apache-2.0 OR MIT +# BSD-2-Clause OR Apache-2.0 OR MIT # BSL-1.0 # MIT # MIT OR Apache-2.0 @@ -106,16 +87,24 @@ License: %{shrink: (Apache-2.0 OR MIT) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND + (Apache-2.0 OR BSD-2-Clause OR MIT) AND BSD-3-Clause AND BSL-1.0 AND MIT AND (Unlicense OR MIT) } -%if %{with yyjson} # Version from YYJSON_VERSION_STRING in include/yyjson/yyjson.h +# +# Since version 3.11.4, orjson unconditionally uses a bundled copy of the C +# library yyjson, https://github.com/ibireme/yyjson, as the JSON +# deserialization backend. It is forked (customized) and compiled with a +# particular set of options via preprocessor defines (see build.rs), so it is +# not a candidate for unbundling. (Prior to version 3.11.4, this could be +# disabled, and the json crate from the Rust standard library, +# https://docs.rs/json, would be used instead, but this is no longer +# supported.) Provides: bundled(yyjson) = 0.9.0 -%endif %description -n python3-orjson %{_description} @@ -128,10 +117,6 @@ Provides: bundled(yyjson) = 0.9.0 # “Avoid bundling libgcc on musl.” tomcli-set Cargo.toml del 'features.unwind' tomcli-set Cargo.toml del 'dependencies.unwinding' -%if %{without yyjson} -# Remove bundled yyjson. -rm -rv include/yyjson/ -%endif %if %{without pendulum} sed -i '/^pendulum\b/d' test/requirements.txt @@ -152,9 +137,6 @@ sed -i '/pytest-random-order/d' test/requirements.txt export RUSTFLAGS='%{build_rustflags}' %cargo_license_summary %{cargo_license} > LICENSES.dependencies -%if %{without yyjson} -export ORJSON_DISABLE_YYJSON=1 -%endif %pyproject_wheel diff --git a/sources b/sources index 9caac9e..18ca5d3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (orjson-3.11.3-filtered.tar.xz) = 1a1447046743469c20b43c1ab99a752e48f91828d0a13e0587fad1174640c6355f5fd973e25c0bc8950852992020852d202184cfe0b7aeb309e2a0c3d1b5feae +SHA512 (orjson-3.11.4-filtered.tar.xz) = 1a457a91dfa1918341acfebcdb86ddf92b5776f166be9dbd16a4253f55140ae0bc90f911ceb3a9b33abd963be22f089aa2764b25e1701691298c0e8840c8225a