Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-libcst for openSUSE:Factory 
checked in at 2024-09-10 21:12:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-libcst (Old)
 and      /work/SRC/openSUSE:Factory/.python-libcst.new.17570 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-libcst"

Tue Sep 10 21:12:28 2024 rev:10 rq:1199686 version:1.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-libcst/python-libcst.changes      
2024-07-25 12:06:25.548045723 +0200
+++ /work/SRC/openSUSE:Factory/.python-libcst.new.17570/python-libcst.changes   
2024-09-10 21:12:35.184420296 +0200
@@ -1,0 +2,6 @@
+Mon Sep  9 11:38:15 UTC 2024 - Matej Cepl <mc...@cepl.eu>
+
+- Add pyo3-022.patch bumping the dependency of pyo3 to 0.22
+  (gh#Instagram/LibCST!1180).
+
+-------------------------------------------------------------------

New:
----
  pyo3-022.patch

BETA DEBUG BEGIN:
  New:
- Add pyo3-022.patch bumping the dependency of pyo3 to 0.22
  (gh#Instagram/LibCST!1180).
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-libcst.spec ++++++
--- /var/tmp/diff_new_pack.I1d0TP/_old  2024-09-10 21:12:36.552477296 +0200
+++ /var/tmp/diff_new_pack.I1d0TP/_new  2024-09-10 21:12:36.552477296 +0200
@@ -34,6 +34,9 @@
 URL:            https://github.com/Instagram/LibCST
 Source0:        
https://files.pythonhosted.org/packages/source/l/libcst/%{modname}-%{version}.tar.gz
 Source1:        vendor.tar.zst
+# PATCH-FIX-UPSTREAM pyo3-022.patch gh#Instagram/LibCST!1180 mc...@suse.com
+# updgrade pyo3 to 0.22 version
+Patch0:         pyo3-022.patch
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools-rust}
 BuildRequires:  %{python_module setuptools_scm}
@@ -72,26 +75,23 @@
 #   libcst/metadata/tests/test_full_repo_manager.py \
 #   libcst/tests/test_pyre_integration.py
 
-%if %{without test}
 %build
 export CARGO_NET_OFFLINE=true PROFILE=release
 %pyproject_wheel
-%endif
 
 %install
-%if %{without test}
 export CARGO_NET_OFFLINE=true PROFILE=release
 %pyproject_install
 # gh#Instagram/LibCST#818
 %{python_expand rm -rf %{buildroot}%{$python_sitearch}/libcst/tests
 %fdupes %{buildroot}%{$python_sitearch}
 }
-%endif
 
 %clean
 
 %if %{with test}
 %check
+%python_expand find %{buildroot}%{$python_sitearch} -name \*.so\*
 %pyunittest_arch discover -v libcst/tests
 %endif
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.I1d0TP/_old  2024-09-10 21:12:36.584478629 +0200
+++ /var/tmp/diff_new_pack.I1d0TP/_new  2024-09-10 21:12:36.588478796 +0200
@@ -4,6 +4,5 @@
      <param name="cargotoml">native/Cargo.toml</param>
      <param name="update">true</param>
   </service>
-  <service name="cargo_audit" mode="manual" />
 </services>
 

++++++ pyo3-022.patch ++++++
>From 03ca79632fe42ff2d4b22ed6d03c2289497e8d6c Mon Sep 17 00:00:00 2001
From: Jelmer Vernooij <jel...@jelmer.uk>
Date: Tue, 30 Jul 2024 15:34:55 +0000
Subject: [PATCH] Upgrade pyo3 to 0.22

---
 .cargo/config.toml                       |    8 +++++++-
 native/libcst/Cargo.toml                 |    2 +-
 native/libcst/src/nodes/expression.rs    |   13 +++++++------
 native/libcst/src/nodes/parser_config.rs |    2 +-
 native/libcst/src/nodes/traits.rs        |    2 +-
 native/libcst/src/parser/errors.rs       |   13 +++++++------
 native/libcst/src/py.rs                  |    2 +-
 native/libcst_derive/src/into_py.rs      |   15 +++++++++------
 8 files changed, 34 insertions(+), 23 deletions(-)

--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -8,4 +8,10 @@ rustflags = [
 rustflags = [
   "-C", "link-arg=-undefined",
   "-C", "link-arg=dynamic_lookup",
-]
\ No newline at end of file
+]
+
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
--- a/native/libcst/Cargo.toml
+++ b/native/libcst/Cargo.toml
@@ -36,7 +36,7 @@ trace = ["peg/trace"]
 
 [dependencies]
 paste = "1.0.9"
-pyo3 = { version = "0.20", optional = true }
+pyo3 = { version = "0.22", optional = true }
 thiserror = "1.0.37"
 peg = "0.8.1"
 chic = "1.2.2"
--- a/native/libcst/src/nodes/expression.rs
+++ b/native/libcst/src/nodes/expression.rs
@@ -2524,6 +2524,7 @@ impl<'r, 'a> Inflate<'a> for DeflatedNam
 #[cfg(feature = "py")]
 mod py {
 
+    use pyo3::types::PyAnyMethods;
     use pyo3::types::PyModule;
 
     use super::*;
@@ -2535,7 +2536,7 @@ mod py {
             match self {
                 Self::Starred(s) => s.try_into_py(py),
                 Self::Simple { value, comma } => {
-                    let libcst = PyModule::import(py, "libcst")?;
+                    let libcst = PyModule::import_bound(py, "libcst")?;
                     let kwargs = [
                         Some(("value", value.try_into_py(py)?)),
                         comma
@@ -2547,11 +2548,11 @@ mod py {
                     .filter(|x| x.is_some())
                     .map(|x| x.as_ref().unwrap())
                     .collect::<Vec<_>>()
-                    .into_py_dict(py);
+                    .into_py_dict_bound(py);
                     Ok(libcst
                         .getattr("Element")
                         .expect("no Element found in libcst")
-                        .call((), Some(kwargs))?
+                        .call((), Some(&kwargs))?
                         .into())
                 }
             }
@@ -2571,7 +2572,7 @@ mod py {
                     whitespace_before_colon,
                     ..
                 } => {
-                    let libcst = PyModule::import(py, "libcst")?;
+                    let libcst = PyModule::import_bound(py, "libcst")?;
                     let kwargs = [
                         Some(("key", key.try_into_py(py)?)),
                         Some(("value", value.try_into_py(py)?)),
@@ -2592,11 +2593,11 @@ mod py {
                     .filter(|x| x.is_some())
                     .map(|x| x.as_ref().unwrap())
                     .collect::<Vec<_>>()
-                    .into_py_dict(py);
+                    .into_py_dict_bound(py);
                     Ok(libcst
                         .getattr("DictElement")
                         .expect("no Element found in libcst")
-                        .call((), Some(kwargs))?
+                        .call((), Some(&kwargs))?
                         .into())
                 }
             }
--- a/native/libcst/src/nodes/parser_config.rs
+++ b/native/libcst/src/nodes/parser_config.rs
@@ -125,7 +125,7 @@ fn parser_config_asdict<'py>(py: Python<
         ("version", config.version.clone_ref(py)),
         ("future_imports", config.future_imports.clone_ref(py)),
     ]
-    .into_py_dict(py)
+    .into_py_dict_bound(py)
 }
 
 pub fn init_module(_py: Python, m: &PyModule) -> PyResult<()> {
--- a/native/libcst/src/nodes/traits.rs
+++ b/native/libcst/src/nodes/traits.rs
@@ -170,7 +170,7 @@ pub mod py {
                 .map(|x| x.try_into_py(py))
                 .collect::<PyResult<Vec<_>>>()?
                 .into_iter();
-            Ok(PyTuple::new(py, converted).into())
+            Ok(PyTuple::new_bound(py, converted).into())
         }
     }
 
--- a/native/libcst/src/parser/errors.rs
+++ b/native/libcst/src/parser/errors.rs
@@ -28,7 +28,7 @@ pub enum ParserError<'a> {
 #[cfg(feature = "py")]
 mod py_error {
 
-    use pyo3::types::{IntoPyDict, PyModule};
+    use pyo3::types::{IntoPyDict, PyAnyMethods, PyModule};
     use pyo3::{IntoPy, PyErr, PyErrArguments, Python};
 
     use super::ParserError;
@@ -65,13 +65,14 @@ mod py_error {
                     ("raw_line", (line + 1).into_py(py)),
                     ("raw_column", col.into_py(py)),
                 ]
-                .into_py_dict(py);
-                let libcst = PyModule::import(py, "libcst").expect("libcst 
cannot be imported");
-                PyErr::from_value(
+                .into_py_dict_bound(py);
+                let libcst =
+                    PyModule::import_bound(py, "libcst").expect("libcst cannot 
be imported");
+                PyErr::from_value_bound(
                     libcst
                         .getattr("ParserSyntaxError")
                         .expect("ParserSyntaxError not found")
-                        .call((), Some(kwargs))
+                        .call((), Some(&kwargs))
                         .expect("failed to instantiate"),
                 )
             })
@@ -86,7 +87,7 @@ mod py_error {
                 ("raw_line", self.raw_line.into_py(py)),
                 ("raw_column", self.raw_column.into_py(py)),
             ]
-            .into_py_dict(py)
+            .into_py_dict_bound(py)
             .into_py(py)
         }
     }
--- a/native/libcst/src/py.rs
+++ b/native/libcst/src/py.rs
@@ -8,7 +8,7 @@ use pyo3::prelude::*;
 
 #[pymodule]
 #[pyo3(name = "native")]
-pub fn libcst_native(_py: Python, m: &PyModule) -> PyResult<()> {
+pub fn libcst_native(_py: Python, m: &Bound<PyModule>) -> PyResult<()> {
     #[pyfn(m)]
     fn parse_module(source: String, encoding: Option<&str>) -> 
PyResult<PyObject> {
         let m = crate::parse_module(source.as_str(), encoding)?;
--- a/native/libcst_derive/src/into_py.rs
+++ b/native/libcst_derive/src/into_py.rs
@@ -38,12 +38,14 @@ fn impl_into_py_enum(ast: &DeriveInput,
                 let kwargs_toks = fields_to_kwargs(&var.fields, true);
                 toks.push(quote! {
                     Self::#varname { #(#fieldnames,)* .. } => {
-                        let libcst = pyo3::types::PyModule::import(py, 
"libcst")?;
+                        use pyo3::types::PyAnyMethods;
+
+                        let libcst = pyo3::types::PyModule::import_bound(py, 
"libcst")?;
                         let kwargs = #kwargs_toks ;
                         Ok(libcst
                             .getattr(stringify!(#varname))
                             .expect(stringify!(no #varname found in libcst))
-                            .call((), Some(kwargs))?
+                            .call((), Some(&kwargs))?
                             .into())
                     }
                 })
@@ -87,12 +89,13 @@ fn impl_into_py_struct(ast: &DeriveInput
         #[automatically_derived]
         impl#generics crate::nodes::traits::py::TryIntoPy<pyo3::PyObject> for 
#ident #generics {
             fn try_into_py(self, py: pyo3::Python) -> 
pyo3::PyResult<pyo3::PyObject> {
-                let libcst = pyo3::types::PyModule::import(py, "libcst")?;
+                use pyo3::types::PyAnyMethods;
+                let libcst = pyo3::types::PyModule::import_bound(py, 
"libcst")?;
                 let kwargs = #kwargs_toks ;
                 Ok(libcst
                     .getattr(stringify!(#ident))
                     .expect(stringify!(no #ident found in libcst))
-                    .call((), Some(kwargs))?
+                    .call((), Some(&kwargs))?
                     .into())
             }
         }
@@ -162,7 +165,7 @@ fn fields_to_kwargs(fields: &Fields, is_
         #(#optional_rust_varnames.map(|x| 
x.try_into_py(py)).transpose()?.map(|x| (stringify!(#optional_py_varnames), 
x)),)*
     };
     if empty_kwargs {
-        quote! { pyo3::types::PyDict::new(py) }
+        quote! { pyo3::types::PyDict::new_bound(py) }
     } else {
         quote! {
             [ #kwargs_pairs #optional_pairs ]
@@ -170,7 +173,7 @@ fn fields_to_kwargs(fields: &Fields, is_
                 .filter(|x| x.is_some())
                 .map(|x| x.as_ref().unwrap())
                 .collect::<Vec<_>>()
-                .into_py_dict(py)
+                .into_py_dict_bound(py)
         }
     }
 }

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/python-libcst/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.python-libcst.new.17570/vendor.tar.zst differ: char 
6, line 1

Reply via email to