Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Inline-Python for openSUSE:Factory checked in at 2025-06-03 17:54:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Inline-Python (Old) and /work/SRC/openSUSE:Factory/.perl-Inline-Python.new.16005 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Inline-Python" Tue Jun 3 17:54:21 2025 rev:6 rq:1282170 version:0.580.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Inline-Python/perl-Inline-Python.changes 2024-12-18 20:11:32.400799791 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Inline-Python.new.16005/perl-Inline-Python.changes 2025-06-03 17:55:12.109741906 +0200 @@ -1,0 +2,13 @@ +Thu May 15 05:36:11 UTC 2025 - Tina Müller <[email protected]> + +- updated to 0.580.0 (0.58) + see /usr/share/doc/packages/perl-Inline-Python/Changes + + 0.58 Wed May 14 14:17:00 CEST 2025 (Stefan Seifert) + - Fix compilation with Python 3.13 (Mattias Ellert) + - Fix compiler warnings (Mattias Ellert) + - Improve compatibility with strict(er) C99 compilers (Florian Weimer) + - Fix Makefile logic (Mattias Ellert) + - Fix build on Windows (Yaribz) + +------------------------------------------------------------------- @@ -176 +189,2 @@ -* Wed Mar 22 2006 Dries Verachtert <[email protected]> - 0.22-1.2 +Wed Mar 22 2006 - Dries Verachtert <[email protected]> - 0.22-1.2 + @@ -179 +193,3 @@ -* Fri Mar 4 2005 Dries Verachtert <[email protected]> - 0.22-1 +------------------------------------------------------------------- +Fri Mar 4 2005 - Dries Verachtert <[email protected]> - 0.22-1 + @@ -182 +198,3 @@ -* Wed Dec 29 2004 Dries Verachtert <[email protected]> - 0.21-1 +------------------------------------------------------------------- +Wed Dec 29 2004 - Dries Verachtert <[email protected]> - 0.21-1 + @@ -185 +203,3 @@ -* Thu Jul 22 2004 Dries Verachtert <[email protected]> - 0.20-1 +------------------------------------------------------------------- +Thu Jul 22 2004 - Dries Verachtert <[email protected]> - 0.20-1 + Old: ---- Inline-Python-0.57.tar.gz New: ---- Inline-Python-0.58.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Inline-Python.spec ++++++ --- /var/tmp/diff_new_pack.gV0P3R/_old 2025-06-03 17:55:12.709766785 +0200 +++ /var/tmp/diff_new_pack.gV0P3R/_new 2025-06-03 17:55:12.709766785 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Inline-Python # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,23 +18,31 @@ %define cpan_name Inline-Python Name: perl-Inline-Python -Version: 0.57 +Version: 0.580.0 Release: 0 +# 0.58 -> normalize -> 0.580.0 +%define cpan_version 0.58 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Write Perl subs and classes in Python URL: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/N/NI/NINE/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/N/NI/NINE/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml Patch0: initperl_prototype.diff BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Digest::MD5) >= 2.5 -BuildRequires: perl(Inline) >= 0.46 -BuildRequires: perl(Proc::ProcessTable) >= 0.53 +BuildRequires: perl(Inline) >= 0.460 +BuildRequires: perl(Proc::ProcessTable) >= 0.530 BuildRequires: perl(Test::Deep) BuildRequires: perl(Test::Number::Delta) Requires: perl(Digest::MD5) >= 2.5 -Requires: perl(Inline) >= 0.46 +Requires: perl(Inline) >= 0.460 +Provides: perl(Inline::Python) = %{version} +Provides: perl(Inline::Python::Boolean) +Provides: perl(Inline::Python::Function) +Provides: perl(Inline::Python::Object) +Provides: perl(Inline::Python::Object::Data) +%undefine __perllib_provides %{perl_requires} # MANUAL BEGIN BuildRequires: python3-devel @@ -55,7 +63,7 @@ which gives you access to the Perl interpreter. %prep -%autosetup -n %{cpan_name}-%{version} -p1 +%autosetup -n %{cpan_name}-%{cpan_version} -p1 %build export INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 ++++++ Inline-Python-0.57.tar.gz -> Inline-Python-0.58.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/Changes new/Inline-Python-0.58/Changes --- old/Inline-Python-0.57/Changes 2022-09-18 13:13:19.243332831 +0200 +++ new/Inline-Python-0.58/Changes 2025-05-14 14:19:36.676724209 +0200 @@ -1,5 +1,12 @@ Revision history for Perl extension Inline::Python. +0.58 Wed May 14 14:17:00 CEST 2025 (Stefan Seifert) + - Fix compilation with Python 3.13 (Mattias Ellert) + - Fix compiler warnings (Mattias Ellert) + - Improve compatibility with strict(er) C99 compilers (Florian Weimer) + - Fix Makefile logic (Mattias Ellert) + - Fix build on Windows (Yaribz) + 0.57 Sun Sep 18 13:20:00 CEST 2022 (Stefan Seifert) - Try to detect more object types. - Further tighten the "is it a dict or object" check diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/META.json new/Inline-Python-0.58/META.json --- old/Inline-Python-0.57/META.json 2022-09-18 13:31:21.017152956 +0200 +++ new/Inline-Python-0.58/META.json 2025-05-14 14:22:18.983428121 +0200 @@ -4,7 +4,7 @@ "Neil Watkiss <[email protected]>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010", + "generated_by" : "ExtUtils::MakeMaker version 7.74, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -56,6 +56,6 @@ "web" : "http://github.com/niner/inline-python-pm" } }, - "version" : "0.57", - "x_serialization_backend" : "JSON::PP version 4.07" + "version" : "0.58", + "x_serialization_backend" : "JSON::PP version 4.16" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/META.yml new/Inline-Python-0.58/META.yml --- old/Inline-Python-0.57/META.yml 2022-09-18 13:31:20.917152700 +0200 +++ new/Inline-Python-0.58/META.yml 2025-05-14 14:22:18.940430755 +0200 @@ -12,7 +12,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010' +generated_by: 'ExtUtils::MakeMaker version 7.74, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -29,5 +29,5 @@ Inline: '0.46' resources: repository: http://github.com/niner/inline-python-pm.git -version: '0.57' +version: '0.58' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/Makefile.PL new/Inline-Python-0.58/Makefile.PL --- old/Inline-Python-0.57/Makefile.PL 2022-09-18 13:07:09.299412240 +0200 +++ new/Inline-Python-0.58/Makefile.PL 2023-04-14 12:47:26.119145284 +0200 @@ -310,12 +310,6 @@ if (shared_lib_priority($ref)) { $ref->{libpython} = $ref->{ldlib}; - my $shared_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython}); - if (!-f $shared_lib) { - # Special case for pyenv. The shared library exists in $LIBDIR instead of in - # $LIBPL - $ref->{libpath} = get_config_var($ref, "LIBDIR"); - } $ref->{rpath} = $ref->{libpath}; } else { @@ -340,9 +334,14 @@ . "WARNING: This is known to not work on linux.\n"; } } - $ref->{libpath} = get_config_var($ref, "LIBDIR"); $ref->{libpython} = $ref->{ldlib}; - $ref->{rpath} = $ref->{libpath}; + my $shared_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython}); + if (!-f $shared_lib) { + $ref->{libpath} = get_config_var($ref, "LIBDIR"); + } + else { + $ref->{rpath} = $ref->{libpath}; + } } } } @@ -363,6 +362,9 @@ sub check_static_library_ok { my ($ref) = @_; + my $static_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython}); + return 0 if (!-f $static_lib); + # We should check if the static library was compiled with -fPIC, or else # we cannot create a shared Python.so from it. # TODO: It seem like it is possible to build python with --enable-shared @@ -493,6 +495,18 @@ return $val; } +sub get_default_python_lib_index { + my $r_found_libs=shift; + + # Avoid limited API libraries (ABI), which are versionned with 1 digit only + # (cf https://docs.python.org/3/c-api/stable.html) + for my $i (0..$#{$r_found_libs}) { + return ($i+1) if($r_found_libs->[$i] =~ /python\d\.?\d[^\/\\]+$/i); + } + + return 1; +} + sub query_options { my $ref = shift; @@ -517,7 +531,8 @@ Here are the libraries I know about: END my @libs = show_python_libs($ref); - my $lib = prompt("Which? Or enter another.", '1'); + my $defaultLibIndex = $^O eq 'MSWin32' ? get_default_python_lib_index(\@libs) : 1; + my $lib = prompt("Which? Or enter another.", $defaultLibIndex); $lib = $libs[$lib-1] if $lib =~ /^\d+$/; $lib =~ s|\\|/|g; my ($volume, $directories, $file) = File::Spec->splitpath( $lib ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/Python.pm new/Inline-Python-0.58/Python.pm --- old/Inline-Python-0.57/Python.pm 2022-09-18 13:31:06.765116670 +0200 +++ new/Inline-Python-0.58/Python.pm 2025-05-14 14:19:53.605537060 +0200 @@ -6,7 +6,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT_OK); @ISA = qw(Inline DynaLoader Exporter); -$VERSION = '0.57'; +$VERSION = '0.58'; @EXPORT_OK = qw(py_eval py_new_object py_call_method diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/Python.xs new/Inline-Python-0.58/Python.xs --- old/Inline-Python-0.57/Python.xs 2022-09-18 13:07:09.299412240 +0200 +++ new/Inline-Python-0.58/Python.xs 2025-05-14 14:15:13.111747192 +0200 @@ -25,34 +25,48 @@ #ifdef EXPOSE_PERL PyObject *main_dict; PyObject *perl_obj; + PyObject *dummy1; + PyObject *dummy2; #endif + /* sometimes Python needs to know about argc and argv to be happy */ int _python_argc = 1; #if PY_MAJOR_VERSION >= 3 wchar_t *_python_argv[] = {L"python",}; - Py_SetProgramName(L"python"); #else char *_python_argv[] = {"python",}; - Py_SetProgramName("python"); #endif +#if PY_VERSION_HEX < 0x03080000 + Py_SetProgramName(_python_argv[0]); Py_Initialize(); PySys_SetArgv(_python_argc, _python_argv); /* Tk needs this */ +#else + PyConfig config; + PyConfig_InitPythonConfig(&config); + + PyConfig_SetString(&config, &config.program_name, _python_argv[0]); + PyConfig_SetArgv(&config, _python_argc, _python_argv); + + Py_InitializeFromConfig(&config); + + PyConfig_Clear(&config); +#endif #ifdef EXPOSE_PERL #if PY_MAJOR_VERSION >= 3 - PyObject *dummy1 = PyBytes_FromString(""), - *dummy2 = PyBytes_FromString("main"); + dummy1 = PyBytes_FromString(""), + dummy2 = PyBytes_FromString("main"); #else - PyObject *dummy1 = PyString_FromString(""), - *dummy2 = PyString_FromString("main"); + dummy1 = PyString_FromString(""), + dummy2 = PyString_FromString("main"); #endif /* create the perl module and add functions */ initperl(); /* now -- create the main 'perl' object and add it to the dictionary. */ - perl_obj = newPerlPkg_object(dummy1,dummy2); + perl_obj = newPerlPkg_object(dummy1, dummy2); main_dict = PyModule_GetDict(PyImport_AddModule("__main__")); PyDict_SetItemString(main_dict, "perl", perl_obj); @@ -189,10 +203,10 @@ char *str int type PREINIT: - PyObject * main_module; - PyObject * globals; - PyObject * locals; - PyObject * py_result; + PyObject *main_module; + PyObject *globals; + PyObject *locals; + PyObject *py_result; int context; SV* ret = NULL; PPCODE: @@ -419,8 +433,8 @@ void py_call_method(_inst, mname, ...) - SV* _inst; - char* mname; + SV* _inst; + char* mname; PREINIT: PyObject *inst; @@ -531,7 +545,7 @@ void py_has_attr(_inst, key) - SV* _inst; + SV* _inst; SV* key; PREINIT: @@ -561,7 +575,7 @@ void py_get_attr(_inst, key) - SV* _inst; + SV* _inst; SV* key; PREINIT: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/perlmodule.c new/Inline-Python-0.58/perlmodule.c --- old/Inline-Python-0.57/perlmodule.c 2018-02-15 16:34:29.142749287 +0100 +++ new/Inline-Python-0.58/perlmodule.c 2025-05-14 14:15:13.111747192 +0200 @@ -516,7 +516,7 @@ GV* const gv = Perl_gv_fetchmethod_autoload(aTHX_ pkg, method_name, FALSE); if (gv && isGV(gv)) { - int retval; + int retval = 1; dSP; ENTER; @@ -567,7 +567,7 @@ HV * const pkg = SvSTASH(obj); GV* const gv = Perl_gv_fetchmethod_autoload(aTHX_ pkg, "__cmp__", FALSE); if (gv && isGV(gv)) { - int retval; + int retval = 1; dSP; ENTER; @@ -964,10 +964,6 @@ } } -static struct PyMethodDef PerlSub_methods[] = { - {NULL, NULL} /* sentinel */ -}; - /* doc string */ static char PerlSub_type__doc__[] = "_perl_sub -- Wrap a Perl sub in a Python class" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/perlmodule.h new/Inline-Python-0.58/perlmodule.h --- old/Inline-Python-0.57/perlmodule.h 2014-12-11 16:02:22.905356328 +0100 +++ new/Inline-Python-0.58/perlmodule.h 2023-04-14 12:47:26.119145284 +0200 @@ -76,6 +76,8 @@ extern PyObject * newPerlMethod_object(PyObject*, PyObject*, SV*); extern PyObject * newPerlCfun_object(PyObject* (*)(PyObject *, PyObject *)); +extern void initperl(void); + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/py2pl.c new/Inline-Python-0.58/py2pl.c --- old/Inline-Python-0.57/py2pl.c 2022-09-18 13:07:09.299412240 +0200 +++ new/Inline-Python-0.58/py2pl.c 2025-05-14 14:15:13.111747192 +0200 @@ -568,7 +568,7 @@ if (ex_traceback) { PyObject * const tb_lineno = PyObject_GetAttrString(ex_traceback, "tb_lineno"); - croak("%s: %s at line %i\n", ((PyTypeObject *)ex_type)->tp_name, c_ex_message, PyInt_AsLong(tb_lineno)); + croak("%s: %s at line %li\n", ((PyTypeObject *)ex_type)->tp_name, c_ex_message, PyInt_AsLong(tb_lineno)); Py_DECREF(tb_lineno); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Inline-Python-0.57/t/00init.t new/Inline-Python-0.58/t/00init.t --- old/Inline-Python-0.57/t/00init.t 2009-12-06 07:27:29.000000000 +0100 +++ new/Inline-Python-0.58/t/00init.t 2023-04-14 12:47:26.119145284 +0200 @@ -5,6 +5,7 @@ use File::Path; rmtree("./blib_test"); +sleep(1) if($^O eq 'MSWin32'); # workaround for dubious behavior on Windows... mkdir("./blib_test", 0777) or print "not ok 1\n" && exit; print "ok 1\n";
