On Wed, Sep 10, 2014 at 07:24:15AM +0200, Landry Breuil wrote:
> On Wed, Sep 10, 2014 at 06:52:33AM +0200, Sébastien Marie wrote:
> > Hi,
> > 
> > Here a patch to upgrade math/pari from 2.1.6 to 2.7.1. It is a big
> > upgrade as 2.1.6 is something like 10 years old version.
> > 
> > - pari use a shared lib
> 
> You dont need to use PFRAG.shared anymore if you use SHARED_ONLY, you
> can move the file to PLIST and remove %shared% from it..
> 

In order to be exact, math/pari *should* be able to build without shared
libs (so on vax too). But as I haven't necessary resource to test it, I
would prefer to keep SHARED_ONLY=Yes.

If support is need for static build, it should be doable later.

Next, the patch with requested modification.
-- 
Sébastien Marie
        

Index: Makefile
===================================================================
RCS file: /cvs/ports/math/pari/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- Makefile    11 Mar 2013 11:23:56 -0000      1.12
+++ Makefile    10 Sep 2014 07:03:33 -0000
@@ -1,37 +1,44 @@
 # $OpenBSD: Makefile,v 1.12 2013/03/11 11:23:56 espie Exp $
 
+SHARED_ONLY=   Yes
+
 COMMENT=       number theory-oriented computer algebra system
 
-DISTNAME=      pari-2.1.6
-REVISION=      2
-EXTRACT_SUFX=  .tgz
+DISTNAME=      pari-2.7.1
 CATEGORIES=    math
 
 HOMEPAGE=      http://pari.math.u-bordeaux.fr/
 
-# GPL
+# GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
-WANTLIB=               X11 c m ncurses readline
+WANTLIB=               X11 c m ncurses readline gmp
 
-MASTER_SITES=          ${HOMEPAGE}/pub/pari/unix/
+MASTER_SITES=          http://pari.math.u-bordeaux.fr/pub/pari/unix/
 
+LIB_DEPENDS=           devel/gmp
 BUILD_DEPENDS=         print/texlive/base
 
-USE_GROFF =            Yes
+USE_GMAKE=             Yes
+
+SHARED_LIBS +=         pari-gmp        0.0 # 4.0
 
 CONFIGURE_SCRIPT=      Configure
 CONFIGURE_STYLE=       simple
-CONFIGURE_ENV=         CFLAGS="${CFLAGS}"
+CONFIGURE_ENV=         CC=${CC} \
+                       CFLAGS="${CFLAGS}" \
+                       LDFLAGS="${LDFLAGS}"
 CONFIGURE_ARGS+=       --datadir=${PREFIX}/share/pari \
-                       --miscdir=${PREFIX}/share/pari \
+                       --mandir=${PREFIX}/man/man1 \
                        --prefix=${PREFIX} \
-                       --host=${ARCH}
+                       --with-gmp
 
 TEST_TARGET=           dobench
 
+pre-configure:
+       ${SUBST_CMD} ${WRKSRC}/config/get_dlld
+
 post-install:
        mv ${PREFIX}/share/pari/doc ${PREFIX}/share/doc/pari
-       mv ${PREFIX}/share/pari/[A-Z]* ${PREFIX}/share/doc/pari
        mv ${PREFIX}/share/pari/examples ${PREFIX}/share/examples/pari
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/pari/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo    5 Apr 2007 16:20:06 -0000       1.2
+++ distinfo    10 Sep 2014 07:03:33 -0000
@@ -1,5 +1,2 @@
-MD5 (pari-2.1.6.tgz) = UGoGHI3N7DPRiHbzxVHpUQ==
-RMD160 (pari-2.1.6.tgz) = a3noS2OdGGLfFIslMTberNc79PA=
-SHA1 (pari-2.1.6.tgz) = VL1A+nCgLnbXjQ6hnA9W99pi3o4=
-SHA256 (pari-2.1.6.tgz) = YVBwBDLiy9CFZ66qYrL3+S81C4PyysjnR7HVgYg6Qic=
-SIZE (pari-2.1.6.tgz) = 1541464
+SHA256 (pari-2.7.1.tar.gz) = zGN5GPPAsg3Ju+qZ5jnnooi4nqTQ5OP5txEKEVvLQb4=
+SIZE (pari-2.7.1.tar.gz) = 3140893
Index: patches/patch-Configure
===================================================================
RCS file: patches/patch-Configure
diff -N patches/patch-Configure
--- patches/patch-Configure     30 Apr 2008 19:42:07 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-$OpenBSD: patch-Configure,v 1.2 2008/04/30 19:42:07 naddy Exp $
---- Configure.orig     Thu Nov 25 16:58:25 2004
-+++ Configure  Mon Apr 28 20:14:36 2008
-@@ -844,7 +844,7 @@ if test -n "$__gnuc__"; then
-       esac
-     ;;
-   esac
--  OPTFLAGS="$OPTFLAGS -DGCC_INLINE $warn"
-+  OPTFLAGS="$CFLAGS -DGCC_INLINE $warn"
-   DBGFLAGS="-g $warn"
-   # Some architectures need -fPIC for building dynamic lib
-   case "$osname-$arch" in hpux-*) DLCFLAGS=-fPIC;; esac
-@@ -1006,7 +1006,7 @@ if test "$optimization" = profiling; then DLLD=; else
- #    aix-*)  DLSUFFIX=a  ;; dynamic linking does not work!
-     sunos-*) sodest=$VersionMajor$VersionMinor.$patch
-              soname=$sodest;;
--    gnu-*|*-alpha|solaris-*|linux-*|freebsd-*)
-+    gnu-*|solaris-*|linux-*|freebsd-*)
-       case $libpari_base in
-         pari) sodest=$version.$patch;; # released versions
-         *) sodest=$patch.0.0;; # unstable versions
-@@ -1044,10 +1044,6 @@ if test -n "$DLLD"; then
-       freebsd-*)  DLLDFLAGS="-Bshareable -x" ;;
-       gnu-*|linux-*)    DLLDFLAGS="-shared -soname \$(LIBPARI_SONAME)" ;;
-       irix-*)     DLLDFLAGS="-shared -elf -no_unresolved -all" ;;
--      *-alpha)    DLLDFLAGS="-shared"; EXTRADLLDFLAGS='${LIBS}'
--         case "$optimization" in
--           full) DLLDFLAGS="$DLLDFLAGS -O3" ;;
--         esac;;
-       sunos-*)    DLLDFLAGS="-assert nodefinitions" ;;
-       solaris-*)  DLLDFLAGS="-G -h \$(LIBPARI_SONAME)" ;;
-       *)          DLLD=;;
-@@ -1159,7 +1155,6 @@ extra_flags=
- list=exp2; . ./look
- list=strftime; . ./look
- case "$arch" in
--  alpha) list='times ftime';; # gp-dyn has problems with getrusage 
-   *) case "$osname" in
-     *cygwin*) list='times ftime';; # getrusage based timer always returns 0
-     *) list='getrusage times ftime';;
Index: patches/patch-config_get_cc
===================================================================
RCS file: patches/patch-config_get_cc
diff -N patches/patch-config_get_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-config_get_cc 10 Sep 2014 07:03:33 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+Don't build with too specific optimizations
+
+--- config/get_cc.orig Tue Mar 25 09:59:21 2014
++++ config/get_cc      Mon Sep  8 09:14:37 2014
+@@ -87,7 +87,7 @@ if test -n "$__gnuc__"; then
+   warn="-Wall"
+   OPTFLAGS=-O3
+   ASMINLINE=yes
+-  OPTFLAGS="$OPTFLAGS $warn"
++  OPTFLAGS="$CFLAGS $warn"
+   cmd="$CC $CFLAGS $extraflag -fno-strict-aliasing -o $exe gnu.c"
+   . log_cmd
+   if test -s $exe; then
Index: patches/patch-config_get_dlld
===================================================================
RCS file: patches/patch-config_get_dlld
diff -N patches/patch-config_get_dlld
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-config_get_dlld       10 Sep 2014 07:03:33 -0000
@@ -0,0 +1,28 @@
+$OpenBSD$
+--- config/get_dlld.orig       Tue Mar 25 09:59:21 2014
++++ config/get_dlld    Mon Sep  8 15:19:54 2014
+@@ -27,6 +27,7 @@ case "$osname" in
+     fi;;
+   darwin)soname= ; sodest= ; DLSUFFIX=dylib;
+          compat_ver=$VersionMajor.$VersionMinor.0; 
num_ver=$VersionMajor.$VersionMinor.$patch;;
++  openbsd) soname=.${LIBpari-gmp_VERSION}; sodest=.${LIBpari-gmp_VERSION};;
+   *) do_dll=no ;;
+ esac
+ 
+@@ -81,6 +82,7 @@ if test -n "$DLLD"; then
+       osf1)    DLLDFLAGS='-shared' ;;
+       solaris) DLLDFLAGS="-G -h \$(LIBPARI_SONAME)" ;;
+       sunos)   DLLDFLAGS='-assert nodefinitions' ;;
++      openbsd) DLLDFLAGS='-shared' ;;
+       os2)     ;; # see below
+       linux)   ;; # for e.g. the Portland Group cc (pgcc)
+       *)         DLLD=;;
+@@ -107,7 +109,7 @@ if test -n "$DLLD"; then
+   fi
+   case "$osname" in
+ # Beware: will run through 'eval' [ hence ${...} instead of \$(...) ]
+-    gnu*|cygwin|osf1|freebsd|linux|sunos|solaris) EXTRADLLDFLAGS='-lc 
${LIBS}';;
++    gnu*|cygwin|osf1|freebsd|openbsd|linux|sunos|solaris) EXTRADLLDFLAGS='-lc 
${LIBS}';;
+   esac
+ 
+   if test "$fastread" != yes; then
Index: patches/patch-config_get_ld
===================================================================
RCS file: patches/patch-config_get_ld
diff -N patches/patch-config_get_ld
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-config_get_ld 10 Sep 2014 07:03:33 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- config/get_ld.orig Sun Sep  7 19:24:32 2014
++++ config/get_ld      Sun Sep  7 19:24:45 2014
+@@ -70,7 +70,7 @@ if test "$GNULDused" = yes; then
+   runpathprefix='-rpath '
+ else # guess...
+   case "$osname" in
+-    gnu|osf1|linux|cygwin*|freebsd|netbsd) runpathprefix='-rpath ' ;;
++    gnu|osf1|linux|cygwin*|freebsd|netbsd|openbsd) runpathprefix='-rpath ' ;;
+     solaris) runpathprefix='-R ' ;;
+     hpux) runpathprefix='+b ' ;;
+     aix) runpathprefix='-blibpath:' ;;
Index: patches/patch-config_version
===================================================================
RCS file: patches/patch-config_version
diff -N patches/patch-config_version
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-config_version        10 Sep 2014 07:03:33 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- config/version.orig        Mon Sep  8 11:46:57 2014
++++ config/version     Mon Sep  8 11:47:14 2014
+@@ -32,7 +32,7 @@ version=$VersionMajor.$VersionMinor
+ pari_release="$version.$patch"
+ if test `expr $VersionMinor % 2` = 1; then
+   pari_release_verbose="$pari_release (STABLE)"
+-  soname_num=`expr '(' $VersionMinor '+' 1 ')' / 2`
++  soname_num=${LIBpari_VERSION}
+ else
+   pari_release_verbose="$pari_release (DEVELOPMENT VERSION)"
+   soname_num=$patch
Index: patches/patch-doc_gphelp_in
===================================================================
RCS file: patches/patch-doc_gphelp_in
diff -N patches/patch-doc_gphelp_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-doc_gphelp_in 10 Sep 2014 07:03:33 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+--- doc/gphelp.in.orig Sat May 10 19:59:29 2014
++++ doc/gphelp.in      Mon Sep  8 16:42:30 2014
+@@ -43,7 +43,7 @@
+ #  GPXDVI: which 'xdvi' program to call (xdvi by default)
+ #
+ $version= "@version@";
+-$datadir= "@datadir@";
++$datadir= "@datadir@/../doc/pari";
+ # no expanded material (@key@) below
+ $wwwsite= "http://pari.math.u-bordeaux.fr/";;
+ 
+@@ -53,7 +53,7 @@ $gzip = "gzip";
+ $zcat = "$gzip -dc";
+ $bzip = "bzip2";
+ $bzcat = "$bzip -dc";
+-$docdir = &get_docdir();
++$docdir = $datadir;
+ $tex = $ENV{GPTEX} || "tex";
+ 
+ $refcard = (@ARGV and $ARGV[-1] =~ /refcard/i);
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/math/pari/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST   8 Feb 2005 02:36:12 -0000       1.1.1.1
+++ pkg/PLIST   10 Sep 2014 07:03:33 -0000
@@ -1,10 +1,11 @@
 @comment $OpenBSD: PLIST,v 1.1.1.1 2005/02/08 02:36:12 msf Exp $
 bin/gp
-bin/gp-2.1
+@bin bin/gp-2.7
 bin/gphelp
 bin/tex2mail
 include/pari/
 include/pari/genpari.h
+include/pari/mpinl.h
 include/pari/pari.h
 include/pari/paricast.h
 include/pari/paricfg.h
@@ -13,33 +14,30 @@ include/pari/paridecl.h
 include/pari/parierr.h
 include/pari/parigen.h
 include/pari/pariinl.h
-include/pari/pariport.h
+include/pari/parimt.h
+include/pari/parinf.h
+include/pari/pariold.h
+include/pari/paripriv.h
 include/pari/paristio.h
 include/pari/parisys.h
-include/pari/paritype.h
-lib/libpari.a
-@comment lib/libpari.a.2.1
+include/pari/paritune.h
+lib/libpari.so
+@lib lib/libpari-gmp.so.${LIBpari-gmp_VERSION}
+lib/pari/
+lib/pari/pari.cfg
+@man man/man1/gp-2.7.1
 @man man/man1/gp.1
 @man man/man1/gphelp.1
 @man man/man1/pari.1
 @man man/man1/tex2mail.1
 share/doc/pari/
-share/doc/pari/AUTHORS
-share/doc/pari/Announce.2.1
-share/doc/pari/CHANGES
-share/doc/pari/COMPAT
-share/doc/pari/COPYING
-share/doc/pari/CVS.txt
-share/doc/pari/MACHINES
-share/doc/pari/Makefile
-share/doc/pari/NEW
-share/doc/pari/README
-share/doc/pari/TODO
 share/doc/pari/appa.tex
 share/doc/pari/appb.tex
-share/doc/pari/appc.tex
+share/doc/pari/appd.tex
+share/doc/pari/develop.dvi
+share/doc/pari/develop.tex
+share/doc/pari/libpari.dvi
 share/doc/pari/paricfg.tex
-share/doc/pari/paricfg.tex.in
 share/doc/pari/parimacro.tex
 share/doc/pari/pdfmacs.tex
 share/doc/pari/refcard.dvi
@@ -63,18 +61,19 @@ share/examples/pari/bench.gp
 share/examples/pari/cl.gp
 share/examples/pari/classno.gp
 share/examples/pari/contfrac.gp
+share/examples/pari/extgcd.c
 share/examples/pari/lucas.gp
-share/examples/pari/matexp.c
 share/examples/pari/rho.gp
 share/examples/pari/squfof.gp
 share/examples/pari/taylor.gp
 share/pari/
+share/pari/PARI/
+share/pari/PARI/822.pm
 share/pari/misc/
 share/pari/misc/README
 share/pari/misc/color.dft
 share/pari/misc/gpalias
 share/pari/misc/gpflog
 share/pari/misc/gprc.dft
-share/pari/misc/new.dic
-share/pari/misc/pari.xpm
 share/pari/misc/xgp
+share/pari/pari.desc

Reply via email to