diff --git a/math/ntl/Makefile b/math/ntl/Makefile index 760e4c11035f..7a22fb01b967 100644 --- a/math/ntl/Makefile +++ b/math/ntl/Makefile @@ -1,54 +1,55 @@ # Created by: bauerm PORTNAME= ntl PORTVERSION= 11.5.1 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= http://www.shoup.net/ntl/ MAINTAINER= ndowens04@gmail.com COMMENT= Victor Shoup's Number Theory Library LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/../doc/copying.txt USES= compiler:c11 libtool perl5 USE_LDCONFIG= yes USE_PERL5= build HAS_CONFIGURE= yes CONFIGURE_ARGS+=AR="${AR}" CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \ DEF_PREFIX="${LOCALBASE}" LDFLAGS="${LDFLAGS}" \ PREFIX="${PREFIX}" RANLIB="${RANLIB}" SHARED=on CFLAGS+= -fPIC WRKSRC_SUBDIR= src MAKEFILE= makefile TEST_TARGET= check NTLDOCSDIR= share/doc/NTL PLIST_SUB= NTLDOCS=${NTLDOCSDIR} OPTIONS_DEFINE= DOCS GF2X GMP NATIVE OPTIONS_DEFAULT= GF2X GMP GMP_DESC= Arbitrary precision arithmetic (Faster) GMP_LIB_DEPENDS= libgmp.so:math/gmp GMP_CONFIGURE_OFF= NTL_GMP_LIP=off GF2X_DESC= Faster arithmetic over GF(2)[X] (the NTL class GF2X) GF2X_LIB_DEPENDS= libgf2x.so:math/gf2x GF2X_CONFIGURE_ON= NTL_GF2X_LIB=on GF2X_CONFIGURE_OFF= NTL_GF2X_LIB=off NATIVE_DESC= Build with native optimizations (-march=native) NATIVE_CONFIGURE_ON= NATIVE=on NATIVE_CONFIGURE_OFF= NATIVE=off do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/../doc/* ${STAGEDIR}${DOCSDIR} post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libntl.so.* .include diff --git a/math/polymake/Makefile b/math/polymake/Makefile index 06bd12848fc3..895757cc7d33 100644 --- a/math/polymake/Makefile +++ b/math/polymake/Makefile @@ -1,198 +1,199 @@ # Created by: Ewgenij Gawrilow PORTNAME= polymake DISTVERSION= 4.6 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= https://polymake.org/lib/exe/fetch.php/download/ DISTNAME= ${PORTNAME}-${DISTVERSION}-minimal MAINTAINER= bsd@philippost.de COMMENT= Software package for research in polyhedral geometry LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= boost-libs>=1.72:devel/boost-libs \ ninja:devel/ninja \ permlib>=0.2.9:math/permlib \ p5-XML-SAX>=1.02:textproc/p5-XML-SAX \ p5-XML-Writer>=0.900:textproc/p5-XML-Writer \ p5-Term-ReadLine-Gnu>=1.37:devel/p5-Term-ReadLine-Gnu \ p5-Term-ReadKey>=2.38:devel/p5-Term-ReadKey \ p5-JSON>=2.97:converters/p5-JSON LIB_DEPENDS= libcddgmp.so:math/cddlib \ libflint.so:math/flint2 \ libgmpxx.so:math/gmp \ libmpfr.so:math/mpfr RUN_DEPENDS= bash>=5.0:shells/bash \ boost-libs>=1.72:devel/boost-libs \ permlib>=0.2.9:math/permlib \ p5-XML-SAX>=1.02:textproc/p5-XML-SAX \ p5-XML-Writer>=0.900:textproc/p5-XML-Writer \ p5-Term-ReadLine-Gnu>=1.37:devel/p5-Term-ReadLine-Gnu \ p5-Term-ReadKey>=2.38:devel/p5-Term-ReadKey \ p5-JSON>=2.97:converters/p5-JSON USES= compiler:c++14-lang gmake gnome perl5 readline shebangfix \ tar:bzip2 USE_GNOME= libxml2 libxslt USE_LDCONFIG= ${PREFIX}/lib USE_PERL5= build run SHEBANG_FILES= resources/host-agent/bin/env resources/host-agent/bin/polymake SHEBANG_GLOB= *.pl *.sh # polymake's configure script expects options to be disabled by --without-option # and most options to be enabled by --with-option=DIR HAS_CONFIGURE= yes CONFIGURE_ARGS= --prefix=${PREFIX} \ --exec-prefix=${PREFIX} \ --bindir=${PREFIX}/bin \ --includedir=${PREFIX}/include \ --libdir=${PREFIX}/lib \ --libexecdir=${PREFIX}/libexec/polymake \ --datadir=${PREFIX}/share/polymake \ --docdir=${DOCSDIR} \ --without-prereq \ --with-libcxx \ --with-cdd=${LOCALBASE} \ --with-flint=${LOCALBASE} \ --with-permlib=${LOCALBASE}/lib \ --without-java \ --without-javaview \ --without-sympol CONFIGURE_LOG= build/bundled.log # Optional features; SoPlex defaults to off due to licencsing and SCIP defaults # to off due to a dependency on libsoplex.so. OPTIONS_DEFINE= LRS NATIVE NORMALIZ OPENMP PPL SCIP SINGULAR SOPLEX TESTS OPTIONS_DEFAULT= BLISS LRS NORMALIZ OPENMP PPL SINGULAR # Exlude lrslib on i386 and powerpc because it is marked BROKEN for those # architectures OPTIONS_EXCLUDE_i386= LRS OPTIONS_EXCLUDE_powerpc= LRS OPTIONS_SUB= yes # polymake needs either math/bliss or math/nauty to compute graph automorphism # groups OPTIONS_SINGLE= GRAPH OPTIONS_SINGLE_GRAPH= BLISS NAUTY BLISS_DESC= Compute graph automorphism groups using bliss GRAPH_DESC= Graph automorphism groups LRS_DESC= Convex hull computation and vertex enumeration NATIVE_DESC= Build with native optimizations (-march=native) NAUTY_DESC= Compute graph automorphism groups using nauty NORMALIZ_DESC= Computations in affine monoids and lattice polytopes PPL_DESC= Manipulation of convex polyhedra SCIP_DESC= Solver for mixed integer linear and nonlinear problems SINGULAR_DESC= Computation of Groebner bases SOPLEX_DESC= Solver for linear programming problems TESTS_DESC= Run bundled self tests after build BLISS_CONFIGURE_ON= --with-bliss=${LOCALBASE} BLISS_CONFIGURE_OFF= --without-bliss BLISS_BUILD_DEPENDS= bliss-graph-tool>=0.73:math/bliss BLISS_RUN_DEPENDS= bliss-graph-tool>=0.73:math/bliss NAUTY_CONFIGURE_ON= --with-nauty=${LOCALBASE} NAUTY_CONFIGURE_OFF= --without-nauty NAUTY_LIB_DEPENDS= libnauty.so:math/nauty LRS_CONFIGURE_ON= --with-lrs=${LOCALBASE} \ --with-lrs-include=${LOCALBASE}/include/lrslib LRS_CONFIGURE_OFF= --without-lrs LRS_LIB_DEPENDS= liblrs.so:math/lrslib NATIVE_CONFIGURE_OFF= --without-native NORMALIZ_CONFIGURE_ON= --with-libnormaliz=${LOCALBASE} NORMALIZ_CONFIGURE_OFF= --without-libnormaliz NORMALIZ_LIB_DEPENDS= libnormaliz.so:math/libnormaliz OPENMP_CONFIGURE_OFF= --without-openmp PPL_CONFIGURE_ON= --with-ppl=${LOCALBASE} PPL_CONFIGURE_OFF= --without-ppl PPL_LIB_DEPENDS= libppl.so:devel/ppl SCIP_CONFIGURE_ON= --with-scip=${LOCALBASE} SCIP_CONFIGURE_OFF= --without-scip SCIP_LIB_DEPENDS= libscip.so:math/SCIP SINGULAR_CONFIGURE_ON= --with-singular=${LOCALBASE} SINGULAR_CONFIGURE_OFF= --without-singular SINGULAR_LIB_DEPENDS= libSingular.so:math/singular SOPLEX_CONFIGURE_ON= --with-soplex=${LOCALBASE} SOPLEX_CONFIGURE_OFF= --without-soplex SOPLEX_LIB_DEPENDS= libsoplex-pic.so:math/SoPlex TESTS_VARS= USE_PERL5+=test # The port uses the minimal distribution tarball without bundled libraries. # Set WRKSRC accordingly. WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} .include # Deal with site specific installation directory # polymake installs a perlxs module which depends on the perl configuration PERL_ARCHNAME= ${:!${PERL} -E 'use Config; print "\$Config::Config{archname}";'!} PLIST_FILES= libexec/polymake/perlx/${PERL_VERSION}/${PERL_ARCHNAME}/auto/Polymake/Ext/Ext.so # Keep track of the major version DISTVERSION_MAJ= ${:!expr ${DISTVERSION} : '\([0-9]*\).*'!} post-install: ${RLN} ${STAGEDIR}${PREFIX}/lib/libpolymake.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/lib/libpolymake.so.${DISTVERSION_MAJ} ${RLN} ${STAGEDIR}${PREFIX}/lib/libpolymake.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/lib/libpolymake.so ${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/lib/libpolymake.so.${DISTVERSION} \ .for _lp in libpolymake-apps libpolymake-apps-rt ${RLN} ${STAGEDIR}${PREFIX}/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/lib/${_lp}.so.${DISTVERSION_MAJ} ${RLN} ${STAGEDIR}${PREFIX}/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/lib/${_lp}.so ${RLN} ${STAGEDIR}${PREFIX}/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so.${DISTVERSION_MAJ} ${RLN} ${STAGEDIR}${PREFIX}/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so ${RLN} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so.${DISTVERSION_MAJ} ${RLN} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so.${DISTVERSION} \ ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so # strip the libraries ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${_lp}.so.${DISTVERSION} .endfor ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/polymake/perlx/${PERL_VERSION}/${PERL_ARCHNAME}/auto/Polymake/Ext/Ext.so .for l in common fan fulton graph group matroid polytope topaz tropical ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${l}.so .endfor # only strip libexec/polymake/lib/ideal.so iff SINGULAR=on, if SINGULAR=off it # is an empty file and stripping fails .if ${PORT_OPTIONS:MSINGULAR} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/ideal.so .endif .for lp in libpolymake-apps libpolymake-apps-rt ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/polymake/lib/${lp}.so.${DISTVERSION} .endfor post-install-TESTS-on: test # Set HOME=${WRKDIR} to prevent polymake writing its .polymake directory outside # WRKDIR. test: @cd ${WRKSRC} && HOME=${WRKDIR} perl/polymake --script run_testcases .include diff --git a/math/pynac/Makefile b/math/pynac/Makefile index bb87753bbcb4..b138ebdd4371 100644 --- a/math/pynac/Makefile +++ b/math/pynac/Makefile @@ -1,36 +1,36 @@ # Created by: thierry@pompo.net PORTNAME= pynac PORTVERSION= 0.7.27 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= math python MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/archive/ MAINTAINER= thierry@FreeBSD.org COMMENT= Symbolic computation with Python objects, Sage Math support library LICENSE= GPLv2 LIB_DEPENDS= libgmp.so:math/gmp \ libntl.so:math/ntl \ libmpfr.so:math/mpfr \ libflint.so:math/flint2 \ libSingular.so:math/singular USES= autoreconf compiler:c++11-lang libtool localbase pkgconfig \ python:3.6+ OPTIONS_DEFINE= GIAC OPTIONS_DEFAULT= GIAC_DESC= Use giac for polynomial manipulations GIAC_LIB_DEPENDS= libgiac.so:math/giacxcas GIAC_CONFIGURE_ON= --with-giac GIAC_CONFIGURE_OFF= --without-giac GIAC_LIBS= "-lm" GNU_CONFIGURE= yes WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTNAME}-${PORTVERSION} USE_LDCONFIG= yes TEST_TARGET= check .include diff --git a/math/sage/Makefile b/math/sage/Makefile index b56ad3f5ca72..eb689a7dc06b 100644 --- a/math/sage/Makefile +++ b/math/sage/Makefile @@ -1,576 +1,576 @@ # Created by: Stephen Montgomery-Smith PORTNAME= sage PORTVERSION= 9.2 -PORTREVISION= 22 +PORTREVISION= 23 CATEGORIES= math MASTER_SITES= https://mirrors.xmission.com/sage/src/ \ http://mirrors.xmission.com/sage/src/ \ https://www-ftp.lip6.fr/pub/math/sagemath/src/ \ https://mirrors.mit.edu/sage/src/ \ https://files.sagemath.org/src/ \ ftp://www-ftp.lip6.fr/pub/math/sagemath/src/ #MASTER_SITES= ftp://www-ftp.lip6.fr/pub/math/sagemath/devel/ PKGNAMESUFFIX= -math MAINTAINER= thierry@FreeBSD.org COMMENT= Open source Mathematics software LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING.txt BUILD_DEPENDS= bash:shells/bash \ dash:shells/dash \ cmake:devel/cmake \ dreadnaut:math/nauty \ ${PYTHON_PKGNAMEPREFIX}alabaster>0:textproc/py-alabaster@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Babel>0:devel/py-babel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}backcall>0:devel/py-backcall@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}bleach>0:www/py-bleach@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}brial>0:math/py-brial@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cvxopt>0:math/py-cvxopt@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cycler>0:devel/py-cycler@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cypari2>0:math/py-cypari2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cysignals>0:devel/py-cysignals@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}decorator>0:devel/py-decorator@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}defusedxml>0:devel/py-defusedxml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}entrypoints>0:devel/py-entrypoints@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}fpylll>0:math/py-fpylll@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}gmpy2-devel>0:math/py-gmpy2-devel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}imagesize>0:graphics/py-imagesize@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipykernel5>0:devel/py-ipykernel5@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython>0:devel/ipython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython_genutils>0:devel/py-ipython_genutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipywidgets>0:devel/py-ipywidgets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}itsdangerous>0:security/py-itsdangerous@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Jinja2>0i:devel/py-Jinja2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jedi>0:devel/py-jedi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter-core>0:devel/py-jupyter-core@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter-client>0:devel/py-jupyter-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}kiwisolver>0:math/py-kiwisolver@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mistune>0:textproc/py-mistune@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbconvert>0:devel/py-nbconvert@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbformat>0:devel/py-nbformat@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}networkx>0:math/py-networkx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}notebook>0:www/py-notebook@${PY_FLAVOR}\ ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pandocfilters>0:textproc/py-pandocfilters@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}parso>0:textproc/py-parso@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}path.py>0:devel/py-path.py@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pickleshare>0:databases/py-pickleshare@${PY_FLAVOR}\ ${PY_PILLOW} \ ${PYTHON_PKGNAMEPREFIX}pkgconfig>0:devel/py-pkgconfig@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pplpy>0:math/py-pplpy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prometheus-client>0:net-mgmt/py-prometheus-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>0:devel/py-prompt-toolkit@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ptyprocess>0:sysutils/py-ptyprocess@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyrsistent>0:devel/py-pyrsistent@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyzmq>0:net/py-pyzmq@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}rpy2>0:math/py-rpy2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scandir>0:sysutils/py-scandir@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}send2trash>0:deskutils/py-send2trash@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}simplegeneric>0:devel/py-simplegeneric@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}snowballstemmer>0:textproc/py-snowballstemmer@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-applehelp>0:textproc/py-sphinxcontrib-applehelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>0:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-websupport>0:textproc/py-sphinxcontrib-websupport@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}terminado>0:net/py-terminado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}testpath>0:devel/py-testpath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tzlocal>0:devel/py-tzlocal@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}vcversioner>0:devel/py-vcversioner@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}wcwidth>0:devel/py-wcwidth@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}webencodings>0:converters/py-webencodings@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}widgetsnbextension>0:devel/py-widgetsnbextension@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}\ fflas-ffpack-config:math/fflas-ffpack \ fricas>0:math/fricas \ gfan:math/gfan \ git:devel/git \ gp2c:math/gp2c \ jmol:science/jmol \ libatomic_ops>0:devel/libatomic_ops \ MathJax>0:www/mathjax \ maxima>0:math/maxima \ p5-XML-Writer>0:textproc/p5-XML-Writer \ p5-XML-LibXML>0:textproc/p5-XML-LibXML \ p5-XML-LibXSLT>0:textproc/p5-XML-LibXSLT\ p5-File-Slurp>0:devel/p5-File-Slurp \ p5-JSON>0:converters/p5-JSON \ p5-SVG>0:textproc/p5-SVG \ p5-MongoDB>0:databases/p5-MongoDB \ p5-Term-ReadLine-Gnu>0:devel/p5-Term-ReadLine-Gnu\ palp>0:math/palp \ pandoc:textproc/hs-pandoc \ pari-elldata>0:math/pari_elldata\ pari-galdata>0:math/pari_galdata\ pari-galpol>0:math/pari_galpol \ pari-nftables>0:math/pari_nftables \ pari-seadata>0:math/pari_seadata\ QuadraticSieve:math/flintqs \ gpatch:devel/patch \ rubiks>0:math/rubiks \ sympow:math/sympow \ tachyon:graphics/tachyon \ three.js>0:www/threejs \ yasm:devel/yasm \ gtar:archivers/gtar \ ffmpeg:multimedia/ffmpeg \ ${LOCALBASE}/lib/libBLT.a:x11-toolkits/blt LIB_DEPENDS= libarb.so:math/arb \ libboost_thread.so:devel/boost-libs \ libbraiding.so:math/libbraiding \ libbrial.so:math/brial \ libCbc.so:math/cbc \ libcdd.so:math/cddlib \ libcliquer.so:math/cliquer \ libcurl.so:ftp/curl \ libeantic.so:math/e-antic \ libec.so:math/eclib \ libecl.so:lang/ecl \ libecm.so:math/gmp-ecm \ libflint.so:math/flint2 \ libfplll.so:math/fplll \ libfreetype.so:print/freetype2 \ libgc.so:devel/boehm-gc \ libgc-threaded.so:devel/boehm-gc-threaded\ libgf2x.so:math/gf2x \ libgivaro.so:math/givaro \ libglpk.so:math/glpk \ libgap.so:math/gap \ libgmp.so:math/gmp \ libgsl.so:math/gsl \ libhomfly.so:math/libhomfly \ libiml.so:math/iml \ libisl.so:devel/isl \ libLfunction.so:math/lcalc \ libffi.so:devel/libffi \ libgd.so:graphics/gd \ libgiac.so:math/giacxcas \ liblinbox.so:math/linbox \ liblrcalc.so:math/lrcalc \ liblrs.so:math/lrslib \ libm4ri.so:math/m4ri \ libm4rie.so:math/m4rie \ libmpc.so:math/mpc \ libmpfi.so:math/mpfi \ libmpfr.so:math/mpfr \ libmpir.so:math/mpir \ libntl.so:math/ntl \ libpari.so:math/pari \ libpcre.so:devel/pcre \ libplanarity.so:math/planarity \ libpng.so:graphics/png \ libppl.so:devel/ppl \ libpynac.so:math/pynac \ libR.so:math/R \ librw.so:math/rankwidth \ libSingular.so:math/singular \ libumfpack.so:math/suitesparse-umfpack \ libsemigroups.so:math/libsemigroups \ libsymmetrica.so:math/symmetrica\ libzmq.so:net/libzmq4 \ libzn_poly-0.9.so:math/zn_poly \ libqd.so:math/qd \ libisl.so:devel/isl \ libblas.so:math/blas \ libicuuc.so:devel/icu \ libtiff.so:graphics/tiff \ liblapack.so:math/lapack \ libedit.so:devel/libedit \ libwebp.so:graphics/webp \ libpcre2-8.so:devel/pcre2 \ libgdbm.so:databases/gdbm \ liblcms2.so:graphics/lcms2 \ libopenjp2.so:graphics/openjpeg RUN_DEPENDS= bash:shells/bash \ dreadnaut:math/nauty \ ${PYTHON_PKGNAMEPREFIX}alabaster>0:textproc/py-alabaster@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Babel>0:devel/py-babel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}backcall>0:devel/py-backcall@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}bleach>0:www/py-bleach@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}brial>0:math/py-brial@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cvxopt>0:math/py-cvxopt@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cycler>0:devel/py-cycler@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cypari2>0:math/py-cypari2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cysignals>0:devel/py-cysignals@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}decorator>0:devel/py-decorator@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}defusedxml>0:devel/py-defusedxml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}entrypoints>0:devel/py-entrypoints@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}fpylll>0:math/py-fpylll@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}gmpy2-devel>0:math/py-gmpy2-devel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}imagesize>0:graphics/py-imagesize@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipykernel5>0:devel/py-ipykernel5@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython>0:devel/ipython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython_genutils>0:devel/py-ipython_genutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipywidgets>0:devel/py-ipywidgets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}itsdangerous>0:security/py-itsdangerous@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jedi>0:devel/py-jedi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter-core>0:devel/py-jupyter-core@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter-client>0:devel/py-jupyter-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}kiwisolver>0:math/py-kiwisolver@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mistune>0:textproc/py-mistune@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbconvert>0:devel/py-nbconvert@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbformat>0:devel/py-nbformat@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}networkx>0:math/py-networkx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}notebook>0:www/py-notebook@${PY_FLAVOR}\ ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pandocfilters>0:textproc/py-pandocfilters@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}parso>0:textproc/py-parso@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}path.py>0:devel/py-path.py@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pickleshare>0:databases/py-pickleshare@${PY_FLAVOR}\ ${PY_PILLOW} \ ${PYTHON_PKGNAMEPREFIX}pkgconfig>0:devel/py-pkgconfig@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pplpy>0:math/py-pplpy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prometheus-client>0:net-mgmt/py-prometheus-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>0:devel/py-prompt-toolkit@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ptyprocess>0:sysutils/py-ptyprocess@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyrsistent>0:devel/py-pyrsistent@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyzmq>0:net/py-pyzmq@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}rpy2>0:math/py-rpy2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scandir>0:sysutils/py-scandir@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}send2trash>0:deskutils/py-send2trash@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}simplegeneric>0:devel/py-simplegeneric@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}snowballstemmer>0:textproc/py-snowballstemmer@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-applehelp>0:textproc/py-sphinxcontrib-applehelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>0:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-websupport>0:textproc/py-sphinxcontrib-websupport@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}terminado>0:net/py-terminado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}testpath>0:devel/py-testpath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tzlocal>0:devel/py-tzlocal@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}vcversioner>0:devel/py-vcversioner@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}wcwidth>0:devel/py-wcwidth@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}webencodings>0:converters/py-webencodings@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}widgetsnbextension>0:devel/py-widgetsnbextension@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}\ fflas-ffpack-config:math/fflas-ffpack \ fricas>0:math/fricas \ gfan:math/gfan \ git:devel/git \ gp2c:math/gp2c \ jmol:science/jmol \ MathJax>0:www/mathjax \ maxima>0:math/maxima \ p5-Term-ReadLine-Gnu>0:devel/p5-Term-ReadLine-Gnu\ palp>0:math/palp \ pandoc:textproc/hs-pandoc \ pari-elldata>0:math/pari_elldata\ pari-galdata>0:math/pari_galdata\ pari-galpol>0:math/pari_galpol \ pari-nftables>0:math/pari_nftables \ pari-seadata>0:math/pari_seadata\ QuadraticSieve:math/flintqs \ rubiks>0:math/rubiks \ sympow:math/sympow \ tachyon:graphics/tachyon \ three.js>0:www/threejs \ yasm:devel/yasm \ pixz:archivers/pixz USES= autoreconf blaslapack:openblas compiler:c++11-lib fortran \ gettext gmake gnome iconv jpeg libtool localbase magick:6,build \ ncurses ninja:build perl5 pkgconfig python:3.7+ readline shebangfix \ sqlite tk xorg USE_TEX= latex:build pdftex:build tex:build USE_XORG= x11 xext xscrnsaver USE_GNOME= cairo glib20 pango USE_PYTHON= cython USE_JAVA= yes # for science/jmol CONFLICTS= ${PYTHON_PKGNAMEPREFIX}wheel-0.* SHEBANG_FILES= . SHEBANG_LANG+= dash dash_OLD_CMD= /bin/dash dash_CMD= ${LOCALBASE}/bin/dash DISABLE_BINUTILS= yes LIBS= -lomp -pthread .if !defined{WITH_DEBUG} LDFLAGS+= -s .endif BLDDIR= ${WRKDIR}/build GNU_CONFIGURE= yes CONFIGURE_ENV= SAGE_PORT=yes CC=${CC} GCC=${CC} CXX=${CXX} AS=${AS} LD=${LD} \ SAGE_LOCAL=${PREFIX} SAGE_DESTDIR=${BLDDIR}/ \ DESTDIR=${BLDDIR}/${PREFIX} PATCH=${LOCALBASE}/bin/gpatch CONFIGURE_ARGS= --with-system-gcc=force \ --with-system-python3=yes \ --with-python=${PYTHON_CMD} \ --enable-build-as-root \ --disable-download-from-upstream-url \ --localstatedir=/var MAKE_ENV= MAKE=${GMAKE} DESTDIR=${BLDDIR} ALL_TARGET= build REINPLACE_ARGS= -i '' BINARY_ALIAS= patch=${LOCALBASE}/bin/gpatch OPTIONS_SUB= yes PLIST_SUB= VER=${DISTVERSION} SUB_FILES= pkg-message OPTIONS_DEFINE= DOCS PORTDOCS= * .include WSDIR= ${BLDDIR}${PREFIX} SPKG_INST= configure.ac configure build/sage_bootstrap/uninstall.py \ build/make/install src/bin/sage-env PY2FIX= bin lib/${PYTHON_VERSION} DOC2FIX= .pickle .doctree SE2FIX= ^ECLDIR= ^SINGULAR MAXIMA_PREFIX SHR2FIX= GAP_ROOT_DIR PPLPY_DOCS SINGULARPATH STG2FIX= bin/sage-env-config \ share/jupyter/kernels/sagemath/kernel.json BADLN= kernels/sagemath/doc nbextensions/jsmol \ nbextensions/mathjax nbextensions/threejs # External dependencies not yet handled by SageMath # Note: do not use wheel from ports PY_LIBS= alabaster attrs babel backcall bleach certifi cffi cvxopt cycler \ cypari cysignals cython dateutil decorator defusedxml docutils \ entrypoints fpylll gmpy2 html5lib imagesize importlib_metadata ipykernel ipython \ ipython_genutils ipywidgets itsdangerous jedi jinja2 jsonschema jupyter_client \ jupyter_core kiwisolver markupsafe matplotlib mistune mpmath \ nbconvert nbformat networkx nose notebook numpy packaging pandocfilters \ parso pathpy pexpect pickleshare pillow pkgconfig pplpy \ prometheus_client prompt_toolkit psutil ptyprocess pybind11 pycparser pyparsing \ pygments pyrsistent pytz pyzmq requests rpy2 scandir scipy send2trash simplegeneric \ six snowballstemmer sphinx sphinxcontrib_applehelp sphinxcontrib_devhelp sphinxcontrib_htmlhelp sphinxcontrib_jsmath sphinxcontrib_qthelp sphinxcontrib_serializinghtml sphinxcontrib_websupport sympy terminado testpath tornado traitlets \ tzlocal vcversioner wcwidth webencodings widgetsnbextension zipp zope_interface JS_LIBS= jmol mathjax threejs SPKGCM4= e_antic ecl gap libhomfly linbox maxima pynac rubiks singular post-patch: ${CP} ${FILESDIR}/psutil__arch__bsd__freebsd_socks.c.patch \ ${WRKSRC}/build/pkgs/psutil/patches/ .for sp in ${SPKGCM4} ${CP} ${FILESDIR}/${sp}_spkg-configure.m4 \ ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 .endfor .for sp in ${PY_LIBS} ${CP} ${FILESDIR}/py_libs_spkg-configure.m4 \ ${WRKSRC}/build/pkgs/${sp:C/pari2/pari/}/spkg-configure.m4 .endfor #.for sp in ${PY_FILES} # ${SED} -e 's|%%PYTHON_SITELIBDIR%%|${PYTHON_SITELIBDIR}|' ${FILESDIR}/${sp}_spkg-configure.m4.in \ # > ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 #.endfor .for sp in ${JS_LIBS} ${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${FILESDIR}/${sp}_spkg-configure.m4.in \ > ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 .endfor pre-configure: ${REINPLACE_CMD} -e 's|SAGE_LOCAL="$$prefix"|SAGE_LOCAL="${WSDIR}"|' \ -e 's|lib/pkgconfig|libdata/pkgconfig|' ${WRKSRC}/configure.ac ${REINPLACE_CMD} -e 's|SAGE_LOCAL="@prefix@"|SAGE_LOCAL="${WSDIR}"|' \ ${WRKSRC}/src/bin/sage-env-config.in ${REINPLACE_CMD} -e 's|%%CFLAGS%%|${CFLAGS}|;s|%%LDFLAGS%%|${LDFLAGS}|' \ ${WRKSRC}/build/pkgs/tachyon/patches/Make-arch.patch ${REINPLACE_CMD} -e '/SUITESPARSE_INC_DIR/s|$${SAGE_LOCAL}/include|${LOCALBASE}/include/suitesparse|'\ ${WRKSRC}/build/pkgs/cvxopt/spkg-install.in ${REINPLACE_CMD} -e 's|exec python3|exec ${PYTHON_CMD}|' \ -e 's|exec "$$SAGE_LOCAL"/bin/python3|exec ${PYTHON_CMD}|' \ ${WRKSRC}/src/bin/sage .for f in ${PY_LIBS} ${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|;s|py_libs|${f}|' \ ${WRKSRC}/build/pkgs/${f}/spkg-configure.m4 .endfor ${REINPLACE_CMD} -e 's|import attrs|import attr|' \ ${WRKSRC}/build/pkgs/attrs/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import cypari|import cypari2|' \ ${WRKSRC}/build/pkgs/cypari/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import ipython|import IPython|' \ ${WRKSRC}/build/pkgs/ipython/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pathpy|import path|' \ ${WRKSRC}/build/pkgs/pathpy/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pillow|import PIL|' \ ${WRKSRC}/build/pkgs/pillow/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pplpy|import ppl|' \ ${WRKSRC}/build/pkgs/pplpy/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pyzmq|import zmq|' \ ${WRKSRC}/build/pkgs/pyzmq/spkg-configure.m4 .for f in applehelp devhelp htmlhelp jsmath qthelp serializinghtml websupport ${REINPLACE_CMD} -e 's|import sphinxcontrib_|import sphinxcontrib.|' \ ${WRKSRC}/build/pkgs/sphinxcontrib_${f}/spkg-configure.m4 .endfor ${REINPLACE_CMD} -e 's|import zope_interface|import zope.interface|' \ ${WRKSRC}/build/pkgs/zope_interface/spkg-configure.m4 ${REINPLACE_CMD} -e '/GAP_ROOT=/s|$$SAGE_LOCAL|${LOCALBASE}|' \ ${WRKSRC}/build/pkgs/gap_packages/spkg-install.in ${REINPLACE_CMD} -e "/os.path.join/s|SAGE_LOCAL|'${LOCALBASE}'|"\ ${WRKSRC}/src/sage/libs/gap/util.pyx ${REINPLACE_CMD} -e "/os.path.join(SAGE_LOCAL/s|SAGE_LOCAL|'${LOCALBASE}'|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/^library_dirs/s|SAGE_LOCAL|'${LOCALBASE}'|" \ ${WRKSRC}/src/setup.py .for f in ${SHR2FIX} ${REINPLACE_CMD} -e "/${f}/s|SAGE_SHARE|'${LOCALBASE}/share/'|" \ ${WRKSRC}/src/sage/env.py .endfor ${REINPLACE_CMD} -e "/JMOL_DIR/s|SAGE_SHARE|'${JAVASHAREDIR}'|" \ -e "/JMOL_DIR/s|jmol|classes|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/JSMOL_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ -e "/JSMOL_DIR/s|jsmol|JSmol|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/MATHJAX_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ -e "/MATHJAX_DIR/s|mathjax|MathJax|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/THREEJS_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ ${WRKSRC}/src/sage/env.py .for f in ${SE2FIX} ${REINPLACE_CMD} -e '/${f}/s|$$SAGE_LOCAL|${LOCALBASE}|' \ ${WRKSRC}/src/bin/sage-env .endfor ${REINPLACE_CMD} -e '/LDFLAGS=/s|-rpath,$$SAGE_LOCAL|-rpath,${LOCALBASE}|' \ ${WRKSRC}/src/bin/sage-env .for f in ${SPKG_INST} ${REINPLACE_CMD} -e 's|/var/lib/sage|/share/libdata/${PORTNAME}|' \ ${WRKSRC}/${f} .endfor # Bug with py-docutils > 0.16 ${RM} -r ${WRKSRC}/src/doc/hu (cd ${WRKSRC} && ./bootstrap) ${MKDIR} ${BLDDIR}${PREFIX}/lib/pkgconfig # Removed thereafter post-build: .if ${PORT_OPTIONS:MDOCS} (cd ${WRKSRC} && ${MAKE_ENV} ${MAKE_CMD} doc) .endif .for d in ${PY2FIX} ${FIND} ${WSDIR}/${d} -type f -exec ${GREP} -I -l "${WSDIR}/bin/python" {} \; |\ ${XARGS} ${SED} -i "" -e 's|${WSDIR}/bin/pytho.*|${PYTHON_CMD}|' .endfor .for d in ${PY2FIX} ${FIND} ${WSDIR}/${d} -type f -exec ${GREP} -I -l "/usr/bin/env python" {} \; |\ ${XARGS} ${SED} -i "" -e 's|/usr/bin/env pytho.*|${PYTHON_CMD}|' .endfor ${FIND} ${BLDDIR}/${PYTHON_LIBDIR} -type d -name __pycache__ | \ ${XARGS} ${RM} -r .for f in ${DOC2FIX} ${FIND} ${BLDDIR}${DOCSDIR} -type f -name "*${f}" | ${XARGS} \ ${SED} -i "" -e 's|${BLDDIR}||g' .endfor .for f in ${STG2FIX} ${SED} -i "" -e 's|${BLDDIR}||g' ${BLDDIR}${PREFIX}/${f} .endfor ${RM} ${BLDDIR}${PYTHON_CMD} ${BADLN:C|^|${BLDDIR}${PREFIX}/share/jupyter/|} ${RM} -r ${BLDDIR}${PREFIX}/var ${RM} ${BLDDIR}${PREFIX}/lib64 ${BLDDIR}${PREFIX}/lib/pkgconfig/blas.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/cblas.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/gsl.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/lapack.pc # Cannot use a package system for pip and setuptools ${RM} ${BLDDIR}${PREFIX}/bin/easy_install* ${BLDDIR}${PREFIX}/bin/pip* ${RM} -r ${BLDDIR}${PYTHON_SITELIBDIR}/pip-* ${BLDDIR}${PYTHON_SITELIBDIR}/pip/ ${RM} -r ${BLDDIR}${PYTHON_SITELIBDIR}/setuptools* \ ${BLDDIR}${PYTHON_SITELIBDIR}/easy_install.py \ ${BLDDIR}${PYTHON_SITELIBDIR}/pkg_resources \ ${BLDDIR}${PYTHON_SITELIBDIR}/__pycache__/easy_install* # Remove CONFLICTS with lang/python3 ${RM} ${BLDDIR}${PREFIX}/bin/python ${BLDDIR}${PREFIX}/bin/python3 ${REINPLACE_CMD} -e '/exec/s|python3|${PYTHON_VERSION}|' ${BLDDIR}${PREFIX}/bin/sage # ${TRUE} because compilation of some .py fails: compileall.py -q to see errors (cd ${WSDIR} && (${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} || \ ${TRUE})) ${FIND} ${BLDDIR}${PREFIX} -name "*.bak" -delete # See https://lists.freebsd.org/pipermail/freebsd-python/2020-June/020710.html .if exists(${PYTHON_SITELIBDIR}/path.py-7.1.dist-info/WHEEL) PLIST_SUB+= EGG="@comment " WHEEL="" .else PLIST_SUB+= EGG="" WHEEL="@comment " .endif do-install: cd "${BLDDIR}" && ${FIND} . | ${CPIO} -pduml ${STAGEDIR} # Remove bad links ${LN} -sf ${DOCSDIR} \ ${STAGEDIR}${PREFIX}/share/jupyter/kernels/sagemath/doc ${LN} -sf ${LOCALBASE}/www/JSmol \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/jsmol ${LN} -sf ${LOCALBASE}/www/MathJax \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/mathjax ${LN} -sf ${LOCALBASE}/www/threejs \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/threejs post-install: ${RM} ${STAGEDIR}${PREFIX}/lib64 ${STAGEDIR}${PREFIX}/libdata/pkgconfig/blas.pc \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/distutils-precedence.pth \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/cblas.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/gsl.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/lapack.pc ${RM} -r ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/_distutils_hack .include