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