aboutsummaryrefslogtreecommitdiff
path: root/math/pari
diff options
context:
space:
mode:
authorSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2017-05-29 17:24:23 +0000
committerSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2017-05-29 17:24:23 +0000
commit423bf3cab6477dded3507dabb2b3dc2e41aab6c2 (patch)
tree2a980a0854dffd89906b6b70263f5fd0f184e214 /math/pari
parent3afe80fd4b1920059cc71215dd408c77351780a2 (diff)
downloadports-423bf3cab6477dded3507dabb2b3dc2e41aab6c2.tar.gz
ports-423bf3cab6477dded3507dabb2b3dc2e41aab6c2.zip
Add threading support
- Add USES=readline - Add PTHREADS and MPI options - Fix "-lX11 not found" warning - Add test targets - Bump PORTREVISION for dependency and package change PR: 219597 Submitted by: Yuri Victorovich <yuri@rawbw.com> (maintainer)
Notes
Notes: svn path=/head/; revision=442028
Diffstat (limited to 'math/pari')
-rw-r--r--math/pari/Makefile33
-rw-r--r--math/pari/files/patch-Configure15
2 files changed, 44 insertions, 4 deletions
diff --git a/math/pari/Makefile b/math/pari/Makefile
index 026cc2ef782a..70b35b4b91e0 100644
--- a/math/pari/Makefile
+++ b/math/pari/Makefile
@@ -3,6 +3,7 @@
PORTNAME= pari
PORTVERSION= 2.9.2
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= math
MASTER_SITES= http://pari.math.u-bordeaux.fr/pub/pari/unix/ \
@@ -21,20 +22,34 @@ ALL_TARGET= gp
CONFIGURE_SCRIPT= Configure
CONFIGURE_ARGS= --mandir=${MANPREFIX}/man/man1 \
--prefix=${PREFIX} \
- --with-gmp=${LOCALBASE}
+ --with-readline
HAS_CONFIGURE= yes
USE_LDCONFIG= yes
USE_PERL5= build
-USES= perl5
+USES= perl5 readline
OPTIONS_DEFINE= DOCS OPTIMIZED_CFLAGS X11
-OPTIONS_DEFAULT= OPTIMIZED_CFLAGS X11
+OPTIONS_RADIO= THREADS
+OPTIONS_RADIO_THREADS= PTHREADS MPI
+OPTIONS_DEFAULT= OPTIMIZED_CFLAGS X11 PTHREADS
+THREADS_DESC= Thread engine (single-threaded when none is selected)
+PTHREADS_DESC= Enable pthread thread engine
+MPI_DESC= Enable MPI thread engine
+MPI_BUILD_ENV= CC=mpicc
.ifndef WITH_DEBUG
OPTIMIZED_CFLAGS_CFLAGS= -O3 -fno-strict-aliasing -fomit-frame-pointer
.endif
X11_CONFIGURE_ON= --graphic=X11
X11_CONFIGURE_OFF= --graphic=none
X11_USE= xorg=x11
+MPI_RUN_DEPENDS= ${LOCALBASE}/bin/mpirun:net/mpich2
+MPI_BUILD_DEPENDS= ${LOCALBASE}/bin/mpicc:net/mpich2
+MPI_LIB_DEPENDS= libgmp.so:math/gmp
+PTHREADS_LIB_DEPENDS= libgmp.so:math/gmp
+PTHREADS_CONFIGURE_ON= --mt=pthread --with-gmp=${LOCALBASE}
+MPI_CONFIGURE_ON= --mt=mpi --with-gmp=${LOCALBASE}
+MPI_CONFIGURE_ENV= CC=${LOCALBASE}/bin/mpicc
+OPTIONS_SUB= yes
PLIST_SUB= GP_VERSION=${GP_VERSION} PORTVERSION=${PORTVERSION}
PORTDATA= *
@@ -46,8 +61,18 @@ GP_VERSION= ${PORTVERSION:R}
post-patch:
@${REINPLACE_CMD} -e '/^CFLAGS=/s/\$$cflags//' \
${WRKSRC}/config/get_cc
+ @${REINPLACE_CMD} -e 's|-lX11|-L${LOCALBASE}/lib -lX11|' \
+ ${WRKSRC}/config/get_X11
+ @${REINPLACE_CMD} -e 's|-lreadline|-L${LOCALBASE}/lib -lreadline|' \
+ ${WRKSRC}/config/get_readline
post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpari-gmp.so.*
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpari-gmp*.so.*
+
+do-test-PTHREADS-on:
+ @cd ${WRKSRC} && ${MAKE_CMD} test-parallel
+
+do-test-MPI-on:
+ @cd ${WRKSRC} && ${MAKE_CMD} test-parallel RUNTEST="mpirun -np 3"
.include <bsd.port.mk>
diff --git a/math/pari/files/patch-Configure b/math/pari/files/patch-Configure
new file mode 100644
index 000000000000..863c79e0b77c
--- /dev/null
+++ b/math/pari/files/patch-Configure
@@ -0,0 +1,15 @@
+--- Configure.orig 2017-05-28 16:56:49 UTC
++++ Configure
+@@ -104,9 +104,9 @@ case $kernlvl1 in
+ gmp) libpari_base=pari-gmp;;
+ none) libpari_base=pari;;
+ esac
+-case $enable_tls in
+-yes) libpari_base="${libpari_base}-tls"
+-esac
++#case $enable_tls in
++#yes) libpari_base="${libpari_base}-tls"
++#esac
+
+ if test `expr $VersionMinor % 2` = 0; then
+ libpari_base=$libpari_base-$version