aboutsummaryrefslogtreecommitdiff
path: root/math/sage
diff options
context:
space:
mode:
authorStephen Montgomery-Smith <stephen@FreeBSD.org>2014-05-15 22:58:01 +0000
committerStephen Montgomery-Smith <stephen@FreeBSD.org>2014-05-15 22:58:01 +0000
commitef55c5337b882f66d4047452c7e88536bf0519b1 (patch)
tree1455689f3d6b23c3eca6bc240ebed8b13789320c /math/sage
parent8a175e5f22ebbba579c95106c0e12de48a94aaa8 (diff)
downloadports-ef55c5337b882f66d4047452c7e88536bf0519b1.tar.gz
ports-ef55c5337b882f66d4047452c7e88536bf0519b1.zip
Notes
Diffstat (limited to 'math/sage')
-rw-r--r--math/sage/Makefile37
-rw-r--r--math/sage/distinfo4
-rw-r--r--math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h13
-rw-r--r--math/sage/files/patch-build_pkgs_libgap_spkg-install12
-rw-r--r--math/sage/files/patch-build_pkgs_pynac_spkg-install12
-rw-r--r--math/sage/files/patch-src_doc_common_builder.py60
-rw-r--r--math/sage/files/patch-src_doc_common_custom-sphinx-build.py9
7 files changed, 85 insertions, 62 deletions
diff --git a/math/sage/Makefile b/math/sage/Makefile
index dca9da0c32de..c0af9f7c896a 100644
--- a/math/sage/Makefile
+++ b/math/sage/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sage
-PORTVERSION= 6.1.1
-PORTREVISION= 1
+PORTVERSION= 6.2
CATEGORIES= math
MASTER_SITES= http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/ \
http://mirrors.xmission.com/sage/src/ \
@@ -16,7 +15,9 @@ COMMENT= Open source Mathematics software
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
convert:${PORTSDIR}/graphics/ImageMagick \
- ffmpeg:${PORTSDIR}/multimedia/ffmpeg
+ ffmpeg:${PORTSDIR}/multimedia/ffmpeg \
+ automake:${PORTSDIR}/devel/automake \
+ autoconf:${PORTSDIR}/devel/autoconf
LIB_DEPENDS= libatlas.so:${PORTSDIR}/math/atlas \
liblapack.so:${PORTSDIR}/math/lapack \
libjpeg.so:${PORTSDIR}/graphics/jpeg
@@ -32,25 +33,11 @@ OPTIONS_DEFINE_amd64= 387
pre-extract:
@${ECHO_MSG}
- @${ECHO_MSG} \# The best way to build this port is to first type \"make build\".
- @${ECHO_MSG} \# If you type \"make\" or \"make install\", this will cause the building of a
- @${ECHO_MSG} \# package, which will take a considerable amount of time and space.
- @${ECHO_MSG}
- @${ECHO_MSG} \# After this, an easier way to install everything is to type:
- @${ECHO_MSG}
- @${ECHO_MSG} ${MV} ${WRKSRC} ${PREFIX}/.
- @${ECHO_MSG}
- @${ECHO_MSG} \# The next four lines are only needed if you want sage in ${PREFIX}/bin.
- @${ECHO_MSG}
- @${ECHO_MSG} "${SED} -e \"s+#SAGE_ROOT.*+SAGE_ROOT=${PREFIX}/${PORTNAME}-${PORTVERSION}+\" \\"
- @${ECHO_MSG} " ${PREFIX}/${PORTNAME}-${PORTVERSION}/sage > ${PREFIX}/bin/sage"
- @${ECHO_MSG} ${CHOWN} ${BINOWN}:${BINGRP} ${PREFIX}/bin/sage
- @${ECHO_MSG} ${CHMOD} ${BINMODE} ${PREFIX}/bin/sage
- @${ECHO_MSG}
- @${ECHO_MSG} \# The next line will provide write protection for sage.
- @${ECHO_MSG} ${CHOWN} -hR ${BINOWN}:${BINGRP} ${PREFIX}/${PORTNAME}-${PORTVERSION}
- @${ECHO_MSG}
- @sleep 60
+ @${ECHO_MSG} Instead of installing the port, which will take a considerable amount of
+ @${ECHO_MSG} extra time and space, you can instead type \"make build\". Then you can move
+ @${ECHO_MSG} work/${PORTNAME}-${PORTVERSION} to wherever you like, and run sage from there.
+ @${ECHO_MSG} However, there is no guarantee that this alternative will always work.
+ @sleep 10
PLIST_FILES= bin/sage
USE_GCC= yes
@@ -65,12 +52,6 @@ CXXFLAGS+= -Wl,-rpath=${WRKSRC}/local/lib ${FPM_FLAG}
# work-around for the make(1) idiosyncracy mentioned in PR 164361 (which
# otherwise breaks the build of the maxima sub-package).
-USE_AUTOTOOLS= autoconf
-run-autotools:
- @${DO_NADA}
-do-configure:
- @${DO_NADA}
-
# Optimization flags will be defined by the source
CFLAGS:= ${CFLAGS:C/^-O.*$//}
FFLAGS:= ${CFLAGS:C/^-O.*$//}
diff --git a/math/sage/distinfo b/math/sage/distinfo
index 9b394742d3fb..f5a7dab6d0c4 100644
--- a/math/sage/distinfo
+++ b/math/sage/distinfo
@@ -1,2 +1,2 @@
-SHA256 (sage-6.1.1.tar.gz) = bee00adf232fbd4b256fae1aae5e9b52cb5c050b2d2337b624c31f9c28d07f4d
-SIZE (sage-6.1.1.tar.gz) = 398548682
+SHA256 (sage-6.2.tar.gz) = ca9759fd1d38f51f5187907782c73682cba7dec04d1f6aba6e502084ab4035bb
+SIZE (sage-6.2.tar.gz) = 424950536
diff --git a/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h b/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h
deleted file mode 100644
index 6d40c4ffe160..000000000000
--- a/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- /dev/null 2014-01-29 03:00:00.000000000 +0000
-+++ build/pkgs/eclib/fbsd-patch-src_libsrc_eclib_interface.h 2014-01-29 03:01:19.000000000 +0000
-@@ -0,0 +1,10 @@
-+--- src/libsrc/eclib/interface.h-orig 2013-04-26 23:46:24.000000000 +0000
-++++ src/libsrc/eclib/interface.h 2013-04-26 23:47:09.000000000 +0000
-+@@ -48,6 +48,7 @@
-+ #include <iterator>
-+ using namespace std;
-+ #include "templates.h"
-++#include <stdint.h>
-+
-+ #ifndef MININT
-+ #define MININT numeric_limits<int>::min()
diff --git a/math/sage/files/patch-build_pkgs_libgap_spkg-install b/math/sage/files/patch-build_pkgs_libgap_spkg-install
new file mode 100644
index 000000000000..b09183fe9ff9
--- /dev/null
+++ b/math/sage/files/patch-build_pkgs_libgap_spkg-install
@@ -0,0 +1,12 @@
+--- build/pkgs/libgap/spkg-install-orig 2014-05-15 02:28:13.000000000 +0000
++++ build/pkgs/libgap/spkg-install 2014-05-15 02:29:05.000000000 +0000
+@@ -42,6 +42,9 @@
+ done
+
+ echo "Configuring libGAP..."
++aclocal
++automake --add-missing
++autoconf
+ ./configure --disable-static \
+ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
+ --with-gap_system_arch="$GAParch_system" \
diff --git a/math/sage/files/patch-build_pkgs_pynac_spkg-install b/math/sage/files/patch-build_pkgs_pynac_spkg-install
new file mode 100644
index 000000000000..7083a6145b18
--- /dev/null
+++ b/math/sage/files/patch-build_pkgs_pynac_spkg-install
@@ -0,0 +1,12 @@
+--- build/pkgs/pynac/spkg-install-orig 2014-05-15 02:26:11.000000000 +0000
++++ build/pkgs/pynac/spkg-install 2014-05-15 02:19:32.000000000 +0000
+@@ -33,6 +33,9 @@
+ {
+ cd ${PYNACDIR}
+ PKG_CONFIG_PATH=${SAGE_LOCAL}/lib/pkgconfig; export PKG_CONFIG_PATH
++ aclocal
++ automake --add-missing
++ autoconf
+ ./configure --disable-static --prefix=${SAGE_LOCAL} --libdir="$SAGE_LOCAL/lib"
+ $MAKE
+ if [ $? -ne 0 ]; then
diff --git a/math/sage/files/patch-src_doc_common_builder.py b/math/sage/files/patch-src_doc_common_builder.py
index 0c52e5a7b9a8..a37f2165929f 100644
--- a/math/sage/files/patch-src_doc_common_builder.py
+++ b/math/sage/files/patch-src_doc_common_builder.py
@@ -1,6 +1,6 @@
---- src/doc/common/builder.py-orig 2013-03-17 20:50:38.000000000 +0000
-+++ src/doc/common/builder.py 2013-03-17 20:56:42.000000000 +0000
-@@ -272,13 +272,16 @@
+--- src/doc/common/builder.py.orig 2014-05-06 11:21:42.000000000 +0000
++++ src/doc/common/builder.py 2014-05-15 21:18:06.000000000 +0000
+@@ -281,19 +281,22 @@
# build the other documents in parallel
from multiprocessing import Pool
@@ -9,38 +9,60 @@
L = [(doc, name, kwds) + args for doc in others]
- # map_async handles KeyboardInterrupt correctly. Plain map and
- # apply_async does not, so don't use it.
-- pool.map_async(build_other_doc, L, 1).get(99999)
-- pool.close()
-- pool.join()
+- x = pool.map_async(build_other_doc, L, 1)
+- try:
+- x.get(99999)
+- pool.close()
+- pool.join()
+- except Exception:
+- pool.terminate()
+- if ABORT_ON_ERROR:
+- raise
+ # Pool doesn't work properly in FreeBSD. Instead:
+ for iii in L:
+ build_other_doc(iii)
+ # # map_async handles KeyboardInterrupt correctly. Plain map and
+ # # apply_async does not, so don't use it.
-+ # pool.map_async(build_other_doc, L, 1).get(99999)
-+ # pool.close()
-+ # pool.join()
++ # x = pool.map_async(build_other_doc, L, 1)
++ # try:
++ # x.get(99999)
++ # pool.close()
++ # pool.join()
++ # except Exception:
++ # pool.terminate()
++ # if ABORT_ON_ERROR:
++ # raise
logger.warning("Elapsed time: %.1f seconds."%(time.time()-start))
logger.warning("Done building the documentation!")
-@@ -464,12 +467,15 @@
+@@ -479,18 +482,20 @@
continue
output_dir = self._output_dir(format, lang)
from multiprocessing import Pool
- pool = Pool(NUM_THREADS, maxtasksperchild=1)
+ # pool = Pool(NUM_THREADS, maxtasksperchild=1)
L = [(doc, lang, format, kwds) + args for doc in self.get_all_documents(refdir)]
-- # (See comment in AllBuilder._wrapper about using map instead of apply.)
-- pool.map_async(build_ref_doc, L, 1).get(99999)
-- pool.close()
-- pool.join()
-+ # Pool doesn't work properly in FreeBSD. Instead:
+ # (See comment in AllBuilder._wrapper about using map instead of apply.)
+- x = pool.map_async(build_ref_doc, L, 1)
+- try:
+- x.get(99999)
+- pool.close()
+- pool.join()
+- except Exception:
+- pool.terminate()
+- if ABORT_ON_ERROR:
+- raise
+ for iii in L:
+ build_ref_doc(iii)
-+ # # (See comment in AllBuilder._wrapper about using map instead of apply.)
-+ # pool.map_async(build_ref_doc, L, 1).get(99999)
-+ # pool.close()
-+ # pool.join()
++ # x = pool.map_async(build_ref_doc, L, 1)
++ # try:
++ # x.get(99999)
++ # pool.close()
++ # pool.join()
++ # except Exception:
++ # pool.terminate()
++ # if ABORT_ON_ERROR:
++ # raise
# The html refman must be build at the end to ensure correct
# merging of indexes and inventories.
# Sphinx is run here in the current process (not in a
diff --git a/math/sage/files/patch-src_doc_common_custom-sphinx-build.py b/math/sage/files/patch-src_doc_common_custom-sphinx-build.py
new file mode 100644
index 000000000000..2287b364da53
--- /dev/null
+++ b/math/sage/files/patch-src_doc_common_custom-sphinx-build.py
@@ -0,0 +1,9 @@
+--- src/doc/common/custom-sphinx-build.py-orig 2014-05-15 19:16:13.000000000 +0000
++++ src/doc/common/custom-sphinx-build.py 2014-05-15 19:17:11.000000000 +0000
+@@ -207,4 +207,5 @@
+ if ERROR_MESSAGE and ABORT_ON_ERROR:
+ sys.stdout.flush()
+ sys.stderr.flush()
+- raise OSError(ERROR_MESSAGE)
++ # Comment out next line so that warnings don't stop doc build.
++ # raise OSError(ERROR_MESSAGE)