[perl-Math-Pari] Migrate to build against libpari23

Paul Howarth pghmcfc at fedoraproject.org
Mon Jul 2 19:07:13 UTC 2012


commit 8d296dfb744806a49f9e46deffdc12002e80ee72
Author: Paul Howarth <paul at city-fan.org>
Date:   Mon Jul 2 20:05:50 2012 +0100

    Migrate to build against libpari23
    
    - Migrate to build against libpari23, since the new pari 2.5.x is not yet
      supported upstream (CPAN RT#69295, CPAN RT#70990)
    - BR: perl(Carp)
    - Don't need to remove empty directories from the buildroot
    - Drop %defattr, redundant since rpm 4.4

 Math-Pari-2.01080604-extra-stack-for-test.patch |   25 -----------
 Math-Pari-2.01080605-include-path.patch         |   11 +++++
 perl-Math-Pari.spec                             |   53 ++++++++++-------------
 sources                                         |    1 -
 4 files changed, 34 insertions(+), 56 deletions(-)
---
diff --git a/Math-Pari-2.01080605-include-path.patch b/Math-Pari-2.01080605-include-path.patch
new file mode 100644
index 0000000..515059a
--- /dev/null
+++ b/Math-Pari-2.01080605-include-path.patch
@@ -0,0 +1,11 @@
+--- Pari.xs
++++ Pari.xs
+@@ -3,7 +3,7 @@
+ #  include <windows.h>
+ #endif
+ 
+-#  include <pari.h>
++#  include <pari/pari.h>
+ #  include <graph/rect.h>
+ #  include <language/anal.h>
+ 
diff --git a/perl-Math-Pari.spec b/perl-Math-Pari.spec
index 2e0965f..55d21fe 100644
--- a/perl-Math-Pari.spec
+++ b/perl-Math-Pari.spec
@@ -1,37 +1,24 @@
-# This package includes the pari library source even though we link
-# against the system version of the library; the library source is
-# needed to build the documentation for this perl binding and also
-# to enhance the test suite, by providing additional tests from the
-# main library test suite.
-#
-# Since this binding is tightly linked to the main library, we
-# have to enforce a tight dependency on the main pari library version
-# so that we stay in step properly.
-%global pari_version	2.3.5
-%global pari_int_version %(echo %{pari_version} | perl -pi -e 's/(\\d+)\\.(\\d+)\\.(\\d+)/sprintf("%d%03d%03d",$1,$2,$3)/e')
-
 %global extraversion	05
 
 Summary:	Perl interface to PARI
 Name:		perl-Math-Pari
 Version:	2.010806
-Release:	13%{?dist}
+Release:	14%{?dist}
 License:	GPL+ or Artistic
 Group:		Development/Libraries
 Url:		http://search.cpan.org/dist/Math-Pari/
 Source0:	http://search.cpan.org/CPAN/authors/id/I/IL/ILYAZ/modules/Math-Pari-%{version}%{extraversion}.tar.gz
-Source1:	http://pari.math.u-bordeaux.fr/pub/pari/unix/OLD/pari-%{pari_version}.tar.gz
 Patch0:		Math-Pari-2.010802-no-fake-version.patch
 Patch1:		Math-Pari-2.010802-docs-and-testsuite.patch
-Patch2:		Math-Pari-2.01080604-extra-stack-for-test.patch
-BuildRequires:	perl(DynaLoader)
+Patch2:		Math-Pari-2.01080605-include-path.patch
+BuildRequires:	libpari23-devel
+BuildRequires:	perl(Carp)
 BuildRequires:	perl(Exporter)
 BuildRequires:	perl(ExtUtils::MakeMaker)
 Requires:	perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
 
 # Enforce dependency against same version of pari that we're built for
-BuildRequires:	pari-devel = %{pari_version}
-Requires:	pari%{?_isa} = %{pari_version}
+Requires:	libpari23%{?_isa} = %(pkg-config --modversion libpari23 2>/dev/null || echo 0)
 
 # Don't "provide" private Perl libs or the redundant unversioned perl(Math::Pari)
 %global __provides_exclude ^(perl\\(Math::Pari\\)$|Pari\\.so)
@@ -42,42 +29,41 @@ scientific/ number-theoretic calculations. It allows use of most PARI functions
 as Perl functions, and (almost) seamless merging of PARI and Perl data.
 
 %prep
-%setup -q -n Math-Pari-%{version}%{extraversion} -a 1
+%setup -q -n Math-Pari-%{version}%{extraversion}
 
 # Remove spurious executable permission bits
-chmod -x Changes README Pari.pm PariInit.pm func_codes.h Pari.xs
+chmod -c -x Changes README Pari.pm PariInit.pm func_codes.h Pari.xs
 
 # Don't use a fake version number when we can use a real one
 %patch0 -p1
-sed -i -e s/@@@OUR-PARI-VERSION@@@/%{pari_int_version}/ Makefile.PL
+pari_int_version=$(pkg-config --modversion libpari23 | perl -pi -e 's/(\d+)\.(\d+)\.(\d+)/sprintf("%d%03d%03d",$1,$2,$3)/e')
+sed -i -e "s/@@@OUR-PARI-VERSION@@@/${pari_int_version}/" Makefile.PL
 
-# We want to build the docs and test suite from the local pari sources
+# We want to build the docs and test suite too
 %patch1 -p1
 
-# Need extra stack for intnum test on some arches
-cd pari-%{pari_version}
-%patch2 -p2
-cd -
+# Use <pari/pari.h> as per pari upstream documentation
+%patch2
 
 %build
+paridir=$(pkg-config --variable=paridir libpari23)
 perl Makefile.PL \
 	INSTALLDIRS=vendor \
-	OPTIMIZE="-I%{_includedir}/pari %{optflags}" \
-	parilib="-lpari"
+	OPTIMIZE="$(pkg-config --cflags-only-I libpari23) -I${paridir}/src %{optflags}" \
+	paridir="${paridir}" \
+	parilib="$(pkg-config --libs libpari23)"
 make %{?_smp_mflags}
 
 %install
 make pure_install DESTDIR=%{buildroot}
 find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
 find %{buildroot} -type f -name '*.bs' -a -size 0 -exec rm -f {} ';'
-find %{buildroot} -depth -type d -exec rmdir {} ';' 2>/dev/null
 %{_fixperms} %{buildroot}
 
 %check
 make test
 
 %files
-%defattr(-,root,root,-)
 %doc Changes README
 %dir %{perl_vendorarch}/Math/
 %exclude %doc %{perl_vendorarch}/Math/libPARI.dumb.pod
@@ -90,6 +76,13 @@ make test
 %exclude %{_mandir}/man3/Math::libPARI.dumb.3pm*
 
 %changelog
+* Wed Jun 13 2012 Paul Howarth <paul at city-fan.org> - 2.010806-14
+- Migrate to build against libpari23, since the new pari 2.5.x is not yet
+  supported upstream (CPAN RT#69295, CPAN RT#70990)
+- BR: perl(Carp)
+- Don't need to remove empty directories from the buildroot
+- Drop %%defattr, redundant since rpm 4.4
+
 * Mon Jun 11 2012 Petr Pisar <ppisar at redhat.com> - 2.010806-13
 - Perl 5.16 rebuild
 
diff --git a/sources b/sources
index 220a366..747b530 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
 ccb3da2bdce184a5df3f52cfa8b43a85  Math-Pari-2.01080605.tar.gz
-6077c6db56fdd32e39a06a9bf320e1f7  pari-2.3.5.tar.gz


More information about the scm-commits mailing list