Index: head/math/maxima/Makefile =================================================================== --- head/math/maxima/Makefile +++ head/math/maxima/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= maxima -PORTVERSION= 5.43.2 -PORTREVISION= 6 +PORTVERSION= 5.44.0 CATEGORIES= math lisp tk MASTER_SITES= SF/maxima/Maxima-source/${PORTVERSION}-source @@ -64,9 +63,10 @@ # details. ECL_CONFIGURE_ON= --with-ecl=ecl ECL_PLIST_SUB= BINDIR=binary-ecl BINNAME=maxima -GET_ECLLIB= ecl -eval "(princ (SI:GET-LIBRARY-PATHNAME))" -eval "(quit)" -NOUSERINIT_DESC= Do not load user init file for lisp (only for sbcl) +NOUSERINIT_DESC= Do not load user init file for lisp (only for sbcl) +NOUSERINIT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_maxima.in +NOUSERINIT_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-src_maxima.in SAGE_DESC= Build with patches from Sage (implies ECL) SAGE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-share_linearalgebra_matrixexp.lisp \ @@ -85,24 +85,20 @@ TEST_TARGET= check TEST_BUILD_DEPENDS= gnuplot:math/gnuplot \ rlwrap:devel/rlwrap +TEST_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-Makefile.am +TEST_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-Makefile.am XMAXIMA_DESC= Install xmaxima (implies DOCS and TEST) XMAXIMA_IMPLIES= DOCS TEST XMAXIMA_USES= tk XMAXIMA_CONFIGURE_WITH= wish=${WISH} +XMAXIMA_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-interfaces_Makefile.am 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" ${REINPLACE_CMD} "s;/usr;${LOCALBASE};g" ${WRKSRC}/src/intl.lisp - ${REINPLACE_CMD} 's;demo;;' ${WRKSRC}/Makefile.am -post-patch-TEST-off: - ${REINPLACE_CMD} 's;tests;;' ${WRKSRC}/Makefile.am - -post-patch-XMAXIMA-off: - ${REINPLACE_CMD} 's; xmaxima;;' ${WRKSRC}/interfaces/Makefile.am - post-patch-XMAXIMA-on: ${REINPLACE_CMD} "s;%%DOCSDIR%%;/${DOCSDIR:S,/, ,g};" \ ${WRKSRC}/interfaces/xmaxima/Tkmaxima/Paths.tcl @@ -132,12 +128,9 @@ post-install-MANPAGES-on: ${INSTALL_MAN} ${WRKSRC}/doc/man/maxima.1.gz ${STAGEDIR}${PREFIX}/man/man1 -post-install-NOUSERINIT-on: - ${REINPLACE_CMD} 's;--end-runtime-options;--end-runtime-options --no-userinit;' ${STAGEDIR}${PREFIX}/bin/maxima - post-install-SAGE-on: - ${MKDIR} ${STAGEDIR}$$(${GET_ECLLIB}) + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ecl ${INSTALL_DATA} ${WRKSRC}/src/binary-ecl/maxima.fas \ - ${STAGEDIR}$$(${GET_ECLLIB}) + ${STAGEDIR}${PREFIX}/lib/ecl .include Index: head/math/maxima/distinfo =================================================================== --- head/math/maxima/distinfo +++ head/math/maxima/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1580671243 -SHA256 (maxima-5.43.2.tar.gz) = ea78ec8c674c9293621ab8af6e44fbc3d869d63ae594c105abdffedef2fb77bb -SIZE (maxima-5.43.2.tar.gz) = 40871773 +TIMESTAMP = 1592256101 +SHA256 (maxima-5.44.0.tar.gz) = d93f5e48c4daf8f085d609cb3c7b0bdf342c667fd04cf750c846426874c9d2ec +SIZE (maxima-5.44.0.tar.gz) = 34976354 Index: head/math/maxima/files/extra-patch-OFF-Makefile.am =================================================================== --- head/math/maxima/files/extra-patch-OFF-Makefile.am +++ head/math/maxima/files/extra-patch-OFF-Makefile.am @@ -0,0 +1,11 @@ +--- Makefile.am.orig 2020-06-15 21:43:09 UTC ++++ Makefile.am +@@ -6,7 +6,7 @@ if ENABLE_GETTEXT + LOCALE_DIR = locale + endif + +-SUBDIRS = admin crosscompile-windows src lisp-utils tests doc interfaces share demo plotting desktopintegration $(LOCALE_DIR) ++SUBDIRS = admin crosscompile-windows src lisp-utils interfaces share plotting desktopintegration $(LOCALE_DIR) + + EXTRA_DIST = \ + common.mk maxima.iss.in \ Index: head/math/maxima/files/extra-patch-interfaces_Makefile.am =================================================================== --- head/math/maxima/files/extra-patch-interfaces_Makefile.am +++ head/math/maxima/files/extra-patch-interfaces_Makefile.am @@ -0,0 +1,6 @@ +--- interfaces/Makefile.am.orig 2020-06-15 21:52:01 UTC ++++ interfaces/Makefile.am +@@ -1,2 +1,2 @@ +-SUBDIRS = emacs xmaxima ++SUBDIRS = emacs + EXTRA_DIST = bin/xmaxima.iss Readme.txt Index: head/math/maxima/files/extra-patch-src_hayat.lisp =================================================================== --- head/math/maxima/files/extra-patch-src_hayat.lisp +++ head/math/maxima/files/extra-patch-src_hayat.lisp @@ -1,4 +1,4 @@ ---- src/hayat.lisp.orig 2019-10-21 03:38:59 UTC +--- src/hayat.lisp.orig 2020-05-21 06:20:25 UTC +++ src/hayat.lisp @@ -2205,6 +2205,25 @@ (or (alike1 (exp-pt (get-datum (datum-var (car l)))) (exp-pt (car l))) @@ -26,42 +26,7 @@ (defun taylor2 (e) (let ((last-exp e)) ;; lexp-non0 should be bound here when needed (cond ((assolike e tlist) (var-expand e 1 () )) -@@ -2248,9 +2267,32 @@ - ((null l) t) - (or (free e (car l)) (return ())))) - (newsym e)) -- (t (let ((exact-poly () )) ; Taylor series aren't exact -- (taylor2 (diff-expand e tlist))))))) -+ (t -+ ;; When all else fails, call diff-expand to try to expand e around the -+ ;; point as a Taylor series by taking repeated derivatives. This might -+ ;; fail, unfortunately: If a required derivative doesn't exist, then -+ ;; DIFF-EXPAND will return a form of the form "f'(x)" with the -+ ;; variable, rather than the expansion point in it. -+ ;; -+ ;; Sometimes this works - in particular, if there is a genuine pole at -+ ;; the point, we end up passing a sum of terms like x^(-k) to a -+ ;; recursive invocation and all is good. Unfortunately, it can also -+ ;; fail. For example, if e is abs(sin(x)) and we try to expand to first -+ ;; order, the expression "1/1*(cos(x)*sin(x)/abs(sin(x)))*x^1+0" is -+ ;; returned. If we call taylor2 on that, we will end up recursing and -+ ;; blowing the stack. To avoid doing so, error out if EXPANSION -+ ;; contains E as a subtree. However, don't error if it occurs as an -+ ;; argument to %DERIVATIVE (in which case, we might well be fine). This -+ ;; happens from things like taylor(log(f(x)), x, x0, 1). - -+ (let* ((exact-poly nil) ; (Taylor series aren't exact) -+ (expansion (diff-expand e tlist))) -+ (when (find-if (lambda (subtree) -+ (not (eq ($op subtree) '%derivative))) -+ (subtree-search e expansion)) -+ (exp-pt-err)) -+ (taylor2 expansion)))))) -+ - (defun compatvarlist (a b c d) - (cond ((null a) t) - ((or (null b) (null c) (null d)) () ) -@@ -3024,7 +3066,21 @@ +@@ -3032,7 +3051,21 @@ (and (or (member '$inf pt-list :test #'eq) (member '$minf pt-list :test #'eq)) (unfam-sing-err))) Index: head/math/maxima/files/extra-patch-src_maxima.in =================================================================== --- head/math/maxima/files/extra-patch-src_maxima.in +++ head/math/maxima/files/extra-patch-src_maxima.in @@ -0,0 +1,22 @@ +--- src/maxima.in.orig 2020-05-02 19:21:19 UTC ++++ src/maxima.in +@@ -165,6 +165,7 @@ if [ -d "$MAXIMA_INITIAL_FOLDER" ]; then + fi + + maxima_image_base="$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" ++maxima_image_base_core="$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima_core" + + if [ "$verbose" = "true" ]; then + set -x +@@ -243,9 +243,9 @@ elif [ "$MAXIMA_LISP" = "sbcl" ]; then + # one has to extend the amount of memory sbcl will be able to claim by using the + # switch --dynamic-space-size in order to do so. + if [ -x "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" ]; then +- exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --eval '(cl-user::run)' --end-toplevel-options "$@" ++ exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --no-userinit --eval '(cl-user::run)' --end-toplevel-options "$@" + else +- exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --eval '(cl-user::run)' --end-toplevel-options "$@" ++ exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --no-userinit --eval '(cl-user::run)' --end-toplevel-options "$@" + fi + + else Index: head/math/maxima/files/patch-Makefile.am =================================================================== --- head/math/maxima/files/patch-Makefile.am +++ head/math/maxima/files/patch-Makefile.am @@ -1,11 +0,0 @@ ---- Makefile.am.orig 2018-09-28 06:01:29 UTC -+++ Makefile.am -@@ -6,7 +6,7 @@ if ENABLE_GETTEXT - LOCALE_DIR = locale - endif - --SUBDIRS = admin crosscompile-windows src lisp-utils tests doc interfaces share demo plotting desktopintegration $(LOCALE_DIR) -+SUBDIRS = admin crosscompile-windows src lisp-utils tests interfaces share plotting desktopintegration $(LOCALE_DIR) - - EXTRA_DIST = \ - common.mk maxima.iss.in \ Index: head/math/maxima/files/patch-interfaces-emacs-imaxima-imaxima.texi =================================================================== --- head/math/maxima/files/patch-interfaces-emacs-imaxima-imaxima.texi +++ head/math/maxima/files/patch-interfaces-emacs-imaxima-imaxima.texi @@ -1,9 +0,0 @@ ---- interfaces/emacs/imaxima/imaxima.texi.orig 2019-02-21 02:30:14 UTC -+++ interfaces/emacs/imaxima/imaxima.texi -@@ -1,5 +1,6 @@ - \input texinfo @c -*-texinfo-*- - @c %**start of header -+@documentencoding ISO-8859-1 - @setfilename imaxima.info - @settitle Imaxima Manual - @paragraphindent 0 Index: head/math/maxima/files/patch-src_maxima.in =================================================================== --- head/math/maxima/files/patch-src_maxima.in +++ head/math/maxima/files/patch-src_maxima.in @@ -1,10 +0,0 @@ ---- src/maxima.in.orig 2018-10-23 17:59:28 UTC -+++ src/maxima.in -@@ -165,6 +165,7 @@ if [ -d "$MAXIMA_INITIAL_FOLDER" ]; then - fi - - maxima_image_base="$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" -+maxima_image_base_core="$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima_core" - - if [ "$verbose" = "true" ]; then - set -x Index: head/math/maxima/pkg-plist =================================================================== --- head/math/maxima/pkg-plist +++ head/math/maxima/pkg-plist @@ -1,7 +1,7 @@ bin/maxima bin/rmaxima %%XMAXIMA%%bin/xmaxima -%%SAGE%%lib/ecl-16.1.3/maxima.fas +%%SAGE%%lib/ecl/maxima.fas lib/maxima/%%PORTVERSION%%/%%BINDIR%%/%%BINNAME%% %%CMUCL%%lib/maxima/%%PORTVERSION%%/%%BINDIR%%/lisp libexec/maxima/%%PORTVERSION%%/mgnuplot