diff --git a/Mk/Uses/octave.mk b/Mk/Uses/octave.mk new file mode 100644 --- /dev/null +++ b/Mk/Uses/octave.mk @@ -0,0 +1,71 @@ +# Feature: octave +# Usage: USES=octave +# Valid ARGS: (none) +# MAINTAINER: stephen@FreeBSD.org +# +# Common code to install octave-forge packages. +# It is, in effect, a wrapper using the package handling already built +# into math/octave. + +.if !defined(_INCLUDE_USES_OCTAVE_MK) +_INCLUDE_USES_OCTAVE_MK= yes + +. if !empty(octave_ARGS) +IGNORE= USES=octave takes no arguments +. endif + +.include "${.CURDIR}/../../math/octave/Makefile.version" + +BUILD_DEPENDS+= octave:math/octave +RUN_DEPENDS+= octave:math/octave \ + ${LOCALBASE}/libexec/octave/load-octave-pkg:math/octave-forge-base +LIB_DEPENDS+= libpcre.so:devel/pcre + +. if ! ${USES:Mcompiler} +_USES_POST+= compiler:c++14-lang +. endif +. if ! ${USES:Mfortran} +_USES_POST+= fortran +. endif +. if ! ${USES:Mgmake} +_USES_POST+= gmake +. endif +CXXFLAGS+= -I${LOCALBASE}/include/octave-${OCTAVE_VERSION} +CFLAGS+= -I${LOCALBASE}/include/octave-${OCTAVE_VERSION} +CPPFLAGS+= -I${LOCALBASE}/include/octave-${OCTAVE_VERSION} + +DIST_SUBDIR?= octave-forge +OCTAVE_PKGNAME= ${PORTNAME:S/octave-forge-//} +OCTAVE_DISTNAME= ${OCTAVE_PKGNAME}-${DISTVERSION} +OCTAVE_TARBALLS_DIR= ${LOCALBASE}/share/octave/tarballs +OCTAVE_INSTALL_TARBALLS_DIR= ${STAGEDIR}${PREFIX}/share/octave/tarballs +OCTAVE_SRC?= ${DISTNAME} +WRKSRC?= ${WRKDIR}/${OCTAVE_SRC}/src + +MAKE_ENV+= PACKAGE=${OCTAVE_DISTNAME}.tar.gz +MAKE_ARGS= CC="${CC}" CXX="${CXX}" LD_CXX="${CXX}" DL_LD="${CXX}" MKOCTFILE="${LOCALBASE}/bin/mkoctfile" OCTAVE_VERSION=-${OCTAVE_VERSION} + +LOAD_OCTAVE_PKG_CMD= ${LOCALBASE}/libexec/octave/load-octave-pkg + +. if !target(pre-install) +pre-install: + ${RM} ${WRKSRC}/Makefile ${WRKSRC}/configure + cd ${WRKDIR} && ${TAR} cfz ${OCTAVE_DISTNAME}.tar.gz ${OCTAVE_SRC} +. endif # !target(pre-install) + +. if !target(do-install) +do-install: + ${MKDIR} ${OCTAVE_INSTALL_TARBALLS_DIR} + ${INSTALL_DATA} ${WRKDIR}/${OCTAVE_DISTNAME}.tar.gz ${OCTAVE_INSTALL_TARBALLS_DIR}/. + ${LN} -s -f ${OCTAVE_DISTNAME}.tar.gz ${OCTAVE_INSTALL_TARBALLS_DIR}/${OCTAVE_PKGNAME}.tar.gz +. endif # !target(do-install) + +. if !target(post-install) +post-install: + @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_DISTNAME}.tar.gz" >> ${TMPPLIST} + @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_PKGNAME}.tar.gz" >> ${TMPPLIST} + @${ECHO_CMD} "@postunexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST} + @${ECHO_CMD} "@postexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST} +. endif # !target(post-install) + +.endif # !defined(_INCLUDE_USES_OCTAVE_MK) diff --git a/Mk/bsd.octave.mk b/Mk/bsd.octave.mk deleted file mode 100644 --- a/Mk/bsd.octave.mk +++ /dev/null @@ -1,41 +0,0 @@ -#-*- tab-width: 4; -*- -# ex:ts=4 -# -# 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. - -bsd_octave_mk_MAINTAINER= stephen@FreeBSD.org - -BUILD_DEPENDS+= octave:math/octave -RUN_DEPENDS+= octave:math/octave \ - ${LOCALBASE}/libexec/octave/load-octave-pkg:math/octave-forge-base -LIB_DEPENDS+= libpcre.so:devel/pcre - -USES+= fortran gmake compiler:c++14-lang -CXXFLAGS+= -std=gnu++11 - -DIST_SUBDIR?= octave-forge -OCTAVE_PKGNAME= ${PORTNAME:S/octave-forge-//} -OCTAVE_DISTNAME= ${OCTAVE_PKGNAME}-${DISTVERSION} -TARBALLS_DIR= ${LOCALBASE}/share/octave/tarballs -INSTALL_TARBALLS_DIR= ${STAGEDIR}${PREFIX}/share/octave/tarballs - -.include "${.CURDIR}/../../math/octave/Makefile.version" - -MAKE_ENV+= PACKAGE=${OCTAVE_DISTNAME}.tar.gz -MAKE_ARGS= CC="${CC}" CXX="${CXX}" LD_CXX="${CXX}" DL_LD="${CXX}" MKOCTFILE="${LOCALBASE}/bin/mkoctfile" OCTAVE_VERSION=-${OCTAVE_VERSION} - -LOAD_OCTAVE_PKG_CMD= ${LOCALBASE}/libexec/octave/load-octave-pkg - -do-install: - ${MKDIR} ${INSTALL_TARBALLS_DIR} - ${INSTALL_DATA} ${WRKDIR}/${OCTAVE_DISTNAME}.tar.gz ${INSTALL_TARBALLS_DIR}/. - ${LN} -s -f ${OCTAVE_DISTNAME}.tar.gz ${INSTALL_TARBALLS_DIR}/${OCTAVE_PKGNAME}.tar.gz - -post-install: - @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_DISTNAME}.tar.gz" >> ${TMPPLIST} - @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_PKGNAME}.tar.gz" >> ${TMPPLIST} - @${ECHO_CMD} "@postunexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST} - @${ECHO_CMD} "@postexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST}