# Created by: Scott Flatman # $FreeBSD$ PORTNAME= maxima PORTVERSION= 5.31.1 CATEGORIES= math lisp tk MASTER_SITES= SF/maxima/Maxima-source/${PORTVERSION}-source MAINTAINER= bf@FreeBSD.org COMMENT= Symbolic mathematics program LICENSE= GPLv2 BUILD_DEPENDS= ${LOCALBASE}/bin/${LISPPORT} PATCH_DEPENDS= ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash RUN_DEPENDS= ${LOCALBASE}/bin/${LISPPORT} \ ${LOCALBASE}/bin/gnuplot:${PORTSDIR}/math/gnuplot \ ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash USES= gmake perl5 tk:84+ USE_PERL5= build USE_PYTHON_BUILD= yes GNU_CONFIGURE= yes CONFIGURE_ARGS+= --prefix=${PREFIX} \ --with-posix-shell=${LOCALBASE}/bin/bash \ --with-wish=${WISH} \ ${LISPSELECT} MAN1= maxima.1 INFO= maxima imaxima xmaxima PLIST_SUB= BINDIR=${BINDIRECTORY} PLIST_SUB+= LISPBIN=${LISPBINARY} PLIST_SUB+= MAXIMABIN=${MAXIMABINARY} PLIST_SUB+= PORTVERSION=${PORTVERSION} OPTIONS_SINGLE= LISP OPTIONS_SINGLE_LISP= CLISP CMUCL GCL SBCL OPTIONS_DEFAULT= SBCL CLISP_DESC= Build with Clisp CMUCL_DESC= Build with CMU Common Lisp GCL_DESC= Build with GNU Common Lisp SBCL_DESC= Build with Steel Bank Common Lisp NO_STAGE= yes .include # Lisp to build with. Define only ONE of these! .if ${PORT_OPTIONS:MCLISP} LISPSELECT= --enable-clisp LISPPORT= clisp:${PORTSDIR}/lang/clisp BINDIRECTORY= binary-clisp LISPBINARY= lisp.run PLIST_SUB+= LISPBINARY="" MAXIMABINARY= maxima.mem .endif .if ${PORT_OPTIONS:MCMUCL} LISPSELECT= --enable-cmucl LISPPORT= lisp:${PORTSDIR}/lang/cmucl BINDIRECTORY= binary-cmucl LISPBINARY= lisp PLIST_SUB+= LISPBINARY="" MAXIMABINARY= maxima_core STRIP= #strip(1) chokes on LISPBINARY .endif .if ${PORT_OPTIONS:MGCL} LISPSELECT= --enable-gcl LISPPORT= gcl:${PORTSDIR}/lang/gcl BINDIRECTORY= binary-gcl #LISPBINARY is null so fudge this so deinstall works cleanly PLIST_SUB+= LISPBINARY="@comment " MAXIMABINARY= maxima .endif .if ${PORT_OPTIONS:MSBCL} . if ${ARCH} == "i386" DYNAMIC_SPACE_SIZE?= 512 . else DYNAMIC_SPACE_SIZE?= 1024 . endif . if defined(DYNAMIC_SPACE_SIZE) MAXIMA_LISP_OPTIONS+= --dynamic-space-size ${DYNAMIC_SPACE_SIZE} . endif . if defined(MAXIMA_LISP_OPTIONS) && !empty(MAXIMA_LISP_OPTIONS) LISPSELECT= --with-sbcl="sbcl ${MAXIMA_LISP_OPTIONS}" . else LISPSELECT= --enable-sbcl . endif LISPPORT= sbcl:${PORTSDIR}/lang/sbcl BINDIRECTORY= binary-sbcl #LISPBINARY is null so fudge this so deinstall works cleanly PLIST_SUB+= LISPBINARY="@comment " MAXIMABINARY= maxima_core .endif post-patch: @${GREP} -Fe '.core' -l -r ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ -e 's;\.core;_core;g' @${FIND} -X ${WRKSRC}/interfaces/xmaxima -name 'Makefile.in' | ${XARGS} \ ${REINPLACE_CMD} -e "s;tclsh;${TCLSH};g" @${REINPLACE_CMD} -e "s;/usr;${LOCALBASE};g" ${WRKSRC}/src/intl.lisp @cd ${WRKSRC}/doc/info ; ${LOCALBASE}/bin/bash ./fix_crlf ; \ ${LOCALBASE}/bin/bash ./fix_tab @${REINPLACE_CMD} -e 's;$$maxima_image_base;$${maxima_image_base};g' \ ${WRKSRC}/src/maxima.in .if defined(MAXIMA_LISP_OPTIONS) && !empty(MAXIMA_LISP_OPTIONS) @${REINPLACE_CMD} -e 's;"@SBCL_NAME@";@SBCL_NAME@;g' \ ${WRKSRC}/src/maxima.in @${REINPLACE_CMD} -e 's;"$$(SBCL_NAME)";$$(SBCL_NAME);g' \ ${WRKSRC}/src/Makefile.in .endif pre-build: @${FIND} ${WRKSRC} \( -name '*.bak' -o -name '*.fbsd10bak' -o \ -name '*.orig' \) -delete post-install: @${ECHO_MSG} "" @${CAT} ${PKGMESSAGE} @${ECHO_MSG} "" check regression-test test: build @cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} \ check .include