From 742d1cf398793ad6312b8c95cf821ce1f2bbcee4 Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 16 Dec 2024 21:39:41 +0300 Subject: [PATCH] import maturin-1.4.0-4.el10 --- .gitignore | 2 + .maturin.metadata | 2 + ...-features-and-unused-dev-dependencie.patch | 88 +++++++++ ...ble-cargo-flags-from-setuptools_rust.patch | 38 ++++ ...from-non-executable-__init__.py-file.patch | 21 ++ SPECS/maturin.spec | 185 ++++++++++++++++++ 6 files changed, 336 insertions(+) create mode 100644 .gitignore create mode 100644 .maturin.metadata create mode 100644 SOURCES/0001-drop-unavailable-features-and-unused-dev-dependencie.patch create mode 100644 SOURCES/0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch create mode 100644 SOURCES/0003-remove-shebang-from-non-executable-__init__.py-file.patch create mode 100644 SPECS/maturin.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d28d6fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/maturin-1.4.0.tar.gz +SOURCES/maturin-1.4.0-vendor.tar.xz diff --git a/.maturin.metadata b/.maturin.metadata new file mode 100644 index 0000000..5b51787 --- /dev/null +++ b/.maturin.metadata @@ -0,0 +1,2 @@ +3c60bdbb779aec96c1f01431a0dbe56930e5de90 SOURCES/maturin-1.4.0.tar.gz +c0330e6ac30c2d12c4565b1da566b4d22705fe1f SOURCES/maturin-1.4.0-vendor.tar.xz diff --git a/SOURCES/0001-drop-unavailable-features-and-unused-dev-dependencie.patch b/SOURCES/0001-drop-unavailable-features-and-unused-dev-dependencie.patch new file mode 100644 index 0000000..1c34fa6 --- /dev/null +++ b/SOURCES/0001-drop-unavailable-features-and-unused-dev-dependencie.patch @@ -0,0 +1,88 @@ +From 3966bd912de0f4f76ce137bcd053e11a8d02997a Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Tue, 12 Dec 2023 12:34:39 +0100 +Subject: [PATCH 1/3] drop unavailable features and unused dev-dependencies + +--- + Cargo.toml | 42 ++---------------------------------------- + 1 file changed, 2 insertions(+), 40 deletions(-) + +diff --git a/Cargo.toml b/Cargo.toml +index e309680..316a552 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -80,10 +80,6 @@ time = "0.3.17" + clap = { version = "4.0.0", features = ["derive", "env", "wrap_help", "unstable-styles"] } + clap_complete_command = { version = "0.5.1", optional = true } + +-# cross compile +-cargo-zigbuild = { version = "0.18.0", default-features = false, optional = true } +-cargo-xwin = { version = "0.16.2", default-features = false, optional = true } +- + # log + tracing = "0.1.36" + tracing-subscriber = { version = "0.3.15", features = ["env-filter"], optional = true } +@@ -93,58 +89,24 @@ dialoguer = { version = "0.11.0", default-features = false, optional = true } + console = { version = "0.15.4", optional = true } + minijinja = { version = "1.0.7", optional = true } + +-# upload +-bytesize = { version = "1.0.1", optional = true } +-configparser = { version = "3.0.3", optional = true } +-dirs = { version = "5.0.0", optional = true } +-multipart = { version = "0.18.0", features = ["client"], default-features = false, optional = true } +-ureq = { version = "2.9.1", features = ["gzip", "json", "socks-proxy"], default-features = false, optional = true } +-native-tls = { version = "0.2.8", optional = true } +-rustls = { version = "0.21.9", optional = true } +-rustls-pemfile = { version = "2.0.0", optional = true } +-keyring = { version = "2.0.0", default-features = false, features = ["linux-no-secret-service"], optional = true } +-wild = { version = "2.1.0", optional = true } +-url = { version = "2.5.0", optional = true } +- + [dev-dependencies] + expect-test = "1.4.1" + indoc = "2.0.3" + pretty_assertions = "1.3.0" +-rustversion = "1.0.9" + time = { version = "0.3.17", features = ["macros"] } +-trycmd = "0.14.11" +-which = "5.0.0" + + [features] +-default = ["full", "rustls"] ++default = ["full"] + +-full = ["cli-completion", "cross-compile", "log", "scaffolding", "upload"] ++full = ["cli-completion", "log", "scaffolding"] + + log = ["tracing-subscriber"] + + cli-completion = ["dep:clap_complete_command"] + +-upload = ["ureq", "multipart", "configparser", "bytesize", "dialoguer/password", "url", "wild", "dep:dirs"] +-# keyring doesn't support *BSD so it's not enabled in `full` by default +-password-storage = ["upload", "keyring"] +- +-rustls = ["dep:rustls", "ureq?/tls", "cargo-xwin?/rustls-tls", "dep:rustls-pemfile"] +-native-tls = ["dep:native-tls", "ureq?/native-tls", "cargo-xwin?/native-tls", "dep:rustls-pemfile"] +- +-# cross compile using zig or xwin +-cross-compile = ["zig", "xwin"] +-zig = ["cargo-zigbuild"] +-xwin = ["cargo-xwin"] +- + # project scaffolding + scaffolding = ["dialoguer", "console", "minijinja"] + +-# Internal feature to speed up the tests significantly +-faster-tests = [] +- +-# Deprecated features, keep it now for compatibility +-human-panic = [] +- + # Without this, compressing the .gz archive becomes notably slow for debug builds + [profile.dev.package.miniz_oxide] + opt-level = 3 +-- +2.43.0 + diff --git a/SOURCES/0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch b/SOURCES/0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch new file mode 100644 index 0000000..0a90e8a --- /dev/null +++ b/SOURCES/0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch @@ -0,0 +1,38 @@ +From 13aff723200e5936574a4a98954d054cee9fa3c5 Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Tue, 12 Dec 2023 12:35:25 +0100 +Subject: [PATCH 2/3] drop incompatible cargo flags from setuptools_rust + +--- + setup.py | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/setup.py b/setup.py +index 50d15be..1443b94 100644 +--- a/setup.py ++++ b/setup.py +@@ -44,12 +44,6 @@ with open("README.md", encoding="utf-8", errors="ignore") as fp: + with open("Cargo.toml", "rb") as fp: + version = tomllib.load(fp)["package"]["version"] + +-# Use `--no-default-features` by default for a minimal build to support PEP 517. +-# `MATURIN_SETUP_ARGS` env var can be used to pass customized arguments to cargo. +-cargo_args = ["--no-default-features"] +-if os.getenv("MATURIN_SETUP_ARGS"): +- cargo_args = shlex.split(os.getenv("MATURIN_SETUP_ARGS", "")) +- + setup( + name="maturin", + author="konstin", +@@ -64,7 +58,7 @@ setup( + python_requires=">=3.7", + cmdclass={"bdist_wheel": bdist_wheel}, + packages=["maturin"], +- rust_extensions=[RustBin("maturin", args=cargo_args, cargo_manifest_args=["--locked"])], ++ rust_extensions=[RustBin("maturin")], + classifiers=[ + "Topic :: Software Development :: Build Tools", + "Programming Language :: Rust", +-- +2.43.0 + diff --git a/SOURCES/0003-remove-shebang-from-non-executable-__init__.py-file.patch b/SOURCES/0003-remove-shebang-from-non-executable-__init__.py-file.patch new file mode 100644 index 0000000..f69af9b --- /dev/null +++ b/SOURCES/0003-remove-shebang-from-non-executable-__init__.py-file.patch @@ -0,0 +1,21 @@ +From ce97e1038a53ebd7bffcb2e6ca9cc3faa4aa5e04 Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Tue, 12 Dec 2023 12:36:00 +0100 +Subject: [PATCH 3/3] remove shebang from non-executable __init__.py file + +--- + maturin/__init__.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/maturin/__init__.py b/maturin/__init__.py +index 0775367..a80e85e 100644 +--- a/maturin/__init__.py ++++ b/maturin/__init__.py +@@ -1,4 +1,3 @@ +-#!/usr/bin/env python3 + """ + maturin's implementation of the PEP 517 interface. Calls maturin through subprocess + +-- +2.43.0 + diff --git a/SPECS/maturin.spec b/SPECS/maturin.spec new file mode 100644 index 0000000..82ecbd3 --- /dev/null +++ b/SPECS/maturin.spec @@ -0,0 +1,185 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 4; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%bcond check 1 + +Name: maturin +Version: 1.4.0 +Release: %autorelease +Summary: Build and publish Rust crates as Python packages +SourceLicense: MIT OR Apache-2.0 + +%global pypi_version %(echo %{version} | tr -d "~") + +# (Apache-2.0 OR MIT) AND BSD-3-Clause +# (MIT OR Apache-2.0) AND Unicode-DFS-2016 +# 0BSD +# 0BSD OR MIT OR Apache-2.0 +# Apache-2.0 +# Apache-2.0 OR BSD-2-Clause +# Apache-2.0 OR BSL-1.0 +# Apache-2.0 OR MIT +# Apache-2.0 WITH LLVM-exception +# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +# BSD-2-Clause OR Apache-2.0 OR MIT +# CC0-1.0 OR MIT-0 OR Apache-2.0 +# MIT +# MIT OR Apache-2.0 +# MIT OR Apache-2.0 OR Zlib +# MIT OR Zlib OR Apache-2.0 +# MPL-2.0 +# Unlicense OR MIT +# Zlib OR Apache-2.0 OR MIT +License: 0BSD AND Apache-2.0 AND Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSD-2-Clause) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) +# LICENSE.dependencies contains a full license breakdown + +URL: https://github.com/PyO3/maturin +Source0: %{pypi_source maturin %{pypi_version}} +# To create the vendor tarball: +# tar xf %%{name}-%%{version}.tar.gz ; pushd %%{name}-%%{version} ; \ +# patch -p1 < ../0001-disable-unavailable-features-and-drop-unused-test-de.patch && \ +# cargo vendor --versioned-dirs && tar Jcvf ../%%{name}-%%{version}-vendor.tar.xz vendor/ ; popd +Source1: %{name}-%{version}-vendor.tar.xz + +# * disable features with missing dependencies: +# - cross (support for cross compiling with zig / xwin) +# - upload (support for uploading wheels to PyPI) +# * drop unused test dependencies +Patch: 0001-drop-unavailable-features-and-unused-dev-dependencie.patch + +# * drop incompatible arguments from setuptools_rust cargo invocations +Patch: 0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch + +# * drop #!/usr/bin/env python3 shebang from maturin/__init__.py +Patch: 0003-remove-shebang-from-non-executable-__init__.py-file.patch + +%if %{defined rhel} +BuildRequires: rust-toolset +%else +BuildRequires: cargo-rpm-macros >= 24 +%endif +BuildRequires: python3-devel + +%py_provides python3-maturin + +%description +Build and publish crates with pyo3, rust-cpython and cffi bindings as +well as rust binaries as python packages. + +%prep +%autosetup -n maturin-%{pypi_version} -p1 %{?rhel:-a1} +%cargo_prep %{?rhel:-v vendor} + +%generate_buildrequires +%pyproject_buildrequires +%if %{undefined rhel} +%cargo_generate_buildrequires +%endif + +%build +export RUSTFLAGS="%{build_rustflags}" +%pyproject_wheel + +# write license summary and breakdown +%{cargo_license_summary} +%{cargo_license} > LICENSE.dependencies +%if %{defined rhel} +%{cargo_vendor_manifest} +%endif + +%install +%pyproject_install +%pyproject_save_files maturin + +# generate and install shell completions +target/release/maturin completions bash > maturin.bash +target/release/maturin completions fish > maturin.fish +target/release/maturin completions zsh > _maturin + +install -Dpm 0644 maturin.bash -t %{buildroot}/%{bash_completions_dir} +install -Dpm 0644 maturin.fish -t %{buildroot}/%{fish_completions_dir} +install -Dpm 0644 _maturin -t %{buildroot}/%{zsh_completions_dir} + +%if %{with check} +%check +# * skip a test that fails with Rust 1.74+ +# * skip tests for which fixtures are not included in published sources +%cargo_test -- -- --skip build_context::test::test_macosx_deployment_target --skip build_options::test::test_find_bridge --skip metadata::test::test_implicit_readme --skip metadata::test::test_merge_metadata_from_pyproject --skip pyproject_toml::tests::test_warn_missing_maturin_version +%endif + +%files -f %{pyproject_files} +%license license-apache +%license license-mit +%license LICENSE.dependencies +%if %{defined rhel} +%license cargo-vendor.txt +%endif +%doc README.md +%doc Changelog.md + +%{_bindir}/maturin + +%{bash_completions_dir}/maturin.bash +%{fish_completions_dir}/maturin.fish +%{zsh_completions_dir}/_maturin + +%changelog +* Mon Dec 16 2024 Arkady L. Shane - 1.4.0-4 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Tue Oct 29 2024 Troy Dawson - 1.4.0-4 +- Bump release for October 2024 mass rebuild: + +* Mon Jun 24 2024 Troy Dawson - 1.4.0-3 +- Bump release for June 2024 mass rebuild + +* Thu Feb 01 2024 Yaakov Selkowitz - 1.4.0-2 +- Update Rust macro usage + +* Wed Dec 13 2023 Fabio Valentini - 1.4.0-1 +- Update to version 1.4.0 + +* Wed Nov 29 2023 Fabio Valentini - 1.3.2-1 +- Update to version 1.3.2 + +* Mon Nov 13 2023 Yaakov Selkowitz - 1.2.3-2 +- Fix RHEL/ELN build + +* Tue Sep 05 2023 Fabio Valentini - 1.2.3-1 +- Update to version 1.2.3; Fixes RHBZ#2229485 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jun 24 2023 Python Maint - 1.1.0-2 +- Rebuilt for Python 3.12 + +* Sat Jun 24 2023 Fabio Valentini - 1.1.0-1 +- Update to version 1.1.0; Fixes RHBZ#2214007 + +* Wed Jun 14 2023 Python Maint - 1.0.1-3 +- Rebuilt for Python 3.12 + +* Wed Jun 07 2023 Fabio Valentini - 1.0.1-2 +- Enable log and scaffolding features + +* Mon May 29 2023 Fabio Valentini - 1.0.1-1 +- Update to version 1.0.1; Fixes RHBZ#2210549 + +* Tue May 23 2023 Fabio Valentini - 1.0.0-1 +- Update to version 1.0.0 + +* Tue May 23 2023 Fabio Valentini - 1.0.0~b9-1 +- Update to version 1.0.0b9 + +* Thu May 18 2023 Fabio Valentini - 1.0.0~b7-1 +- Initial import (#2187698) +## END: Generated by rpmautospec