From 3ee446ca804f509ac18a8675d0628e9d06d3e6c3 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sun, 6 Aug 2017 23:07:44 +0200 Subject: [PATCH] pari: add recipe for version 2.9.3. --- sci-mathematics/pari/pari-2.9.3.recipe | 98 +++++++++++++ .../pari/patches/pari-2.9.3.patchset | 129 ++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 sci-mathematics/pari/pari-2.9.3.recipe create mode 100644 sci-mathematics/pari/patches/pari-2.9.3.patchset diff --git a/sci-mathematics/pari/pari-2.9.3.recipe b/sci-mathematics/pari/pari-2.9.3.recipe new file mode 100644 index 000000000..a5ca00a7d --- /dev/null +++ b/sci-mathematics/pari/pari-2.9.3.recipe @@ -0,0 +1,98 @@ +SUMMARY="A specialized computer algebra system" +DESCRIPTION="PARI/GP is a specialized computer algebra system, primarily \ +aimed at number theorists, but has been put to good use in many other \ +different fields, from topology or numerical analysis to physics. + +Although quite an amount of symbolic manipulation is possible, PARI does \ +badly compared to systems like Axiom, Magma, Maple, Mathematica, Maxima, or \ +Reduce on such tasks, e.g.~multivariate polynomials, formal integration, \ +etc. On the other hand, the three main advantages of the system are its \ +speed, the possibility of using directly data types which are familiar to \ +mathematicians, and its extensive algebraic number theory module (from \ +the above-mentioned systems, only Magma provides similar features)." +HOMEPAGE="http://pari.math.u-bordeaux.fr/" +COPYRIGHT="2000-2016 The PARI Group, Bordeaux" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-$portVersion.tar.gz" +CHECKSUM_SHA256="e76a27779d2b1210ce1aba48363b98dd201a1bf876eb14f46ea6bd7769a00a63" +PATCHES="pari-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + pari$secondaryArchSuffix = $portVersion compat >= 2 + cmd:gp$secondaryArchSuffix + cmd:gp_2.9$secondaryArchSuffix + cmd:gphelp$secondaryArchSuffix + cmd:tex2mail$secondaryArchSuffix + lib:libpari_gmp$secondaryArchSuffix = $portVersion compat >= 2 + " +REQUIRES=" + haiku$secondaryArchSuffix + pari_data == $portVersion + lib:libgmp$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + " + +PROVIDES_devel=" + pari${secondaryArchSuffix}_devel = $portVersion compat >= 2 + devel:libpari_gmp$secondaryArchSuffix = $portVersion compat >= 2 + " +REQUIRES_devel=" + pari$secondaryArchSuffix == $portVersion base + devel:libgmp$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + " + +if [ -z "$secondaryArchSuffix" ]; then + SUMMARY_data="A specialized computer algebra system (data files)" + ARCHITECTURES_data="any" + PROVIDES_data=" + pari_data = $portVersion + " + REQUIRES_data="" +fi + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libgmp$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:diff + cmd:ld$secondaryArchSuffix + cmd:make + cmd:sed + " + +BUILD() +{ + ./Configure --prefix=$prefix --bindir=$binDir --includedir=$includeDir \ + --libdir=$libDir --mandir=$manDir --datadir=$dataDir \ + --sysdatadir=$libDir/pari + make -C Ohaiku-* $jobArgs all +} + +INSTALL() +{ + make install + rm $libDir/libpari.so + if [ -n "$secondaryArchSuffix" ]; then + rm -rf $dataDir $documentationDir + else + packageEntries data $dataDir + fi + + prepareInstalledDevelLib libpari-gmp + fixPkgconfig + packageEntries devel $developDir +} + +TEST() +{ + make dobench +# make test-all +} diff --git a/sci-mathematics/pari/patches/pari-2.9.3.patchset b/sci-mathematics/pari/patches/pari-2.9.3.patchset new file mode 100644 index 000000000..15873ee07 --- /dev/null +++ b/sci-mathematics/pari/patches/pari-2.9.3.patchset @@ -0,0 +1,129 @@ +From a71c50f4f494ceee10efae235abc92997cb7c0ac Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 10 May 2014 12:15:25 +0000 +Subject: we only use release versions, no point in checking .git + + +diff --git a/config/version b/config/version +index b313386..856aa42 100644 +--- a/config/version ++++ b/config/version +@@ -19,15 +19,6 @@ patchlevel_verbose= + + case "$stat" in # $stat rewritten by config/settar ? + *git-*) patchlevel_verbose="[ $stat ]";; +- *) if test -d "$TOP/.git"; then +- t=`git rev-list HEAD 2>/dev/null | wc -l` # ~ svn revision number +- t=`echo $t | sed -e 's/ //g'` # some broken wc prepend spaces +- T=`git log -1 --pretty=format:%h` # commit hash +- if test -z "$t"; then t=0; fi +- vcsversion=$t-$T +- status="$stat $vcsversion" +- patchlevel_verbose="[ $status ]" +- fi + esac + version=$VersionMajor.$VersionMinor + pari_release="$version.$patch" +-- +2.13.1 + + +From 746e5c106c55cf182606df557625b983e3d0a84c Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 10 May 2014 12:44:58 +0000 +Subject: Haiku support. + + +diff --git a/config/arch-osname b/config/arch-osname +index 5da1bc8..515bcfd 100755 +--- a/config/arch-osname ++++ b/config/arch-osname +@@ -74,6 +74,8 @@ if test -n "$myuname"; then + case $arch in i386-*) arch=i386;;esac;; + aix) arch=`uname -p`; + case $arch in powerpc) arch=ppc;;esac;; ++ haiku) arch=`uname -p` ++ ;; + esac + fi + echo $arch-$osname +diff --git a/config/get_dlld b/config/get_dlld +index c0054c0..ff184eb 100644 +--- a/config/get_dlld ++++ b/config/get_dlld +@@ -9,7 +9,7 @@ DLSUFFIX=so + soname=.$soname_num + do_dll=yes + case "$osname" in +- gnu*|aix|osf1|solaris|linux|freebsd|netbsd) ++ gnu*|aix|osf1|solaris|linux|freebsd|netbsd|haiku) + case $pari_release_verbose in + *STABLE*) sodest=.$version.$patch;; # released version + *DEVELOPMENT*) sodest=.$patch.0.0;; # unstable version +diff --git a/config/get_ld b/config/get_ld +index c140024..55ec128 100644 +--- a/config/get_ld ++++ b/config/get_ld +@@ -3,6 +3,7 @@ + _ld_list='LD LDFLAGS LIBS runpathprexix LDneedsWl LDused GNULDused' + case "$osname" in + darwin) LIBS= ;; ++ haiku) LIBS= ;; + osf1) LIBS='-lm -lots';; + *) LIBS=-lm;; + esac +diff --git a/config/get_libc b/config/get_libc +index 1a7500c..d0c583d 100644 +--- a/config/get_libc ++++ b/config/get_libc +@@ -2,7 +2,7 @@ + exe=$osname-$arch-tmp$$$exe_suff + _has_list= + echo Looking in C lib for some symbols... +-extra_flags=-lm ++#extra_flags=-lm + list=exp2; . ./look + list=log2; . ./look + extra_flags= +-- +2.13.1 + + +From 20c2c18ede8952adaf07d027d88f9415ae52ae41 Mon Sep 17 00:00:00 2001 +From: fbrosson +Date: Thu, 14 Apr 2016 22:46:58 +0000 +Subject: Install man pages in $MANDIR/man1/ instead of $MANDIR. + + +diff --git a/config/Makefile.SH b/config/Makefile.SH +index 54a3cb5..e44a949 100644 +--- a/config/Makefile.SH ++++ b/config/Makefile.SH +@@ -404,17 +404,17 @@ install-bin-sta: gp-sta$exe_suff + -cd \$(BINDIR); $postconfig gp-$version$exe_suff + + install-man:: +- -mkdir -p \$(MANDIR) +- -\$(RM) \$(MANDIR)/pari.1 \$(MANDIR)/gp.1 \$(MANDIR)/gp-$version.1 +- \$(INSTALL_DATA) $doc/gphelp.1 \$(MANDIR) +- \$(INSTALL_DATA) $doc/gp.1 \$(MANDIR)/gp-$version.1 +- -\$(LN) gp.1 \$(MANDIR)/pari.1 +- -\$(LN) gp-$version.1 \$(MANDIR)/gp.1 ++ -mkdir -p \$(MANDIR)/man1 ++ -\$(RM) \$(MANDIR)/man1/pari.1 \$(MANDIR)/man1/gp.1 \$(MANDIR)/man1/gp-$version.1 ++ \$(INSTALL_DATA) $doc/gphelp.1 \$(MANDIR)/man1 ++ \$(INSTALL_DATA) $doc/gp.1 \$(MANDIR)/man1/gp-$version.1 ++ -\$(LN) gp.1 \$(MANDIR)/man1/pari.1 ++ -\$(LN) gp-$version.1 \$(MANDIR)/man1/gp.1 + + install-misc: + -mkdir -p \$(MISCDIR) \$(BINDIR) + \$(INSTALL_PROGRAM) $misc/tex2mail \$(BINDIR) +- \$(INSTALL_DATA) $doc/tex2mail.1 \$(MANDIR) ++ \$(INSTALL_DATA) $doc/tex2mail.1 \$(MANDIR)/man1 + \$(INSTALL_DATA) $misc/README \$(MISCDIR) + \$(INSTALL_DATA) $misc/color.dft \$(MISCDIR) + \$(INSTALL_DATA) $misc/gpalias \$(MISCDIR) +-- +2.13.1 +