From 1969dba9b5cba049e37da004bdb33b197dcd06df Mon Sep 17 00:00:00 2001 From: tigro Date: Tue, 19 Sep 2023 11:09:50 +0300 Subject: [PATCH] import perl-Inline-Python-0.57-3.el9 --- .gitignore | 1 + .perl-Inline-Python.metadata | 1 + SOURCES/perl-Inline-Python-c99.patch | 18 ++ SOURCES/perl-Inline-Python-makefile.patch | 62 +++++++ SPECS/perl-Inline-Python.spec | 201 ++++++++++++++++++++++ 5 files changed, 283 insertions(+) create mode 100644 .gitignore create mode 100644 .perl-Inline-Python.metadata create mode 100644 SOURCES/perl-Inline-Python-c99.patch create mode 100644 SOURCES/perl-Inline-Python-makefile.patch create mode 100644 SPECS/perl-Inline-Python.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b6f77a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Inline-Python-0.57.tar.gz diff --git a/.perl-Inline-Python.metadata b/.perl-Inline-Python.metadata new file mode 100644 index 0000000..3ea53a9 --- /dev/null +++ b/.perl-Inline-Python.metadata @@ -0,0 +1 @@ +4d33570ce14b573e5749df7b091b358503e0f8f8 SOURCES/Inline-Python-0.57.tar.gz diff --git a/SOURCES/perl-Inline-Python-c99.patch b/SOURCES/perl-Inline-Python-c99.patch new file mode 100644 index 0000000..5019872 --- /dev/null +++ b/SOURCES/perl-Inline-Python-c99.patch @@ -0,0 +1,18 @@ +Add missing declaration of initperl to avoid an implicit function +declaration in Python.xs. + +Submitted upstream: + +diff --git a/perlmodule.h b/perlmodule.h +index 1d336f4fe436a1d7..8ec36c324a703387 100644 +--- a/perlmodule.h ++++ b/perlmodule.h +@@ -76,6 +76,8 @@ extern PyObject * newPerlSub_object(PyObject *, PyObject *, SV *); + extern PyObject * newPerlMethod_object(PyObject*, PyObject*, SV*); + extern PyObject * newPerlCfun_object(PyObject* (*)(PyObject *, PyObject *)); + ++extern void initperl(void); ++ + #ifdef __cplusplus + } + #endif diff --git a/SOURCES/perl-Inline-Python-makefile.patch b/SOURCES/perl-Inline-Python-makefile.patch new file mode 100644 index 0000000..6874d9d --- /dev/null +++ b/SOURCES/perl-Inline-Python-makefile.patch @@ -0,0 +1,62 @@ +From 9edd5893d574e3b6778723714787fd5f3dd09524 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Tue, 18 Oct 2022 19:07:29 +0200 +Subject: [PATCH] Fix Makefile logic + +- shared_lib_priority() checks that the shared library exist in LIBPL. + No need to do the same check again when shared_lib_priority() is true. + +- check_static_library() should check that the static library exists. + +- Add LIBPL, but not LIBDIR, to RPATH. +--- + Makefile.PL | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/Makefile.PL b/Makefile.PL +index 7d1a1b4..407451c 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -310,12 +310,6 @@ sub special_non_windows_check_shared_static_libs { + + 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 @@ sub special_non_windows_check_shared_static_libs { + . "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 shared_lib_priority { + 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 +-- +2.37.3 + diff --git a/SPECS/perl-Inline-Python.spec b/SPECS/perl-Inline-Python.spec new file mode 100644 index 0000000..a46c95b --- /dev/null +++ b/SPECS/perl-Inline-Python.spec @@ -0,0 +1,201 @@ +Name: perl-Inline-Python +Version: 0.57 +Release: 3%{?dist} +Summary: Write Perl subs and classes in Python +License: GPL+ or Artistic +URL: https://metacpan.org/release/Inline-Python +Source0: https://cpan.metacpan.org/authors/id/N/NI/NINE/Inline-Python-%{version}.tar.gz +# Fix makefile logic +# https://github.com/niner/inline-python-pm/pull/38 +Patch0: %{name}-makefile.patch +Patch1: perl-Inline-Python-c99.patch +BuildRequires: gcc +BuildRequires: findutils +BuildRequires: make +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(base) +BuildRequires: perl(Carp) +BuildRequires: perl(Config) +BuildRequires: perl(Cwd) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(DynaLoader) +BuildRequires: perl(Exporter) +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 +BuildRequires: perl(File::Path) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(Inline) >= 0.46 +BuildRequires: perl(Inline::denter) +BuildRequires: perl(JSON) +BuildRequires: perl(overload) +BuildRequires: perl(Parse::RecDescent) +BuildRequires: perl(POSIX) +BuildRequires: perl(Proc::ProcessTable) >= 0.53 +BuildRequires: perl(strict) +BuildRequires: perl(Test) +BuildRequires: perl(Test::Deep) +BuildRequires: perl(Test::More) +BuildRequires: perl(Test::Number::Delta) +BuildRequires: perl(Test::Simple) +BuildRequires: perl(utf8) +BuildRequires: perl(warnings) +BuildRequires: python3 +BuildRequires: python3-devel +Requires: perl(Inline) >= 0.46 +Requires: perl(Inline::denter) + +# Remove underspecified generated dependency +%global __requires_exclude ^perl\\(Inline\\)$ + +%description +The Inline::Python module allows you to put Python source code directly +"inline" in a Perl script or module. It sets up an in-process Python +interpreter, runs your code, and then examines Python's symbol table for +things to bind to Perl. The process of interrogating the Python interpreter +for global variables only occurs the first time you run your Python code. The +name-space is cached, and subsequent calls use the cached version. + +%prep +%setup -q -n Inline-Python-%{version} +%patch0 -p1 +%patch1 -p1 + +%build +INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 %{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 +make %{?_smp_mflags} + +%install +make pure_install DESTDIR=$RPM_BUILD_ROOT + +find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete + +%{_fixperms} $RPM_BUILD_ROOT/* + +%check +make test + +%files +%doc Changes README ToDo +%{perl_vendorarch}/auto/* +%{perl_vendorarch}/Inline* +%{_mandir}/man3/* + +%changelog +* Tue Sep 19 2023 Arkady L. Shane - 0.57-3 +- Rebuilt for MSVSphere 9.2 + +* Fri Jan 20 2023 Fedora Release Engineering - 0.57-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 12 2022 Florian Weimer - 0.57-2 +- Port to C99 + +* Mon Oct 17 2022 Mattias Ellert - 0.57-1 +- 0.57 bump + +* Fri Jul 22 2022 Fedora Release Engineering - 0.56-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.56-22 +- Rebuilt for Python 3.11 + +* Wed Jun 01 2022 Jitka Plesnikova - 0.56-21 +- Perl 5.36 rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.56-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Aug 19 2021 Mattias Ellert - 0.56-19 +- Fix segmentation fault with python 3.10 + +* Thu Jul 22 2021 Fedora Release Engineering - 0.56-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.56-17 +- Rebuilt for Python 3.10 + +* Sat May 22 2021 Jitka Plesnikova - 0.56-16 +- Perl 5.34 rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.56-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.56-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jun 23 2020 Jitka Plesnikova - 0.56-13 +- Perl 5.32 rebuild + +* Tue May 26 2020 Miro Hrončok - 0.56-12 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.56-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Aug 19 2019 Miro Hrončok - 0.56-10 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.56-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 31 2019 Jitka Plesnikova - 0.56-8 +- Perl 5.30 rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 0.56-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.56-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 09 2018 Jitka Plesnikova - 0.56-5 +- Use Python 3 for build + +* Thu Jun 28 2018 Jitka Plesnikova - 0.56-4 +- Perl 5.28 rebuild + +* Fri Feb 09 2018 Iryna Shcherbina - 0.56-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Thu Feb 08 2018 Fedora Release Engineering - 0.56-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Aug 07 2017 Jitka Plesnikova - 0.56-1 +- 0.56 bump + +* Thu Aug 03 2017 Fedora Release Engineering - 0.54-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.54-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 20 2017 Jitka Plesnikova - 0.54-1 +- 0.54 bump + +* Sun Jun 04 2017 Jitka Plesnikova - 0.52-3 +- Perl 5.26 rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.52-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Dec 14 2016 Jitka Plesnikova - 0.52-1 +- 0.52 bump + +* Tue Aug 23 2016 Jitka Plesnikova - 0.50-1 +- 0.50 bump + +* Sun May 15 2016 Jitka Plesnikova - 0.49-5 +- Perl 5.24 rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 0.49-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 24 2015 Jon Kerr Nilsen 0.49-3 +- added two forgotten BuildRequires + +* Wed Jun 24 2015 Jon Kerr Nilsen 0.49-2 +- adjusted to fit Fedora packaging guidelines. + +* Fri Jun 19 2015 Jon Kerr Nilsen 0.49-1 +- Specfile autogenerated by cpanspec 1.78.