diff options
author | Maho Nakata <maho@FreeBSD.org> | 2008-09-08 00:23:03 +0000 |
---|---|---|
committer | Maho Nakata <maho@FreeBSD.org> | 2008-09-08 00:23:03 +0000 |
commit | 0f9186f111696aecf5db6bfa0dbb9e360e693b07 (patch) | |
tree | 687772cef83a72a772beb0b1900ff8f5c7966dfb /Mk/bsd.octave.mk | |
parent | ce16c6ed8506e1b1ba87191eaa53e9172de69d8f (diff) | |
download | ports-0f9186f111696aecf5db6bfa0dbb9e360e693b07.tar.gz ports-0f9186f111696aecf5db6bfa0dbb9e360e693b07.zip |
Notes
Diffstat (limited to 'Mk/bsd.octave.mk')
-rw-r--r-- | Mk/bsd.octave.mk | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Mk/bsd.octave.mk b/Mk/bsd.octave.mk new file mode 100644 index 000000000000..09903a1ad994 --- /dev/null +++ b/Mk/bsd.octave.mk @@ -0,0 +1,61 @@ +#-*- mode: makefile; tab-width: 4; -*- +# ex:ts=4 +# +# $FreeBSD$ +# +# bsd.octave.mk - Octave related macro +# Common code to install octave-forge packages. +# It is, in effect, a wrapper using the package handling already built +# into math/octave. + + +MASTER_SITES= SF/octave +DISTNAME= ${OCTAVE_PKGNAME}-${PORTVERSION} + +bsd_octave_mk_MAINTAINER= stephen@math.missouri.edu + +BUILD_DEPENDS+= octave:${PORTSDIR}/math/octave +RUN_DEPENDS+= octave:${PORTSDIR}/math/octave +RUN_DEPENDS+= ${LOCALBASE}/share/octave/tarballs:${PORTSDIR}/math/octave-forge-base +LIB_DEPENDS+= pcre:${PORTSDIR}/devel/pcre +USE_FORTRAN= yes +# hack to get fortran installed with octave +RUN_DEPENDS+= ${BUILD_DEPENDS:M*fortran*} ${BUILD_DEPENDS:M*f77*} ${BUILD_DEPENDS:M*g77*} + +USE_GMAKE= yes +GNU_CONFIGURE= yes + +DIST_SUBDIR= octave-forge +OCTAVE_PKGNAME= ${PORTNAME:S/octave-forge-//} +TARBALLS_DIR= ${LOCALBASE}/share/octave/tarballs + +MAKE_ENV+= PACKAGE=${WRKDIR}/${DISTNAME}.tar.gz + +do-install: + ${MKDIR} ${TARBALLS_DIR} + ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}.tar.gz ${TARBALLS_DIR}/. + ${RM} -f ${TARBALLS_DIR}/${OCTAVE_PKGNAME}.tar.gz + octave -H -q --no-site-file --eval "pkg('install','${TARBALLS_DIR}/${DISTNAME}.tar.gz')" + ${LN} -s ${DISTNAME}.tar.gz ${TARBALLS_DIR}/${OCTAVE_PKGNAME}.tar.gz + +post-install: + @${ECHO_CMD} "share/octave/tarballs/${DISTNAME}.tar.gz" >> ${TMPPLIST} + @${ECHO_CMD} "@exec octave -H -q --no-site-file --eval \"pkg('install','${LOCALBASE}/share/octave/tarballs/${DISTNAME}.tar.gz')\" > /dev/null" >> ${TMPPLIST} + @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_PKGNAME}.tar.gz" >> ${TMPPLIST} + @${ECHO_CMD} "@unexec octave -H -q --no-site-file --eval \"pkg('uninstall','${OCTAVE_PKGNAME}')\" > /dev/null" >> ${TMPPLIST} + @if [ -e ${.CURDIR}/pkg-message ]; then ${CAT} ${.CURDIR}/pkg-message; fi + +check-octave-forge-depends: extract + @listd=`${PERL} -lne '$$_=lc($$_);if (s/^depends://){s/\(.*?\)//g;s/\s*\,\s*/ /g;s/octave//g;print}' < ${WRKSRC}/DESCRIPTION`; \ + listm=`${PERL} -lne 'if (/RUN_DEPENDS\+=\t..TARBALLS_DIR.\/(.*)\.tar\.gz/){print$$1}' < ${.CURDIR}/Makefile`; \ + for i in $$listd; do \ + if !(${ECHO_CMD} $$listm|${GREP} $$i > /dev/null); then \ + ${ECHO_MSG} "octave-forge-${OCTAVE_PKGNAME} is missing dependency octave-forge-$$i"; \ + fi; \ + done; \ + for i in $$listm; do \ + if !(${ECHO_CMD} $$listd|${GREP} $$i > /dev/null); then \ + ${ECHO_MSG} "octave-forge-${OCTAVE_PKGNAME} has unnecessary dependency octave-forge-$$i"; \ + fi; \ + done; \ + |