Compare commits
8 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c023b31e4 | ||
|
|
4dbb402b63 | ||
|
|
6616eda4c0 | ||
|
|
5ad6665f71 | ||
|
|
1625d8359f | ||
|
|
3d90414b2f | ||
|
|
428e94c439 | ||
|
|
3a5dccf5d4 |
5 changed files with 26 additions and 153 deletions
16
.gitignore
vendored
16
.gitignore
vendored
|
|
@ -8,20 +8,6 @@
|
||||||
/orjson-3.9.10.tar.gz
|
/orjson-3.9.10.tar.gz
|
||||||
/orjson-3.9.12.tar.gz
|
/orjson-3.9.12.tar.gz
|
||||||
/orjson-3.9.13.tar.gz
|
/orjson-3.9.13.tar.gz
|
||||||
/orjson-3.10.1.tar.gz
|
/orjson-3.9.15.tar.gz
|
||||||
/orjson-3.10.3.tar.gz
|
|
||||||
/orjson-3.10.6.tar.gz
|
/orjson-3.10.6.tar.gz
|
||||||
/orjson-3.10.7.tar.gz
|
/orjson-3.10.7.tar.gz
|
||||||
/orjson-3.10.10.tar.gz
|
|
||||||
/orjson-3.10.11.tar.gz
|
|
||||||
/orjson-3.10.12.tar.gz
|
|
||||||
/orjson-3.10.13.tar.gz
|
|
||||||
/orjson-3.10.14.tar.gz
|
|
||||||
/orjson-3.10.16.tar.gz
|
|
||||||
/orjson-3.10.18.tar.gz
|
|
||||||
/orjson-3.11.0.tar.gz
|
|
||||||
/orjson-3.11.0-filtered.tar.xz
|
|
||||||
/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
|
|
||||||
|
|
|
||||||
30
changelog
30
changelog
|
|
@ -1,33 +1,9 @@
|
||||||
* Mon Jul 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 3.10.6-1
|
* Tue Jun 04 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 3.9.15-1
|
||||||
- Update to 3.10.6. Fixes rhbz#2291190.
|
- Update to 3.9.15. Fixes rhbz#2262570. Fixes rhbz#2259025.
|
||||||
|
|
||||||
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.3-3
|
* Fri May 24 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 3.9.10-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 3.10.3-2
|
|
||||||
- Rebuilt for Python 3.13
|
|
||||||
|
|
||||||
* Sat Jun 01 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 3.10.3-1
|
|
||||||
- Update to 3.10.3. Fixes rhbz#2278078.
|
|
||||||
|
|
||||||
* Fri May 24 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 3.10.1-2
|
|
||||||
- Rebuild with Rust 1.78 to fix incomplete debuginfo and backtraces
|
- Rebuild with Rust 1.78 to fix incomplete debuginfo and backtraces
|
||||||
|
|
||||||
* Mon Apr 15 2024 Maxwell G <maxwell@gtmx.me> - 3.10.1-1
|
|
||||||
- Update to 3.10.1. Fixes rhbz#2264126.
|
|
||||||
|
|
||||||
* Tue Feb 6 2024 Maxwell G <maxwell@gtmx.me> - 3.9.13-1
|
|
||||||
- Update to 3.9.13. Fixes rhbz#2262570.
|
|
||||||
|
|
||||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.12-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.12-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jan 18 2024 Maxwell G <maxwell@gtmx.me> - 3.9.12-1
|
|
||||||
- Update to 3.9.12. Fixes rhbz#2259025.
|
|
||||||
|
|
||||||
* Wed Nov 22 2023 Maxwell G <maxwell@gtmx.me> - 3.9.10-1
|
* Wed Nov 22 2023 Maxwell G <maxwell@gtmx.me> - 3.9.10-1
|
||||||
- Update to 3.9.10. Fixes rhbz#2243767.
|
- Update to 3.9.10. Fixes rhbz#2243767.
|
||||||
|
|
||||||
|
|
|
||||||
49
get_source
49
get_source
|
|
@ -1,49 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -o errexit
|
|
||||||
set -o nounset
|
|
||||||
|
|
||||||
if [ "$#" != '1' ]
|
|
||||||
then
|
|
||||||
cat 1>&2 <<EOF
|
|
||||||
Usage: $0 VERSION
|
|
||||||
|
|
||||||
Downloads the requested version and creates a filtered source tarball.
|
|
||||||
EOF
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
VERSION="${1}"
|
|
||||||
OUTDIR="${PWD}"
|
|
||||||
TMPDIR="$(mktemp -d)"
|
|
||||||
trap "rm -rf '${TMPDIR}'" INT TERM EXIT
|
|
||||||
|
|
||||||
cd "${TMPDIR}"
|
|
||||||
REPO="https://github.com/ijl/orjson"
|
|
||||||
URL="${REPO}/archive/${VERSION}/orjson-${VERSION}.tar.gz"
|
|
||||||
echo "--> Downloading: ${URL}" 1>&2
|
|
||||||
curl -L -O "${URL}"
|
|
||||||
|
|
||||||
ARCHIVE="$(find . -mindepth 1 -maxdepth 1 -type f -name '*.tar.gz' -print -quit)"
|
|
||||||
echo "--> Extracting: $(basename "${ARCHIVE}")" 1>&2
|
|
||||||
tar -xzf "${ARCHIVE}"
|
|
||||||
echo '--> Removing data/ due to licensing issues' 1>&2
|
|
||||||
TARDIR="$(basename "${ARCHIVE}" '.tar.gz')"
|
|
||||||
MTIME="$(stat -c '%Y' "${TARDIR}")"
|
|
||||||
rm -rvf "${TARDIR}/data/"
|
|
||||||
# Make sure the original mtime is preserved even though we modified the base
|
|
||||||
# directory by removing something at the top level.
|
|
||||||
touch -d @"${MTIME}" "${TARDIR}"
|
|
||||||
FILTERED="$(basename "${ARCHIVE}" .tar.gz)-filtered.tar.xz"
|
|
||||||
echo "--> Re-archiving: ${FILTERED}" 1>&2
|
|
||||||
# https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html
|
|
||||||
TZ=UTC LC_ALL=C tar \
|
|
||||||
--create --verbose \
|
|
||||||
--sort=name \
|
|
||||||
--format=posix \
|
|
||||||
--numeric-owner --owner=0 --group=0 \
|
|
||||||
--mode=go+u,go-w \
|
|
||||||
--pax-option='delete=atime,delete=ctime' \
|
|
||||||
"${TARDIR}/" |
|
|
||||||
xz -9e > "${FILTERED}"
|
|
||||||
mv -v "${FILTERED}" "${OUTDIR}"
|
|
||||||
echo 'Done.' 1>&2
|
|
||||||
|
|
@ -6,43 +6,15 @@
|
||||||
# Specfile compatability: EPEL >= 9 or Fedora >= 37 and RPM >= 4.16
|
# Specfile compatability: EPEL >= 9 or Fedora >= 37 and RPM >= 4.16
|
||||||
|
|
||||||
%bcond tests 1
|
%bcond tests 1
|
||||||
# Not yet in EPEL10: https://bugzilla.redhat.com/show_bug.cgi?id=2356387
|
|
||||||
%bcond pendulum %{undefined el10}
|
|
||||||
|
|
||||||
Name: python-orjson
|
Name: python-orjson
|
||||||
Version: 3.11.4
|
Version: 3.10.7
|
||||||
Release: %autorelease
|
Release: %autorelease
|
||||||
Summary: Fast, correct Python JSON library
|
Summary: Fast, correct Python JSON library
|
||||||
|
|
||||||
# The entire source is (Apache-2.0 OR MIT), except:
|
License: Apache-2.0 OR MIT
|
||||||
#
|
|
||||||
# MIT:
|
|
||||||
# - include/yyjson/yyjson.c
|
|
||||||
# - include/yyjson/yyjson.h
|
|
||||||
#
|
|
||||||
# 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 AND MIT
|
|
||||||
URL: https://github.com/ijl/orjson
|
URL: https://github.com/ijl/orjson
|
||||||
# We must be careful about the source archive.
|
Source: %{pypi_source orjson}
|
||||||
#
|
|
||||||
# The PyPI releases have a vendored Rust dependency bundle in include/cargo/,
|
|
||||||
# which we would remove in %%prep, but which we must still check to make sure
|
|
||||||
# everything has a license acceptable for distribution in Fedora before
|
|
||||||
# uploading to the lookaside cache.
|
|
||||||
# Source: %%{pypi_source orjson}
|
|
||||||
# The GitHub archives from
|
|
||||||
# %%{url}/archive/%%{version}/orjson-%%{version}.tar.gz do not have the
|
|
||||||
# vendored crates, but they contain benchmark data in data/, some of which is
|
|
||||||
# lacking its license text (e.g. data/blns.txt.xz, which is from
|
|
||||||
# https://github.com/minimaxir/big-list-of-naughty-strings and should carry the
|
|
||||||
# corresponding MIT license text), and some of which looks like it might have
|
|
||||||
# at best unclear license status. Since the benchmark data is potentially
|
|
||||||
# problematic, we would need to filter the GitHub archives with a script.
|
|
||||||
Source0: orjson-%{version}-filtered.tar.xz
|
|
||||||
# ./get_source ${COMMIT} (or ${TAG})
|
|
||||||
Source1: get_source
|
|
||||||
|
|
||||||
BuildRequires: tomcli
|
BuildRequires: tomcli
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
|
@ -51,15 +23,13 @@ BuildRequires: %{py3_dist pytest-forked}
|
||||||
# versions and architectures, but we would like to run the corresponding tests
|
# versions and architectures, but we would like to run the corresponding tests
|
||||||
# everywhere.
|
# everywhere.
|
||||||
BuildRequires: %{py3_dist numpy}
|
BuildRequires: %{py3_dist numpy}
|
||||||
%if %{with pendulum}
|
|
||||||
BuildRequires: %{py3_dist pendulum}
|
BuildRequires: %{py3_dist pendulum}
|
||||||
%endif
|
|
||||||
# These are not in tests/requirements.txt, but they enable additional tests
|
# These are not in tests/requirements.txt, but they enable additional tests
|
||||||
%ifnarch %{ix86}
|
%ifnarch %{ix86}
|
||||||
BuildRequires: %{py3_dist pandas}
|
BuildRequires: %{py3_dist pandas}
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: %{py3_dist psutil}
|
BuildRequires: %{py3_dist psutil}
|
||||||
BuildRequires: cargo-rpm-macros >= 24
|
BuildRequires: rust-packaging
|
||||||
|
|
||||||
|
|
||||||
%global _description %{expand:
|
%global _description %{expand:
|
||||||
|
|
@ -71,40 +41,22 @@ datetimes, and numpy}
|
||||||
|
|
||||||
%package -n python3-orjson
|
%package -n python3-orjson
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
# Output of %%{cargo_license_summary}:
|
|
||||||
#
|
|
||||||
# (Apache-2.0 OR MIT) AND BSD-3-Clause
|
# (Apache-2.0 OR MIT) AND BSD-3-Clause
|
||||||
# Apache-2.0 OR BSL-1.0
|
# Apache-2.0 OR BSL-1.0
|
||||||
# Apache-2.0 OR MIT
|
# Apache-2.0 OR MIT
|
||||||
# BSD-2-Clause OR Apache-2.0 OR MIT
|
|
||||||
# BSL-1.0
|
# BSL-1.0
|
||||||
# MIT
|
# MIT
|
||||||
# MIT OR Apache-2.0
|
# MIT OR Apache-2.0 (duplicate)
|
||||||
# Unlicense OR MIT
|
# Unlicense OR MIT
|
||||||
#
|
|
||||||
# Note that this must include the terms of the base package License expression.
|
|
||||||
License: %{shrink:
|
License: %{shrink:
|
||||||
(Apache-2.0 OR MIT) AND
|
(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
|
BSD-3-Clause AND
|
||||||
|
(Apache-2.0 OR BSL-1.0) AND
|
||||||
BSL-1.0 AND
|
BSL-1.0 AND
|
||||||
MIT AND
|
MIT AND
|
||||||
(Unlicense OR MIT)
|
(Unlicense OR MIT)
|
||||||
}
|
}
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
%description -n python3-orjson %{_description}
|
%description -n python3-orjson %{_description}
|
||||||
|
|
||||||
|
|
@ -113,21 +65,28 @@ Provides: bundled(yyjson) = 0.9.0
|
||||||
%autosetup -p1 -n orjson-%{version}
|
%autosetup -p1 -n orjson-%{version}
|
||||||
%cargo_prep
|
%cargo_prep
|
||||||
|
|
||||||
|
# Remove unstable features that require rust nightly; the avx512 feature also
|
||||||
|
# requires the x86_64 architecture
|
||||||
|
tomcli-set Cargo.toml del 'features.unstable-simd'
|
||||||
|
tomcli-set Cargo.toml del 'features.avx512'
|
||||||
|
# Remove no-panic feature
|
||||||
|
tomcli-set Cargo.toml del 'features.no-panic'
|
||||||
# Remove unwind feature, which is not useful here: the comment above it says
|
# Remove unwind feature, which is not useful here: the comment above it says
|
||||||
# “Avoid bundling libgcc on musl.”
|
# “Avoid bundling libgcc on musl.”
|
||||||
tomcli-set Cargo.toml del 'features.unwind'
|
tomcli-set Cargo.toml del 'features.unwind'
|
||||||
tomcli-set Cargo.toml del 'dependencies.unwinding'
|
tomcli-set Cargo.toml del 'dependencies.unwinding'
|
||||||
|
# Remove strict dependencies
|
||||||
|
sed -Ei 's|(version = ")=|\1|' Cargo.toml
|
||||||
|
# Remove bundled rust crates
|
||||||
|
rm -r include/cargo
|
||||||
|
# Remove bundled yyjson.
|
||||||
|
rm -rv include/yyjson/
|
||||||
|
|
||||||
%if %{without pendulum}
|
|
||||||
sed -i '/^pendulum\b/d' test/requirements.txt
|
|
||||||
%endif
|
|
||||||
# Test dependency on arrow appears spurious
|
|
||||||
# https://github.com/ijl/orjson/issues/559
|
|
||||||
sed -i '/^arrow\b/d' test/requirements.txt
|
|
||||||
# Remove unpackaged PyPI plugin
|
# Remove unpackaged PyPI plugin
|
||||||
sed -i '/pytest-random-order/d' test/requirements.txt
|
sed -i '/pytest-random-order/d' test/requirements.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%generate_buildrequires
|
%generate_buildrequires
|
||||||
%pyproject_buildrequires %{?with_tests:test/requirements.txt}
|
%pyproject_buildrequires %{?with_tests:test/requirements.txt}
|
||||||
%cargo_generate_buildrequires
|
%cargo_generate_buildrequires
|
||||||
|
|
@ -142,7 +101,7 @@ export RUSTFLAGS='%{build_rustflags}'
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%pyproject_install
|
%pyproject_install
|
||||||
%pyproject_save_files -l orjson
|
%pyproject_save_files orjson
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
|
@ -155,6 +114,7 @@ export RUSTFLAGS='%{build_rustflags}'
|
||||||
|
|
||||||
|
|
||||||
%files -n python3-orjson -f %{pyproject_files}
|
%files -n python3-orjson -f %{pyproject_files}
|
||||||
|
%license LICENSE-MIT LICENSE-APACHE LICENSES.dependencies
|
||||||
%doc README.md
|
%doc README.md
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (orjson-3.11.4-filtered.tar.xz) = 1a457a91dfa1918341acfebcdb86ddf92b5776f166be9dbd16a4253f55140ae0bc90f911ceb3a9b33abd963be22f089aa2764b25e1701691298c0e8840c8225a
|
SHA512 (orjson-3.10.7.tar.gz) = 3940b76039d6494626e69f9a2a0373779827c6686ab1321411f3b3a5056e0df227b68c9555796ce45f3952fe597c50740934d764f30dcf8bc1c84b2baf4b6631
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue