diff --git a/math/casadi/Makefile b/math/casadi/Makefile index 09b0d622afc6..17a8ddc0ba89 100644 --- a/math/casadi/Makefile +++ b/math/casadi/Makefile @@ -1,78 +1,78 @@ PORTNAME= casadi DISTVERSION= 3.5.5 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Symbolic framework for numeric optimization LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt USES= cmake compiler:c++11-lang pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes CFLAGS+= -fPIC CXXFLAGS+= -fPIC CMAKE_OFF= WITH_DEEPBIND WITH_BUILD_BLASFEO # cmake-3.16: disable build of examples (they are not installed anyways), # and fail due to not setting up the linker environment properly: CMAKE_OFF+= WITH_EXAMPLES OPTIONS_DEFINE= BLASFEO BONMIN CLANG IPOPT LAPACK QPOASES OPTIONS_DEFAULT= BLASFEO BONMIN IPOPT LAPACK QPOASES OPTIONS_SUB= yes BLASFEO_DESC= Build with BLASFEO BLASFEO_CMAKE_BOOL= WITH_BLASFEO BLASFEO_BUILD_DEPENDS= blasfeo>0:math/blasfeo BONMIN_DESC= Build with Bonmin BONMIN_CMAKE_BOOL= WITH_BONMIN BONMIN_USES= blaslapack:netlib fortran BONMIN_LIB_DEPENDS= libbonmin.so:math/bonmin \ libCbcSolver.so:math/cbc \ libCgl.so:math/cgl \ libClp.so:math/clp \ libcoinasl.so:math/asl \ libCoinUtils.so:math/coinutils \ libipopt.so:math/ipopt \ libnauty.so:math/nauty \ libopenblas.so:math/openblas \ libOsi.so:math/osi CLANG_DESC= Build with clang for JIT CLANG_CMAKE_BOOL= WITH_CLANG CLANG_BROKEN= Fails to find clang IPOPT_DESC= Build with IPopt IPOPT_CMAKE_BOOL= WITH_IPOPT IPOPT_USES= blaslapack:netlib fortran IPOPT_LIB_DEPENDS= libipopt.so:math/ipopt LAPACK_DESC= Build with LAPACK LAPACK_CMAKE_BOOL= WITH_LAPACK LAPACK_USES= blaslapack:openblas QPOASES_DESC= Build with qpOASES QPOASES_CMAKE_BOOL= WITH_QPOASES QPOASES_LIB_DEPENDS= libopenblas.so:math/openblas QPOASES_IMPLIES= LAPACK .include .if ${PORT_OPTIONS:MCLANG} # use clang from ports because cmake can't find base llvm for JIT BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} RUN_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CPP= clang-cpp${LLVM_DEFAULT} CC= clang${LLVM_DEFAULT} CXX= clang++${LLVM_DEFAULT} .endif PORTSCOUT= limit:^.*[1-9]\..* # prevent tags like ge2 .include diff --git a/math/cbc/Makefile b/math/cbc/Makefile index 41791fc98aff..19d93066eacd 100644 --- a/math/cbc/Makefile +++ b/math/cbc/Makefile @@ -1,38 +1,38 @@ PORTNAME= cbc DISTVERSIONPREFIX= releases/ DISTVERSION= 2.10.5 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= math PKGNAMEPREFIX= coin-or- MAINTAINER= yuri@FreeBSD.org COMMENT= Coin-or Branch and Cut: mixed integer programming solver LICENSE= EPL LICENSE_FILE= ${WRKSRC}/Cbc/LICENSE LIB_DEPENDS= libblas.so:math/blas \ libCgl.so:math/cgl \ libClp.so:math/clp \ libcoinasl.so:math/asl \ libcoinmumps.so:math/ipopt \ libCoinUtils.so:math/coinutils \ liblapack.so:math/lapack \ libnauty.so:math/nauty \ libopenblas.so:math/openblas \ libOsi.so:math/osi USES= compiler:c++11-lang fortran gmake libtool pkgconfig USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= coin-or GH_PROJECT= Cbc GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-nauty-lib="-L${LOCALBASE}/lib -lnauty" --with-nauty-incdir=${LOCALBASE}/include/nauty post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so .include diff --git a/math/couenne/Makefile b/math/couenne/Makefile index b2c61b658f58..2685f534ec3c 100644 --- a/math/couenne/Makefile +++ b/math/couenne/Makefile @@ -1,44 +1,45 @@ PORTNAME= couenne DISTVERSIONPREFIX= releases/ DISTVERSION= 0.5.8 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= math PKGNAMEPREFIX= coin-or- MAINTAINER= yuri@FreeBSD.org COMMENT= Convex Over and Under Envelopes for NonliNear Estimation LICENSE= EPL LICENSE_FILE= ${WRKSRC}/Couenne/LICENSE -BUILD_DEPENDS= ${LOCALBASE}/lib/libnauty.a:math/nauty LIB_DEPENDS= libbonmin.so:math/bonmin \ libCbc.so:math/cbc \ libCgl.so:math/cgl \ libClp.so:math/clp \ libcoinasl.so:math/asl \ libCoinUtils.so:math/coinutils \ libipopt.so:math/ipopt \ - libopenblas.so:math/openblas + libnauty.so:math/nauty \ + libopenblas.so:math/openblas \ + libOsi.so:math/osi USES= blaslapack:netlib fortran gmake libtool pkgconfig USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= coin-or GH_PROJECT= Couenne GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-nauty-incdir=${LOCALBASE}/include/nauty --with-nauty-lib=${LOCALBASE}/lib/libnauty.a +CONFIGURE_ARGS= --with-nauty-incdir=${LOCALBASE}/include/nauty --with-nauty-lib=${LOCALBASE}/lib/libnauty.so # see https://github.com/coin-or/Couenne/issues/58 INSTALL_TARGET= install-strip SUB_FILES= ${PORTNAME}.msc SUB_LIST= PORTVERSION=${PORTVERSION} post-install: # install MiniZinc configuration file ${MKDIR} ${STAGEDIR}${PREFIX}/share/minizinc/solvers ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.msc ${STAGEDIR}${PREFIX}/share/minizinc/solvers .include diff --git a/math/disco/Makefile b/math/disco/Makefile index 0d0dafcc52be..919eb821f902 100644 --- a/math/disco/Makefile +++ b/math/disco/Makefile @@ -1,43 +1,44 @@ PORTNAME= disco DISTVERSIONPREFIX= releases/ DISTVERSION= 1.0.0-33 +PORTREVISION= 1 DISTVERSIONSUFFIX= -g68720be CATEGORIES= math PKGNAMEPREFIX= coin-or- MAINTAINER= yuri@FreeBSD.org COMMENT= Discrete Conic Optimization Solver LICENSE= EPL LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${LOCALBASE}/lib/libnauty.a:math/nauty LIB_DEPENDS= libAlps.so:math/alps \ libBcps.so:math/bcps \ libblas.so:math/blas \ libbonmin.so:math/bonmin \ libCbc.so:math/cbc \ libCgl.so:math/cgl \ libCglConic.so:math/cgl-conic \ libClp.so:math/clp \ libcoinasl.so:math/asl \ libCoinUtils.so:math/coinutils \ libipopt.so:math/ipopt \ liblapack.so:math/lapack \ libopenblas.so:math/openblas \ libOsi.so:math/osi \ libOsiConic.so:math/osi-conic \ libOsiIpopt.so:math/osiipopt USES= gmake libtool pkgconfig USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= coin-or GH_PROJECT= DisCO GNU_CONFIGURE= yes INSTALL_TARGET= install-strip .include diff --git a/math/libnormaliz/Makefile b/math/libnormaliz/Makefile index 64385b289c22..5fd9311f65c9 100644 --- a/math/libnormaliz/Makefile +++ b/math/libnormaliz/Makefile @@ -1,54 +1,55 @@ # PORTNAME block PORTNAME= libnormaliz DISTVERSION= 3.9.0 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= https://github.com/Normaliz/Normaliz/releases/download/v${PORTVERSION}/ DISTNAME= normaliz-${PORTVERSION} # MAINTAINER block MAINTAINER= moritz@schmi.tt COMMENT= Compute Hilbert bases and enumerative data of rational polyhedra CONFLICTS_BUILD= e-antic # math/e-antic should be a dependency but it fails: https://github.com/Normaliz/Normaliz/issues/380 # LICENSE block LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING # Dependencies block LIB_DEPENDS= libgmp.so:math/gmp \ libnauty.so:math/nauty # USES block USES= autoreconf compiler:c++11-lang gmake libtool localbase USE_LDCONFIG= yes # bsd.ports.mk block GNU_CONFIGURE= yes INSTALL_TARGET= install-strip TEST_TARGET= check # at least one test is known to fail: https://github.com/Normaliz/Normaliz/issues/378 # Options block OPTIONS_DEFINE= COCOA DOCS FLINT OPENMP COCOA_DESC= Link with libcocoa.a (might cause circular dependency) FLINT_DESC= Link with libflint.so COCOA_BUILD_DEPENDS= ${LOCALBASE}/lib/libcocoa.a:math/cocoalib COCOA_CONFIGURE_WITH= cocoalib COCOA_BROKEN= fails to compile a test program, see https://github.com/Normaliz/Normaliz/issues/379 FLINT_LIB_DEPENDS= libflint.so:math/flint2 \ libmpfr.so:math/mpfr FLINT_CONFIGURE_WITH= flint FLINT_LDFLAGS= -lpthread OPENMP_CONFIGURE_ENABLE= openmp post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${WRKSRC}/doc/Normaliz.pdf ${STAGEDIR}${DOCSDIR} .include diff --git a/math/nauty/Makefile b/math/nauty/Makefile index d2ce334366f6..8538cc39a9f1 100644 --- a/math/nauty/Makefile +++ b/math/nauty/Makefile @@ -1,54 +1,70 @@ # Created by: bremner@unb.ca PORTNAME= nauty -PORTVERSION= 27r1 -PORTREVISION= 3 +PORTVERSION= 27r3 CATEGORIES= math MASTER_SITES= https://users.cecs.anu.edu.au/~bdm/nauty/ DISTNAME= ${PORTNAME}${PORTVERSION} MAINTAINER= moritz@schmi.tt -COMMENT= Nauty & Traces are programs for computing graph automorphisms +COMMENT= Nauty & Traces are programs for computing graph automorphism LICENSE= APACHE20 USES= gmake GNU_CONFIGURE= yes -CONFIGURE_ARGS= --enable-tls # math/libnormaliz requires nauty with tls +CONFIGURE_ARGS= --enable-tls # this makes nauty thread-safe, math/libnormaliz requires nauty with tls MAKEFILE= makefile +MAKE_ARGS= includedir=${PREFIX}/include/${PORTNAME} # place headers into a dedicated directory TEST_TARGET= check -CFLAGS+= -fPIC +OPTIONS_DEFINE= DOCS NATIVE -OPTIONS_DEFINE= DOCS +NATIVE_DESC= Build with native optimizations (-march=native, etc) +NATIVE_CONFIGURE_ON= --disable-generic --enable-clz --enable-popcnt +NATIVE_CONFIGURE_OFF= --enable-generic --disable-clz --disable-popcnt -post-build: - @cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnauty.so \ - gtnauty.o gtools.o gutil1.o gutil2.o naugraph.o naugroup.o naurng.o nausparse.o nautil.o nautinv.o \ - naututil.o nauty.o nautycliquer.o schreier.o traces.o +post-build: # build shared libraries: based on how static libraries are created + # rebuild .o files with -fPIC + @cd ${WRKSRC} ; \ + objects=$$(ls *.o) ; \ + ${RM} $${objects} ; \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} FREEBSD_EXTRA_CFLAGS="-fPIC" $${objects} + # build libraries + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnauty.so -Wl,-soname,libnauty.so \ + nauty.o nautil.o nausparse.o naugraph.o schreier.o naurng.o traces.o gtools.o naututil.o \ + nautinv.o gutil1.o gutil2.o gtnauty.o naugroup.o nautycliquer.o + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnauty1.so -Wl,-soname,libnauty1.so \ + nauty1.o nautil1.o nausparse.o naugraph1.o schreier.o naurng.o traces.o gtools.o naututil1.o \ + nautinv1.o gutil1.o gutil2.o gtnauty.o naugroup.o nautycliquer.o + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnautyW.so -Wl,-soname,libnautyW.so \ + nautyW.o nautilW.o nausparseW.o naugraphW.o schreierW.o naurng.o traces.o gtoolsW.o naututilW.o \ + nautinvW.o gutil1W.o gutil2W.o gtnautyW.o naugroupW.o nautycliquerW.o + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnautyW1.so -Wl,-soname,libnautyW1.so \ + nautyW1.o nautilW1.o nausparseW.o naugraphW1.o schreierW.o naurng.o traces.o gtoolsW.o naututilW1.o \ + nautinvW1.o gutil1W1.o gutil2W1.o gtnautyW1.o naugroupW.o nautycliquerW.o + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnautyL.so -Wl,-soname,libnautyL.so \ + nautyL.o nautilL.o nausparseL.o naugraphL.o schreierL.o naurng.o traces.o gtoolsL.o naututilL.o \ + nautinvL.o gutil1L.o gutil2L.o gtnautyL.o naugroupL.o nautycliquerL.o + cd ${WRKSRC} && ${CC} ${LDFLAGS} -shared -o libnautyL1.so -Wl,-soname,libnautyL1.so \ + nautyL1.o nautilL1.o nausparseL.o naugraphL1.o schreierL.o naurng.o traces.o gtoolsL.o naututilL1.o \ + nautinvL1.o gutil1L1.o gutil2L1.o gtnautyL1.o naugroupL.o nautycliquerL.o -do-install: - ${MKDIR} ${STAGEDIR}${PREFIX}/include/nauty -.for h in nauty.h nautycliquer.h nausparse.h traces.h naugroup.h - ${INSTALL_DATA} ${WRKSRC}/${h} ${STAGEDIR}${PREFIX}/include/nauty -.endfor - # Do not use ${INSTALL_LIB} to strip the library! - ${INSTALL_DATA} ${WRKSRC}/nauty.a ${STAGEDIR}${PREFIX}/lib/libnauty.a - ${INSTALL_LIB} ${WRKSRC}/libnauty.so ${STAGEDIR}${PREFIX}/lib -.for e in \ - NRswitchg addedgeg amtog assembleg biplabg catg complg converseg copyg countg \ - cubhamg deledgeg delptg directg dreadnaut dretodot dretog edgetransg genbg genbgL \ - geng gengL genquarticg genrang genspecialg gentourng gentreeg hamheuristic labelg linegraphg \ - listg multig newedgeg pickg planarg ranlabg shortg showg subdivideg twohamg \ - underlyingg vcolg watercluster2 - ${INSTALL_PROGRAM} ${WRKSRC}/${e} ${STAGEDIR}${PREFIX}/bin +post-install: + # install shared libraries +.for l in libnauty.so libnauty1.so libnautyW.so libnautyW1.so libnautyL.so libnautyL1.so + ${INSTALL_LIB} ${WRKSRC}/${l} ${STAGEDIR}${PREFIX}/lib .endfor + # correct the include path in .pc files + @${REINPLACE_CMD} -i '' -e 's|-I$${includedir}|&/${PORTNAME}|' ${STAGEDIR}${PREFIX}/libdata/pkgconfig/*.pc + # strip executables + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${WRKSRC}/nug27.pdf ${STAGEDIR}${DOCSDIR} .include diff --git a/math/nauty/distinfo b/math/nauty/distinfo index ef813103aef8..cc840a0e25f0 100644 --- a/math/nauty/distinfo +++ b/math/nauty/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1601648114 -SHA256 (nauty27r1.tar.gz) = 76ca5d196e402c83a987f90c28ff706bcc5a333bb4a8fbb979a62d3b99c34e77 -SIZE (nauty27r1.tar.gz) = 3428473 +TIMESTAMP = 1630783130 +SHA256 (nauty27r3.tar.gz) = 4f0665b716a53f7a14ea2ae30059f23d064ce3fe4c12c013404ef6e1ee0b88c2 +SIZE (nauty27r3.tar.gz) = 1721200 diff --git a/math/nauty/files/patch-makefile.in b/math/nauty/files/patch-makefile.in new file mode 100644 index 000000000000..76dc49de9aac --- /dev/null +++ b/math/nauty/files/patch-makefile.in @@ -0,0 +1,13 @@ +- allow to add additional CFLAGS to build shared libraries + +--- makefile.in.orig 2021-09-03 17:45:35 UTC ++++ makefile.in +@@ -3,7 +3,7 @@ + + SHELL=@SHELL@ + CC=@CC@ +-CFLAGS=@CFLAGS@ @MORECFLAGS@ ++CFLAGS=@CFLAGS@ @MORECFLAGS@ ${FREEBSD_EXTRA_CFLAGS} + SAFECFLAGS=@CFLAGS@ + LDFLAGS=@LDFLAGS@ @LIBS@ + THREADLIB=@threadlib@ diff --git a/math/nauty/pkg-plist b/math/nauty/pkg-plist index 0ad268c2c22b..ef85048ffd07 100644 --- a/math/nauty/pkg-plist +++ b/math/nauty/pkg-plist @@ -1,51 +1,77 @@ bin/NRswitchg bin/addedgeg bin/amtog bin/assembleg bin/biplabg bin/catg bin/complg bin/converseg bin/copyg bin/countg bin/cubhamg bin/deledgeg bin/delptg bin/directg bin/dreadnaut bin/dretodot bin/dretog bin/edgetransg bin/genbg bin/genbgL bin/geng bin/gengL bin/genquarticg bin/genrang bin/genspecialg bin/gentourng bin/gentreeg bin/hamheuristic bin/labelg bin/linegraphg bin/listg bin/multig +bin/nbrhoodg bin/newedgeg bin/pickg bin/planarg bin/ranlabg bin/shortg bin/showg bin/subdivideg bin/twohamg bin/underlyingg bin/vcolg bin/watercluster2 +include/nauty/gtools.h +include/nauty/gutils.h include/nauty/naugroup.h +include/nauty/naugstrings.h +include/nauty/naurng.h include/nauty/nausparse.h +include/nauty/nautinv.h +include/nauty/naututil.h include/nauty/nauty.h include/nauty/nautycliquer.h +include/nauty/planarity.h +include/nauty/quarticirred28.h +include/nauty/schreier.h include/nauty/traces.h lib/libnauty.a lib/libnauty.so +lib/libnauty1.a +lib/libnauty1.so +lib/libnautyL.a +lib/libnautyL.so +lib/libnautyL1.a +lib/libnautyL1.so +lib/libnautyW.a +lib/libnautyW.so +lib/libnautyW1.a +lib/libnautyW1.so +libdata/pkgconfig/nauty.pc +libdata/pkgconfig/nauty1.pc +libdata/pkgconfig/nautyL.pc +libdata/pkgconfig/nautyL1.pc +libdata/pkgconfig/nautyW.pc +libdata/pkgconfig/nautyW1.pc %%PORTDOCS%%%%DOCSDIR%%/nug27.pdf diff --git a/math/or-tools/Makefile b/math/or-tools/Makefile index f120e7681230..6760ff201816 100644 --- a/math/or-tools/Makefile +++ b/math/or-tools/Makefile @@ -1,55 +1,56 @@ PORTNAME= or-tools DISTVERSIONPREFIX= v DISTVERSION= 9.0 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Google's Operations Research tools LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE-2.0.txt PATCH_DEPENDS= gsed:textproc/gsed LIB_DEPENDS= libabsl_base.so:devel/abseil \ libCbc.so:math/cbc \ libCgl.so:math/cgl \ libcoinasl.so:math/asl \ libcoinmetis.so:math/ipopt \ libCoinUtils.so:math/coinutils \ libnauty.so:math/nauty \ libopenblas.so:math/openblas \ libOsi.so:math/osi \ libOsiClp.so:math/clp \ libgflags.so:devel/gflags \ libglog.so:devel/glog \ libprotobuf.so:devel/protobuf USES= blaslapack cmake compiler:c++17-lang pkgconfig USE_GITHUB= yes GH_ACCOUNT= google USE_LDCONFIG= yes CMAKE_OFF= BUILD_PYTHON BUILD_DEPS INSTALL_BUILD_DEPS BUILD_EXAMPLES BUILD_SAMPLES CMAKE_ON= BUILD_CXX CONFIGURE_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE} OPTIONS_DEFINE= FLATZINC SCIP OPTIONS_DEFAULT= FLATZINC #SCIP OPTIONS_SUB= yes FLATZINC_DESC= Build FlatZinc - MiniZinc interface FLATZINC_CMAKE_BOOL= BUILD_FLATZINC SCIP_DESC= Use the SCIP solver # SCIP package isn't built because of licensing restrictions SCIP_CMAKE_BOOL= USE_SCIP SCIP_LIB_DEPENDS= libscip.so:math/SCIP post-patch: # fix for https://github.com/google/or-tools/issues/2526 suggested there @gsed -i '11i \ \ LINKER_LANGUAGE Cxx' \ ${WRKSRC}/ortools/init/CMakeLists.txt post-install: @${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete .include diff --git a/math/polymake/Makefile b/math/polymake/Makefile index e88745e92d98..36b3127b7bc1 100644 --- a/math/polymake/Makefile +++ b/math/polymake/Makefile @@ -1,200 +1,200 @@ # Created by: Ewgenij Gawrilow PORTNAME= polymake DISTVERSION= 4.4 -PORTREVISION= 1 +PORTREVISION= 2 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_USES= compiler:openmp 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/sage/Makefile b/math/sage/Makefile index f8d30a68a1ff..f86bdc0bc60f 100644 --- a/math/sage/Makefile +++ b/math/sage/Makefile @@ -1,577 +1,577 @@ # Created by: Stephen Montgomery-Smith PORTNAME= sage PORTVERSION= 9.2 -PORTREVISION= 18 +PORTREVISION= 19 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 \ convert:graphics/ImageMagick6 \ 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 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