diff --git a/python-maturin.spec b/python-maturin.spec index 44336730b48e0564b5dfe18540256e8ce465f2ce..091699daa4d59ff3cf3c43146a9a1d9f70b7e8f2 100644 --- a/python-maturin.spec +++ b/python-maturin.spec @@ -3,13 +3,15 @@ Name: python-%{pypi_name} Version: 1.1.0 -Release: 1 +Release: 2 Summary: Build and publish Rust crates as Python packages. License: MIT OR Apache-2.0 URL: https://github.com/PyO3/maturin Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz Source1: cargo-vendor-cache +Source2: sw64-vendor.tar.xz +Patch0001: support-sw_64.patch BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -31,8 +33,14 @@ Miscellaneous utilities for dealing with filesystems, paths, projects, subproces %prep -%autosetup -p1 -n %{pypi_name}-%{version} +%setup -n %{pypi_name}-%{version} tar xzvf %{SOURCE1} -C . +%ifarch sw_64 +%patch 0001 -p1 +rm -rf vendor/{libc,linux-raw-sys,rustix,target-lexicon} +tar -xf %{SOURCE2} -C vendor/ +%endif + mkdir .cargo cat >> .cargo/config.toml << EOF [source.crates-io] @@ -57,5 +65,8 @@ EOF %{python3_sitearch}/%{pypi_name}*.dist-info/ %changelog +* Mon May 12 2025 mahailiang - 1.1.0-2 +- add sw_64 support + * Tue Jun 27 2023 Dongxing Wang - 1.1.0-1 - Initial package diff --git a/support-sw_64.patch b/support-sw_64.patch new file mode 100644 index 0000000000000000000000000000000000000000..3d50da068fb7e96af838097b94e27f4e8c38338d --- /dev/null +++ b/support-sw_64.patch @@ -0,0 +1,84 @@ +From 8b2f1e6ce82b7613932b8a35ce9357c857cdd144 Mon Sep 17 00:00:00 2001 +From: Super User +Date: Thu, 8 May 2025 16:18:54 +0800 +Subject: [PATCH] support sw_64 + +--- + src/target.rs | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/target.rs b/src/target.rs +index 999e2aa..cc49703 100644 +--- a/src/target.rs ++++ b/src/target.rs +@@ -74,6 +74,7 @@ pub enum Arch { + Mipsel, + Sparc64, + LoongArch64, ++ sw64, + } + + impl fmt::Display for Arch { +@@ -94,6 +95,7 @@ impl fmt::Display for Arch { + Arch::Mipsel => write!(f, "mipsel"), + Arch::Sparc64 => write!(f, "sparc64"), + Arch::LoongArch64 => write!(f, "loongarch64"), ++ Arch::sw64 => write!(f, "sw_64"), + } + } + } +@@ -118,6 +120,7 @@ impl Arch { + Arch::Wasm32 => "wasm32", + Arch::S390X => "s390x", + Arch::LoongArch64 => "loongarch64", ++ Arch::sw64 => "sw_64", + } + } + } +@@ -140,6 +143,7 @@ fn get_supported_architectures(os: &Os) -> Vec { + Arch::Mipsel, + Arch::Sparc64, + Arch::LoongArch64, ++ Arch::sw64, + ], + Os::Windows => vec![Arch::X86, Arch::X86_64, Arch::Aarch64], + Os::Macos => vec![Arch::Aarch64, Arch::X86_64], +@@ -248,6 +252,7 @@ impl Target { + Architecture::Mips32(Mips32Architecture::Mipsel) => Arch::Mipsel, + Architecture::Sparc64 => Arch::Sparc64, + Architecture::LoongArch64 => Arch::LoongArch64, ++ Architecture::sw64 => Arch::sw64, + unsupported => bail!("The architecture {} is not supported", unsupported), + }; + +@@ -329,6 +334,7 @@ impl Target { + Arch::Mipsel => "mips", + Arch::Sparc64 => "sparc64", + Arch::LoongArch64 => "loongarch64", ++ Arch::sw64 => "sw_64", + } + } + +@@ -373,7 +379,8 @@ impl Target { + | Arch::Mipsel + | Arch::Powerpc + | Arch::Sparc64 +- | Arch::LoongArch64 => PlatformTag::Linux, ++ | Arch::LoongArch64 ++ | Arch::sw64 => PlatformTag::Linux, + } + } + +@@ -388,7 +395,8 @@ impl Target { + | Arch::Riscv64 + | Arch::Mips64el + | Arch::Sparc64 +- | Arch::LoongArch64 => 64, ++ | Arch::LoongArch64 ++ | Arch::sw64 => 64, + Arch::Armv6L + | Arch::Armv7L + | Arch::X86 +-- +2.43.0 + diff --git a/sw64-vendor.tar.xz b/sw64-vendor.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..052432f7cf2596dc7a68e073f5e59dda6366cb22 Binary files /dev/null and b/sw64-vendor.tar.xz differ