commit
b63b3d71dc
@ -0,0 +1 @@
|
||||
SOURCES/pyo3-0.19.2.crate
|
@ -0,0 +1 @@
|
||||
656aa07db46a4a6ea0481ff5955fca1d484a8dbd SOURCES/pyo3-0.19.2.crate
|
@ -0,0 +1,164 @@
|
||||
From 13590693f15bdc8208e448adf1da5b828331aaac Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Valentini <decathorpe@gmail.com>
|
||||
Date: Wed, 26 Jun 2024 19:58:54 +0200
|
||||
Subject: [PATCH] backport support for Python 3.13
|
||||
|
||||
---
|
||||
src/conversions/std/num.rs | 113 ++++++++++++++++++++++++++++---------
|
||||
1 file changed, 87 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/src/conversions/std/num.rs b/src/conversions/std/num.rs
|
||||
index 3427942..9dd93cf 100644
|
||||
--- a/src/conversions/std/num.rs
|
||||
+++ b/src/conversions/std/num.rs
|
||||
@@ -5,6 +5,8 @@ use crate::{
|
||||
ToPyObject,
|
||||
};
|
||||
use std::convert::TryFrom;
|
||||
+#[cfg(Py_3_13)]
|
||||
+use std::convert::TryInto;
|
||||
use std::num::{
|
||||
NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize, NonZeroU128,
|
||||
NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize,
|
||||
@@ -169,7 +171,7 @@ mod fast_128bit_int_conversion {
|
||||
|
||||
// for 128bit Integers
|
||||
macro_rules! int_convert_128 {
|
||||
- ($rust_type: ty, $is_signed: expr) => {
|
||||
+ ($rust_type: ty, $is_signed: literal) => {
|
||||
impl ToPyObject for $rust_type {
|
||||
#[inline]
|
||||
fn to_object(&self, py: Python<'_>) -> PyObject {
|
||||
@@ -178,18 +180,47 @@ mod fast_128bit_int_conversion {
|
||||
}
|
||||
impl IntoPy<PyObject> for $rust_type {
|
||||
fn into_py(self, py: Python<'_>) -> PyObject {
|
||||
- // Always use little endian
|
||||
- let bytes = self.to_le_bytes();
|
||||
- unsafe {
|
||||
- PyObject::from_owned_ptr(
|
||||
- py,
|
||||
- ffi::_PyLong_FromByteArray(
|
||||
- bytes.as_ptr() as *const std::os::raw::c_uchar,
|
||||
- bytes.len(),
|
||||
- 1,
|
||||
- $is_signed,
|
||||
- ),
|
||||
- )
|
||||
+ #[cfg(not(Py_3_13))]
|
||||
+ {
|
||||
+ let bytes = self.to_le_bytes();
|
||||
+ unsafe {
|
||||
+ PyObject::from_owned_ptr(
|
||||
+ py,
|
||||
+ ffi::_PyLong_FromByteArray(
|
||||
+ bytes.as_ptr().cast(),
|
||||
+ bytes.len(),
|
||||
+ 1,
|
||||
+ $is_signed.into(),
|
||||
+ ),
|
||||
+ )
|
||||
+ }
|
||||
+ }
|
||||
+ #[cfg(Py_3_13)]
|
||||
+ {
|
||||
+ let bytes = self.to_ne_bytes();
|
||||
+ if $is_signed {
|
||||
+ unsafe {
|
||||
+ PyObject::from_owned_ptr(
|
||||
+ py,
|
||||
+ ffi::PyLong_FromNativeBytes(
|
||||
+ bytes.as_ptr().cast(),
|
||||
+ bytes.len(),
|
||||
+ ffi::Py_ASNATIVEBYTES_NATIVE_ENDIAN,
|
||||
+ ),
|
||||
+ )
|
||||
+ }
|
||||
+ } else {
|
||||
+ unsafe {
|
||||
+ PyObject::from_owned_ptr(
|
||||
+ py,
|
||||
+ ffi::PyLong_FromUnsignedNativeBytes(
|
||||
+ bytes.as_ptr().cast(),
|
||||
+ bytes.len(),
|
||||
+ ffi::Py_ASNATIVEBYTES_NATIVE_ENDIAN,
|
||||
+ ),
|
||||
+ )
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,17 +235,47 @@ mod fast_128bit_int_conversion {
|
||||
let num = unsafe {
|
||||
PyObject::from_owned_ptr_or_err(ob.py(), ffi::PyNumber_Index(ob.as_ptr()))?
|
||||
};
|
||||
- let mut buffer = [0; std::mem::size_of::<$rust_type>()];
|
||||
- crate::err::error_on_minusone(ob.py(), unsafe {
|
||||
- ffi::_PyLong_AsByteArray(
|
||||
- num.as_ptr() as *mut ffi::PyLongObject,
|
||||
- buffer.as_mut_ptr(),
|
||||
- buffer.len(),
|
||||
- 1,
|
||||
- $is_signed,
|
||||
- )
|
||||
- })?;
|
||||
- Ok(<$rust_type>::from_le_bytes(buffer))
|
||||
+ let mut buffer = [0u8; std::mem::size_of::<$rust_type>()];
|
||||
+ #[cfg(not(Py_3_13))]
|
||||
+ {
|
||||
+ crate::err::error_on_minusone(ob.py(), unsafe {
|
||||
+ ffi::_PyLong_AsByteArray(
|
||||
+ num.as_ptr() as *mut ffi::PyLongObject,
|
||||
+ buffer.as_mut_ptr(),
|
||||
+ buffer.len(),
|
||||
+ 1,
|
||||
+ $is_signed.into(),
|
||||
+ )
|
||||
+ })?;
|
||||
+ Ok(<$rust_type>::from_le_bytes(buffer))
|
||||
+ }
|
||||
+ #[cfg(Py_3_13)]
|
||||
+ {
|
||||
+ let mut flags = ffi::Py_ASNATIVEBYTES_NATIVE_ENDIAN;
|
||||
+ if !$is_signed {
|
||||
+ flags |= ffi::Py_ASNATIVEBYTES_UNSIGNED_BUFFER
|
||||
+ | ffi::Py_ASNATIVEBYTES_REJECT_NEGATIVE;
|
||||
+ }
|
||||
+ let actual_size: usize = unsafe {
|
||||
+ ffi::PyLong_AsNativeBytes(
|
||||
+ num.as_ptr(),
|
||||
+ buffer.as_mut_ptr().cast(),
|
||||
+ buffer
|
||||
+ .len()
|
||||
+ .try_into()
|
||||
+ .expect("length of buffer fits in Py_ssize_t"),
|
||||
+ flags,
|
||||
+ )
|
||||
+ }
|
||||
+ .try_into()
|
||||
+ .map_err(|_| PyErr::fetch(ob.py()))?;
|
||||
+ if actual_size as usize > buffer.len() {
|
||||
+ return Err(crate::exceptions::PyOverflowError::new_err(
|
||||
+ "Python int larger than 128 bits",
|
||||
+ ));
|
||||
+ }
|
||||
+ Ok(<$rust_type>::from_ne_bytes(buffer))
|
||||
+ }
|
||||
}
|
||||
|
||||
#[cfg(feature = "experimental-inspect")]
|
||||
@@ -225,8 +286,8 @@ mod fast_128bit_int_conversion {
|
||||
};
|
||||
}
|
||||
|
||||
- int_convert_128!(i128, 1);
|
||||
- int_convert_128!(u128, 0);
|
||||
+ int_convert_128!(i128, true);
|
||||
+ int_convert_128!(u128, false);
|
||||
}
|
||||
|
||||
// For ABI3 we implement the conversion manually.
|
||||
--
|
||||
2.45.2
|
||||
|
@ -0,0 +1,43 @@
|
||||
From 44d2a7bc66a583beee9b000a77cfa418aa28b79a Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Valentini <decathorpe@gmail.com>
|
||||
Date: Wed, 5 Jul 2023 19:13:56 +0200
|
||||
Subject: [PATCH 1/3] ignore doctests with missing send_wrapper dependency
|
||||
|
||||
---
|
||||
src/marker.rs | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/marker.rs b/src/marker.rs
|
||||
index 8912f66..5ac0106 100644
|
||||
--- a/src/marker.rs
|
||||
+++ b/src/marker.rs
|
||||
@@ -66,7 +66,7 @@
|
||||
//! This will "work" to smuggle Python references across the closure, because we're not actually
|
||||
//! doing anything with threads:
|
||||
//!
|
||||
-//! ```rust, no_run
|
||||
+//! ```rust, ignore
|
||||
//! use pyo3::prelude::*;
|
||||
//! use pyo3::types::PyString;
|
||||
//! use send_wrapper::SendWrapper;
|
||||
@@ -158,7 +158,7 @@ use std::os::raw::c_int;
|
||||
/// This also implies that the interplay between `with_gil` and `allow_threads` is unsound, for example
|
||||
/// one can circumvent this protection using the [`send_wrapper`](https://docs.rs/send_wrapper/) crate:
|
||||
///
|
||||
-/// ```no_run
|
||||
+/// ```ignore
|
||||
/// # use pyo3::prelude::*;
|
||||
/// # use pyo3::types::PyString;
|
||||
/// use send_wrapper::SendWrapper;
|
||||
@@ -225,7 +225,7 @@ unsafe impl<T: Send> Ungil for T {}
|
||||
/// On nightly Rust, this is not based on the [`Send`] auto trait and hence we are able
|
||||
/// to prevent incorrectly circumventing it using e.g. the [`send_wrapper`](https://docs.rs/send_wrapper/) crate:
|
||||
///
|
||||
-/// ```compile_fail
|
||||
+/// ```ignore
|
||||
/// # use pyo3::prelude::*;
|
||||
/// # use pyo3::types::PyString;
|
||||
/// use send_wrapper::SendWrapper;
|
||||
--
|
||||
2.44.0
|
||||
|
@ -0,0 +1,25 @@
|
||||
From f5d0e9c16900ee863b0b6528b8df40dc7113b1c9 Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Valentini <decathorpe@gmail.com>
|
||||
Date: Tue, 23 Jan 2024 14:05:22 +0100
|
||||
Subject: [PATCH 2/3] Skip a doctest that does not compile with Rust 1.74+
|
||||
|
||||
---
|
||||
src/exceptions.rs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/exceptions.rs b/src/exceptions.rs
|
||||
index 48a0986..48ad973 100644
|
||||
--- a/src/exceptions.rs
|
||||
+++ b/src/exceptions.rs
|
||||
@@ -637,7 +637,7 @@ impl PyUnicodeDecodeError {
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
- /// ```
|
||||
+ /// ```rust, ignore
|
||||
/// use pyo3::prelude::*;
|
||||
/// use pyo3::exceptions::PyUnicodeDecodeError;
|
||||
///
|
||||
--
|
||||
2.44.0
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 4c266e662de58bd1dd7a5eb1cbb15982177a99ff Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Valentini <decathorpe@gmail.com>
|
||||
Date: Fri, 5 Apr 2024 11:08:53 +0200
|
||||
Subject: [PATCH 3/3] drop deny(warnings) from doctests
|
||||
|
||||
---
|
||||
src/lib.rs | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/lib.rs b/src/lib.rs
|
||||
index 8114e79..30f4cd5 100644
|
||||
--- a/src/lib.rs
|
||||
+++ b/src/lib.rs
|
||||
@@ -16,8 +16,7 @@
|
||||
deny(
|
||||
rust_2018_idioms,
|
||||
unused_lifetimes,
|
||||
- rust_2021_prelude_collisions,
|
||||
- warnings
|
||||
+ rust_2021_prelude_collisions
|
||||
),
|
||||
allow(unused_variables, unused_assignments, unused_extern_crates)
|
||||
)))]
|
||||
--
|
||||
2.44.0
|
||||
|
@ -0,0 +1,30 @@
|
||||
--- pyo3-0.19.2/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ pyo3-0.19.2/Cargo.toml 2023-11-13T23:14:39.566336+00:00
|
||||
@@ -151,9 +151,6 @@
|
||||
[dev-dependencies.rustversion]
|
||||
version = "1.0"
|
||||
|
||||
-[dev-dependencies.send_wrapper]
|
||||
-version = "0.6"
|
||||
-
|
||||
[dev-dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
@@ -163,9 +160,6 @@
|
||||
|
||||
[dev-dependencies.trybuild]
|
||||
version = ">=1.0.70"
|
||||
-
|
||||
-[dev-dependencies.widestring]
|
||||
-version = "0.5.1"
|
||||
|
||||
[build-dependencies.pyo3-build-config]
|
||||
version = "0.19.2"
|
||||
@@ -219,7 +213,6 @@
|
||||
"experimental-inspect",
|
||||
"rust_decimal",
|
||||
]
|
||||
-generate-import-lib = ["pyo3-ffi/generate-import-lib"]
|
||||
macros = [
|
||||
"pyo3-macros",
|
||||
"indoc",
|
@ -0,0 +1,431 @@
|
||||
## START: Set by rpmautospec
|
||||
## (rpmautospec version 0.6.3)
|
||||
## 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
|
||||
|
||||
# Generated by rust2rpm 25
|
||||
%bcond_without check
|
||||
%global debug_package %{nil}
|
||||
|
||||
%global crate pyo3
|
||||
|
||||
Name: rust-pyo3_0.19
|
||||
Version: 0.19.2
|
||||
Release: %autorelease
|
||||
Summary: Bindings to Python interpreter
|
||||
|
||||
License: Apache-2.0
|
||||
URL: https://crates.io/crates/pyo3
|
||||
Source: %{crates_source}
|
||||
# Manually created patch for downstream crate metadata changes
|
||||
# * drop send_wrapper and widestring dev-dependencies (not packaged yet)
|
||||
# * drop MSVC- and MinGW-only features
|
||||
Patch: pyo3-fix-metadata.diff
|
||||
# * skip the single doctest that depends on send_wrapper
|
||||
Patch: 0001-ignore-doctests-with-missing-send_wrapper-dependency.patch
|
||||
# * skip a doctest that does not compile with Rust 1.74+
|
||||
Patch: 0002-Skip-a-doctest-that-does-not-compile-with-Rust-1.74.patch
|
||||
# * drop deny(warnings) from doctests to fix building with recent Rust
|
||||
Patch: 0003-drop-deny-warnings-from-doctests.patch
|
||||
|
||||
# backport support for Python 3.13: https://github.com/PyO3/pyo3/pull/4184
|
||||
Patch: 0001-backport-support-for-Python-3.13.patch
|
||||
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
|
||||
%global _description %{expand:
|
||||
Bindings to Python interpreter.}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%package devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "%{crate}" crate.
|
||||
|
||||
%files devel
|
||||
%license %{crate_instdir}/LICENSE
|
||||
%doc %{crate_instdir}/Architecture.md
|
||||
%doc %{crate_instdir}/CHANGELOG.md
|
||||
%doc %{crate_instdir}/Code-of-Conduct.md
|
||||
%doc %{crate_instdir}/Contributing.md
|
||||
%doc %{crate_instdir}/README.md
|
||||
%doc %{crate_instdir}/Releasing.md
|
||||
%{crate_instdir}/
|
||||
|
||||
%package -n %{name}+default-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+default-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "default" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+default-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-py310-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-py310-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3-py310" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-py310-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-py311-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-py311-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3-py311" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-py311-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-py37-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-py37-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3-py37" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-py37-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-py38-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-py38-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3-py38" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-py38-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+abi3-py39-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+abi3-py39-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "abi3-py39" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+abi3-py39-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+anyhow-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+anyhow-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "anyhow" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+anyhow-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+auto-initialize-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+auto-initialize-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "auto-initialize" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+auto-initialize-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+chrono-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+chrono-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "chrono" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+chrono-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+experimental-inspect-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+experimental-inspect-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "experimental-inspect" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+experimental-inspect-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+extension-module-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+extension-module-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "extension-module" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+extension-module-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+eyre-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+eyre-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "eyre" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+eyre-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+full-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+full-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "full" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+full-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+hashbrown-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+hashbrown-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "hashbrown" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+hashbrown-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+indexmap-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+indexmap-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "indexmap" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+indexmap-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+indoc-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+indoc-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "indoc" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+indoc-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+inventory-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+inventory-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "inventory" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+inventory-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+macros-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+macros-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "macros" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+macros-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+multiple-pymethods-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+multiple-pymethods-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "multiple-pymethods" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+multiple-pymethods-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+nightly-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+nightly-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "nightly" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+nightly-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+num-bigint-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+num-bigint-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "num-bigint" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+num-bigint-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+num-complex-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+num-complex-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "num-complex" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+num-complex-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+pyo3-macros-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+pyo3-macros-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "pyo3-macros" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+pyo3-macros-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+rust_decimal-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+rust_decimal-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "rust_decimal" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+rust_decimal-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+serde-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+serde-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "serde" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+serde-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+unindent-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+unindent-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "unindent" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+unindent-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version} -p1
|
||||
# drop files that are not useful
|
||||
rm -r emscripten/ newsfragments/
|
||||
# drop the tests for which dependencies were removed
|
||||
rm tests/test_pep_587.rs
|
||||
%cargo_prep
|
||||
|
||||
%generate_buildrequires
|
||||
# unit tests require optional dependencies
|
||||
%cargo_generate_buildrequires -a
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
|
||||
%install
|
||||
%cargo_install
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
# * unit tests require an UTF-8 locale
|
||||
# * unit tests require the "auto-initialize" feature
|
||||
export LANG=C.utf8
|
||||
%cargo_test -f auto-initialize -- -- --skip doc_test::guide_migration_md
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sun Jan 05 2025 Arkady L. Shane <tigro@msvsphere-os.ru> - 0.19.2-4
|
||||
- Rebuilt for MSVSphere 10
|
||||
|
||||
## START: Generated by rpmautospec
|
||||
* Wed Jun 26 2024 Fabio Valentini <decathorpe@gmail.com> - 0.19.2-4
|
||||
- Backport support for Python 3.13
|
||||
|
||||
* Fri Apr 05 2024 Fabio Valentini <decathorpe@gmail.com> - 0.19.2-3
|
||||
- Drop deny(warnings) from doctests to fix building with recent Rust
|
||||
|
||||
* Tue Jan 23 2024 Fabio Valentini <decathorpe@gmail.com> - 0.19.2-2
|
||||
- Skip a doctest that does not compile with Rust 1.74+
|
||||
|
||||
* Mon Nov 13 2023 Fabio Valentini <decathorpe@gmail.com> - 0.19.2-1
|
||||
- Initial import (pyo3 0.19 compat package)
|
||||
## END: Generated by rpmautospec
|
Loading…
Reference in new issue