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
This commit is contained in:
Lorenzo Salvadore 2022-05-09 09:27:10 +02:00
parent a36d3413fc
commit b04ee940dd
No known key found for this signature in database
GPG Key ID: B58F7C3CF6DB8A38
7 changed files with 46 additions and 47 deletions

View File

@ -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>

View File

@ -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 \

View File

@ -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.

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

@ -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