Index: math/maxima/Makefile =================================================================== --- math/maxima/Makefile (revision 533125) +++ math/maxima/Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= maxima PORTVERSION= 5.43.2 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math lisp tk MASTER_SITES= SF/maxima/Maxima-source/${PORTVERSION}-source @@ -19,10 +19,9 @@ RUN_DEPENDS= gnuplot:math/gnuplot \ rlwrap:devel/rlwrap -USES= autoreconf gmake makeinfo shared-mime-info tk +USES= autoreconf gmake makeinfo python:3.6+ shared-mime-info tk GNU_CONFIGURE= yes -CONFIGURE_ARGS= PYTHON=dummy INFO= imaxima maxima xmaxima abs_integrate drawutils kovacicODE logic @@ -33,9 +32,9 @@ OPTIONS_DEFINE= EXAMPLES DOCS NOUSERINIT MANPAGES TEST OPTIONS_SINGLE= LISP -OPTIONS_SINGLE_LISP= CCL CMUCL SBCL +OPTIONS_SINGLE_LISP= CCL CMUCL ECL SBCL -OPTIONS_DEFAULT= NOUSERINIT MANPAGES SBCL +OPTIONS_DEFAULT= ECL NOUSERINIT MANPAGES OPTIONS_SUB= yes CCL_DESC= Build with Clozure Common Lisp @@ -50,6 +49,18 @@ CMUCL_CONFIGURE_ON= --enable-cmucl CMUCL_PLIST_SUB= BINDIR=binary-cmucl BINNAME=maxima_core +ECL_DESC= Build with ECL (Embeddable Common-Lisp) +ECL_LIB_DEPENDS= libecl.so:lang/ecl \ + libgmp.so:math/gmp \ + libffi.so:devel/libffi \ + libgc-threaded.so:devel/boehm-gc-threaded +ECL_CONFIGURE_ON= --enable-ecl +ECL_CONFIGURE_ENV= EMACS=no +ECL_VARS= SSP_UNSAFE=yes WITHOUT_NO_STRICT_ALIASING=yes +ECL_MAKE_ENV= MAKE=${GMAKE} +# Bump PORTREVISION and change ECLVER after each ECL's upgrade! +ECL_PLIST_SUB= BINDIR=binary-ecl BINNAME=${PORTNAME} ECLVER=16.1.3 + NOUSERINIT_DESC= Do not load user init file for lisp (only for sbcl) SBCL_DESC= Build with Steel Bank Common Lisp @@ -61,6 +72,9 @@ TEST_TARGET= check TEST_BUILD_DEPENDS= gnuplot:math/gnuplot \ rlwrap:devel/rlwrap + +GET_ECLLIB= ecl -eval "(princ (SI:GET-LIBRARY-PATHNAME))" -eval "(quit)" + post-patch: ${GREP} -Fe '.core' -l -r ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} 's;\.core;_core;g' ${FIND} -X ${WRKSRC}/interfaces/xmaxima -name 'Makefile.in' | ${XARGS} ${REINPLACE_CMD} "s;tclsh;${TCLSH};g" @@ -70,6 +84,9 @@ post-patch-TEST-off: ${REINPLACE_CMD} 's;tests;;' ${WRKSRC}/Makefile.am +pre-build-ECL-on: + ${REINPLACE_CMD} '/autoconf-ld-flags/s| ")|")|' ${WRKSRC}/src/autoconf-variables.lisp + pre-build-CCL-on: cd ${WRKSRC}/src/ && ${MKDIR} binary-ccl && ${LN} -s binary-ccl binary-openmcl @@ -96,4 +113,9 @@ post-install-NOUSERINIT-on: ${REINPLACE_CMD} 's;--end-runtime-options;--end-runtime-options --no-userinit;' ${STAGEDIR}${PREFIX}/bin/maxima +post-install-ECL-on: + ${MKDIR} ${STAGEDIR}$$(${GET_ECLLIB}) + ${INSTALL_DATA} ${WRKSRC}/src/binary-ecl/maxima-package.fas \ + ${STAGEDIR}$$(${GET_ECLLIB})maxima.fas + .include Index: math/maxima/pkg-plist =================================================================== --- math/maxima/pkg-plist (revision 533125) +++ math/maxima/pkg-plist (working copy) @@ -1,6 +1,7 @@ bin/maxima bin/rmaxima bin/xmaxima +%%ECL%%lib/ecl-%%ECLVER%%/maxima.fas lib/maxima/%%PORTVERSION%%/%%BINDIR%%/%%BINNAME%% %%CMUCL%%lib/maxima/%%PORTVERSION%%/%%BINDIR%%/lisp libexec/maxima/%%PORTVERSION%%/mgnuplot @@ -31,3 +32,4 @@ share/pixmaps/net.sourceforge.maxima.svg share/pixmaps/text-x-maxima-out.svg share/pixmaps/text-x-maximasession.svg +%%ECL%%@dir lib/maxima/%%PORTVERSION%%/%%BINDIR%%