Index: head/math/sage/Makefile =================================================================== --- head/math/sage/Makefile (revision 354178) +++ head/math/sage/Makefile (revision 354179) @@ -1,179 +1,160 @@ # Created by: Stephen Montgomery-Smith # $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/ \ http://www-ftp.lip6.fr/pub/math/sagemath/src/ \ http://www.sagemath.org/src-old/ PKGNAMESUFFIX= -math MAINTAINER= stephen@FreeBSD.org 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 RUN_DEPENDS= bash:${PORTSDIR}/shells/bash # 387 option: this only makes a difference for the amd64 architecture. Causes # the internal floating point calculations to be performed with extended # precision. OPTIONS_DEFINE_amd64= 387 387_DESC= Use 387 instead of SSE FPU .include 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 USE_TEX= latex:build USES= fortran gmake iconv tk MAKE_JOBS_SAFE= yes LDFLAGS:= -Wl,-rpath=${WRKSRC}/local/lib ${LDFLAGS} FFLAGS+= -Wl,-rpath=${WRKSRC}/local/lib ${FPM_FLAG} CFLAGS+= -Wl,-rpath=${WRKSRC}/local/lib ${FPM_FLAG} CXXFLAGS+= -Wl,-rpath=${WRKSRC}/local/lib ${FPM_FLAG} # Note that the above addition to LDFLAGS, as a side effect, provides a # 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.*$//} MAKE_ENV+= SAGE_PORT=yes \ SAGE_INSTALL_GCC=no \ SAGE_ATLAS_LIB=${LOCALBASE}/lib \ DOT_SAGE=${WRKSRC}/tmp/.sage \ SAGE_FAT_BINARY=yes LATEST_LINK= sage-math # Conflicts with graphics/sage. # The following is needed for the lapack subpackage. MAKE_ARGS+= ARCH="${AR}" post-patch: ${REINPLACE_CMD} 's/$$MAKE $$gettext/$$MAKE PTHREAD_LIBS=${PTHREAD_LIBS} $$gettext/' ${WRKSRC}/build/pkgs/git/spkg-install # Create the wrappers for the compiler invocations. @${MKDIR} ${WRKSRC}/local/bin @${LN} -s -f ${LOCALBASE}/bin/gmake ${WRKSRC}/local/bin/make @${SED} -e 's#%%CC%%#${LOCALBASE}/bin/${CC}#' \ -e 's#%%LDFLAGS%%#${LDFLAGS} ${FPM_FLAG}#' \ ${FILESDIR}/gcc.in > ${WRKSRC}/local/bin/cc @${CHMOD} +x ${WRKSRC}/local/bin/cc @${LN} -s -f cc ${WRKSRC}/local/bin/gcc @${SED} -e 's#%%CC%%#${LOCALBASE}/bin/${CXX}#' \ -e 's#%%LDFLAGS%%#${LDFLAGS} ${FPM_FLAG}#' \ ${FILESDIR}/gcc.in > ${WRKSRC}/local/bin/c++ @${CHMOD} +x ${WRKSRC}/local/bin/c++ @${LN} -s -f c++ ${WRKSRC}/local/bin/g++ @${SED} -e 's#%%CC%%#${LOCALBASE}/bin/${FC}#' \ -e 's#%%LDFLAGS%%#${LDFLAGS} ${FPM_FLAG}#' \ ${FILESDIR}/gcc.in > ${WRKSRC}/local/bin/gfortran @${CHMOD} +x ${WRKSRC}/local/bin/gfortran post-build: ${RM} -rf ${WRKSRC}/tmp/.sage ${CHMOD} -R a+rX ${WRKSRC} check regression-test test: build @${ECHO_MSG} This test can also be performed after installation by typing \"sage -testall\". @${ECHO_MSG} cd ${WRKSRC} && ${SETENV} DOT_SAGE=${WRKSRC}/tmp/.sage ./sage -testall ${RM} -f ${WRKSRC}/python*.core INSTALL_SAGE_DIR= ${STAGEDIR}${PREFIX}/${PORTNAME}-${PORTVERSION} do-install: cd ${WRKDIR} && ${FIND} -s ${WRKSRC} | \ ${GREP} -v '^${WRKSRC}/upstream/' | \ ${GREP} -v '^${WRKSRC}/tmp' | \ ${SED} -e 's#${WRKDIR}/##' | \ ${CPIO} -pmud -R ${BINOWN}:${BINGRP} ${STAGEDIR}${PREFIX} ${ECHO_CMD} | ${SETENV} DOT_SAGE=${INSTALL_SAGE_DIR}/tmp/.sage ${INSTALL_SAGE_DIR}/sage ${RM} -rf ${INSTALL_SAGE_DIR}/tmp/.sage ${SED} -e "s+#SAGE_ROOT.*+SAGE_ROOT=${INSTALL_SAGE_DIR}+" ${WRKSRC}/sage > ${STAGEDIR}${PREFIX}/bin/sage ${CHMOD} ${BINMODE} ${STAGEDIR}${PREFIX}/bin/sage post-install: @${FIND} -s ${INSTALL_SAGE_DIR} -not -type d | \ ${SED} -e 's#${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} @${FIND} -s ${INSTALL_SAGE_DIR} -type d -empty | \ ${SED} -e 's#${STAGEDIR}${PREFIX}/#@exec ${MKDIR} %D/#' >> ${TMPPLIST} @${FIND} -s ${INSTALL_SAGE_DIR} -type d -depth | \ ${SED} -e 's#${STAGEDIR}${PREFIX}/#@dirrm #' >> ${TMPPLIST} .include .if ${OSVERSION} < 701106 BROKEN= POSIX semaphores are required, and the support only works in FreeBSD 7-STABLE and later .endif .if ${PORT_OPTIONS:M387} FPM_FLAG= -mfpmath=387 .else FPM_FLAG= .endif MAKE_ENV+= MAKE="${MAKE} -j${MAKE_JOBS_NUMBER}" .ifdef MAINTAINER_MODE test-fbsd-patches: patch ${RM} -rf ${WRKSRC}/build/pkgs/*/src; \ for d in ${WRKSRC}/build/pkgs/*; do \ if ls $$d/fbsd-patch-* > /dev/null 2>&1; then \ ${ECHO_MSG} Testing patches in $${d##*/}; \ b=$${d##*/}-`${CAT} $$d/package-version.txt | ${SED} 's/\.p.*//'`; \ c=${WRKSRC}/upstream/$$b.tar.bz2 ; \ if [ ! -e $$c ]; then \ ${ECHO_MSG} Couldn\'t find $$c; \ exit 1; \ fi; \ if ! (cd $$d && tar xf $$c && ${MV} $$b src); then \ ${ECHO_MSG} Unable to unarchive $$c; \ exit 1; \ fi; \ if ! (cd $$d && ${CAT} fbsd-patch-* | patch); then \ ${ECHO_MSG} Patches in $${d##*/} failed; \ exit 1; \ fi; \ fi; \ done; \ ${RM} -rf ${WRKSRC}/build/pkgs/*/src .endif .include Index: head/math/sage/distinfo =================================================================== --- head/math/sage/distinfo (revision 354178) +++ head/math/sage/distinfo (revision 354179) @@ -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 Index: head/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h =================================================================== --- head/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h (revision 354178) +++ head/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h (nonexistent) @@ -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 -+ using namespace std; -+ #include "templates.h" -++#include -+ -+ #ifndef MININT -+ #define MININT numeric_limits::min() Property changes on: head/math/sage/files/patch-build_pkgs_eclib_fbsd-patch-src_libsrc_eclib_interface.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/math/sage/files/patch-build_pkgs_libgap_spkg-install =================================================================== --- head/math/sage/files/patch-build_pkgs_libgap_spkg-install (nonexistent) +++ head/math/sage/files/patch-build_pkgs_libgap_spkg-install (revision 354179) @@ -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" \ Property changes on: head/math/sage/files/patch-build_pkgs_libgap_spkg-install ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/math/sage/files/patch-build_pkgs_pynac_spkg-install =================================================================== --- head/math/sage/files/patch-build_pkgs_pynac_spkg-install (nonexistent) +++ head/math/sage/files/patch-build_pkgs_pynac_spkg-install (revision 354179) @@ -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 Property changes on: head/math/sage/files/patch-build_pkgs_pynac_spkg-install ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/math/sage/files/patch-src_doc_common_builder.py =================================================================== --- head/math/sage/files/patch-src_doc_common_builder.py (revision 354178) +++ head/math/sage/files/patch-src_doc_common_builder.py (revision 354179) @@ -1,46 +1,68 @@ ---- 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 - pool = Pool(NUM_THREADS, maxtasksperchild=1) + # pool = Pool(NUM_THREADS, maxtasksperchild=1) 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 Index: head/math/sage/files/patch-src_doc_common_custom-sphinx-build.py =================================================================== --- head/math/sage/files/patch-src_doc_common_custom-sphinx-build.py (nonexistent) +++ head/math/sage/files/patch-src_doc_common_custom-sphinx-build.py (revision 354179) @@ -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) Property changes on: head/math/sage/files/patch-src_doc_common_custom-sphinx-build.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property