aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Salvadore <salvadore@FreeBSD.org>2022-05-09 07:27:10 +0000
committerLorenzo Salvadore <salvadore@FreeBSD.org>2022-05-29 20:28:51 +0000
commitb04ee940ddaa3ac29d4e6efaf75cb9099720a408 (patch)
tree279b86ddb70b7c89887377b2098611a836831667
parenta36d3413fcd8c8f5769a6e481eb0c3a602a1d2a3 (diff)
downloadports-b04ee940ddaa3ac29d4e6efaf75cb9099720a408.tar.gz
ports-b04ee940ddaa3ac29d4e6efaf75cb9099720a408.zip
math/maxima: Many improvments
- Add a missing license (BSD3CLAUSE) and missing license files (for BSD3CLAUSE and GPLv2). - Remove reference to a non existent patch that should have been applied when NOUSERINIT is OFF. - Fix patching when SBCL is ON but NOUSERINIT is OFF (the port was building successfully, but then maxima failed to run). - Fix patching of Makefile.am: $(DOC_DIR) and demo targets are removed in any case (the port deals with them manually through the DOCS, MANPAGES and EXAMPLES options). The tests target is only removed if the TEST option is OFF. - Regenerate files/patch-configure.ac with 'make makepatch', as requested by portlint. - Remove unneeded CONFIGURE_ARGS= PYTHON=dummy. - Move symplectic_ode info file from pkg-plist to INFO variable, as requested by portlint. - Remove CMUCL: cmucl is not supported upstream anymore on FreeBSD since 2017. - Set NO_ARCH=yes when LISP is CCL or SBCL (it does not apply when it is ECL). - Do not install German and Russian manpages anymore. - Strip binaries and libraries (applies when LISP is ECL, it is not needed in the other cases). - Move post-install-ECL-on target (portclippy). Reviewed by: diizzy, thierry, tcberner Approved by: gerald (mentor) Differential Revision: https://reviews.freebsd.org/D35164
-rw-r--r--math/maxima/Makefile43
-rw-r--r--math/maxima/files/extra-patch-OFF-Makefile.am11
-rw-r--r--math/maxima/files/extra-patch-nouserinit-src_maxima.in (renamed from math/maxima/files/extra-patch-src_maxima.in)8
-rw-r--r--math/maxima/files/extra-patch-sbcl-src_maxima.in10
-rw-r--r--math/maxima/files/patch-Makefile.am11
-rw-r--r--math/maxima/files/patch-configure.ac6
-rw-r--r--math/maxima/pkg-plist4
7 files changed, 46 insertions, 47 deletions
diff --git a/math/maxima/Makefile b/math/maxima/Makefile
index 3cf885c284f9..e509d2b930fe 100644
--- a/math/maxima/Makefile
+++ b/math/maxima/Makefile
@@ -2,16 +2,18 @@
PORTNAME= maxima
PORTVERSION= 5.46.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= math lisp tk
MASTER_SITES= SF/maxima/Maxima-source/${PORTVERSION}-source
MAINTAINER= salvadore@FreeBSD.org
COMMENT= Symbolic mathematics program
-LICENSE= GPLv2 MAXIMAEXTRACLAUSE
+LICENSE= BSD3CLAUSE GPLv2 MAXIMAEXTRACLAUSE
LICENSE_COMB= multi
LICENSE_NAME_MAXIMAEXTRACLAUSE= Maxima extra clause
+LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSES/getopt-license.txt
+LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING
LICENSE_FILE_MAXIMAEXTRACLAUSE= ${FILESDIR}/license-extra-clause.txt
LICENSE_PERMS_MAXIMAEXTRACLAUSE= dist-mirror dist-sell pkg-mirror \
pkg-sell auto-accept
@@ -22,11 +24,11 @@ RUN_DEPENDS= gnuplot:math/gnuplot \
USES= autoreconf gmake makeinfo shared-mime-info
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= PYTHON=dummy
TEST_TARGET= check
-INFO= imaxima maxima xmaxima abs_integrate drawutils kovacicODE logic
+INFO= imaxima maxima xmaxima abs_integrate drawutils kovacicODE logic \
+ symplectic_ode
PLIST_SUB+= PORTVERSION=${PORTVERSION}
PORTDATA= *
@@ -36,12 +38,11 @@ PORTEXAMPLES= *
OPTIONS_DEFINE= DOCS EXAMPLES MANPAGES NOUSERINIT SAGE TEST XMAXIMA
OPTIONS_DEFAULT= ECL MANPAGES NOUSERINIT SAGE TEST XMAXIMA
OPTIONS_SINGLE= LISP
-OPTIONS_SINGLE_LISP= CCL CMUCL ECL SBCL
+OPTIONS_SINGLE_LISP= CCL ECL SBCL
OPTIONS_SUB= yes
CCL_DESC= Build with Clozure Common Lisp
-CMUCL_DESC= Build with CMU Common Lisp
ECL_DESC= Build with Embedabble Common Lisp
NOUSERINIT_DESC= Do not load user init file for lisp (only for sbcl)
SAGE_DESC= Build with patches from Sage (implies ECL)
@@ -53,12 +54,7 @@ CCL_RUN_DEPENDS= ccl:lang/ccl
CCL_CONFIGURE_ON= --with-ccl=ccl
CCL_PLIST_SUB= BINDIR=binary-openmcl \
BINNAME=maxima.image
-
-CMUCL_BUILD_DEPENDS= lisp:lang/cmucl
-CMUCL_RUN_DEPENDS= lisp:lang/cmucl
-CMUCL_CONFIGURE_ON= --enable-cmucl
-CMUCL_PLIST_SUB= BINDIR=binary-cmucl \
- BINNAME=maxima_core
+CCL_VARS= NO_ARCH=yes
ECL_BUILD_DEPENDS= ecl:lang/ecl
ECL_LIB_DEPENDS= libffi.so:devel/libffi \
@@ -73,8 +69,7 @@ ECL_CONFIGURE_ON= --with-ecl=ecl
ECL_PLIST_SUB= BINDIR=binary-ecl \
BINNAME=maxima
-NOUSERINIT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_maxima.in
-NOUSERINIT_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-src_maxima.in
+NOUSERINIT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-nouserinit-src_maxima.in
SAGE_IMPLIES= ECL
SAGE_BUILD_DEPENDS= ${LOCALBASE}/lib/libatomic_ops.a:devel/libatomic_ops
@@ -86,12 +81,13 @@ SAGE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-share_linearalgebra_matrixexp.lisp \
SBCL_BUILD_DEPENDS= sbcl:lang/sbcl
SBCL_RUN_DEPENDS= sbcl:lang/sbcl
SBCL_CONFIGURE_ON= --enable-sbcl
+SBCL_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-sbcl-src_maxima.in
SBCL_PLIST_SUB= BINDIR=binary-sbcl \
BINNAME=maxima_core
+SBCL_VARS= NO_ARCH=yes
TEST_BUILD_DEPENDS= gnuplot:math/gnuplot \
rlwrap:devel/rlwrap
-TEST_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-Makefile.am
XMAXIMA_IMPLIES= DOCS TEST
XMAXIMA_USES= tk
@@ -103,6 +99,9 @@ post-patch:
${REINPLACE_CMD} "s;tclsh;${TCLSH};g" ${WRKSRC}/interfaces/xmaxima/Makefile.in
${REINPLACE_CMD} "s;/usr;${LOCALBASE};g" ${WRKSRC}/src/intl.lisp
+post-patch-TEST-off:
+ ${REINPLACE_CMD} 's;tests;;' ${WRKSRC}/Makefile.am
+
post-patch-XMAXIMA-on:
${REINPLACE_CMD} "s;%%DOCSDIR%%;/${DOCSDIR:S,/, ,g};" \
${WRKSRC}/interfaces/xmaxima/Tkmaxima/Paths.tcl
@@ -125,16 +124,18 @@ post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/doc/info && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} '-name maxima*\.html'
+post-install-ECL-on:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ecl
+ ${INSTALL_LIB} ${WRKSRC}/src/binary-ecl/maxima.fas \
+ ${STAGEDIR}${PREFIX}/lib/ecl
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/maxima/${PORTVERSION}/binary-ecl/maxima
+
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/demo && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} '-name *\.dem'
post-install-MANPAGES-on:
- ${INSTALL_MAN} ${WRKSRC}/doc/man/maxima.1.gz ${STAGEDIR}${PREFIX}/man/man1
-
-post-install-ECL-on:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ecl
- ${INSTALL_DATA} ${WRKSRC}/src/binary-ecl/maxima.fas \
- ${STAGEDIR}${PREFIX}/lib/ecl
+ ${MKDIR} ${STAGEDIR}${PREFIX}/man/man1 && \
+ ${INSTALL_MAN} ${WRKSRC}/doc/man/maxima.1.gz ${STAGEDIR}${PREFIX}/man/man1/maxima.1.gz
.include <bsd.port.mk>
diff --git a/math/maxima/files/extra-patch-OFF-Makefile.am b/math/maxima/files/extra-patch-OFF-Makefile.am
deleted file mode 100644
index add8db5334ac..000000000000
--- a/math/maxima/files/extra-patch-OFF-Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 \
diff --git a/math/maxima/files/extra-patch-src_maxima.in b/math/maxima/files/extra-patch-nouserinit-src_maxima.in
index 2a0ee963a226..9ade2db6c4cf 100644
--- a/math/maxima/files/extra-patch-src_maxima.in
+++ b/math/maxima/files/extra-patch-nouserinit-src_maxima.in
@@ -1,13 +1,5 @@
--- 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.
diff --git a/math/maxima/files/extra-patch-sbcl-src_maxima.in b/math/maxima/files/extra-patch-sbcl-src_maxima.in
new file mode 100644
index 000000000000..f0236fdb7e9e
--- /dev/null
+++ b/math/maxima/files/extra-patch-sbcl-src_maxima.in
@@ -0,0 +1,10 @@
+--- 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
diff --git a/math/maxima/files/patch-Makefile.am b/math/maxima/files/patch-Makefile.am
new file mode 100644
index 000000000000..165de96d6477
--- /dev/null
+++ b/math/maxima/files/patch-Makefile.am
@@ -0,0 +1,11 @@
+--- Makefile.am.orig 2022-05-09 16:39:32 UTC
++++ Makefile.am
+@@ -10,7 +10,7 @@ endif
+ DOC_DIR = doc
+ endif
+
+-SUBDIRS = admin crosscompile-windows src lisp-utils tests $(DOC_DIR) 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 \
diff --git a/math/maxima/files/patch-configure.ac b/math/maxima/files/patch-configure.ac
index 2d42071d5c66..74433aa98ca2 100644
--- a/math/maxima/files/patch-configure.ac
+++ b/math/maxima/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig 2021-06-22 16:59:07.387685000 -0600
-+++ configure.ac 2021-06-22 16:59:40.892936000 -0600
-@@ -165,21 +165,21 @@
+--- configure.ac.orig 2022-04-13 05:02:12 UTC
++++ configure.ac
+@@ -165,21 +165,21 @@ dnl See if git exists. If it does, update VERSION to
dnl See if git exists. If it does, update VERSION to include a git tag
diff --git a/math/maxima/pkg-plist b/math/maxima/pkg-plist
index c6eb0b5cb98a..1d7ad6bebb0f 100644
--- a/math/maxima/pkg-plist
+++ b/math/maxima/pkg-plist
@@ -3,11 +3,8 @@ bin/rmaxima
%%XMAXIMA%%bin/xmaxima
%%SAGE%%lib/ecl/maxima.fas
lib/maxima/%%PORTVERSION%%/%%BINDIR%%/%%BINNAME%%
-%%CMUCL%%lib/maxima/%%PORTVERSION%%/%%BINDIR%%/lisp
libexec/maxima/%%PORTVERSION%%/mgnuplot
%%MANPAGES%%man/man1/maxima.1.gz
-%%MANPAGES%%man/de/man1/maxima.1.gz
-%%MANPAGES%%man/ru/man1/maxima.1.gz
share/applications/net.sourceforge.maxima.xmaxima.desktop
share/bash-completion/completions/maxima
share/bash-completion/completions/rmaxima
@@ -28,7 +25,6 @@ share/emacs/site-lisp/setup-imaxima-imath.el
share/emacs/site-lisp/smart-complete.el
share/emacs/site-lisp/sshell.el
share/info/maxima-index.lisp
-share/info/symplectic_ode.info
share/metainfo/net.sourceforge.maxima.xmaxima.appdata.xml
share/mime/packages/x-mac.xml
share/mime/packages/x-maxima-out.xml