1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00
freebsd-ports/Mk/Uses/cran.mk
David Naylor 9920d3ae65 qa: add check for NO_ARCH
If NO_ARCH is set then check that no FreeBSD elf(5) files are in $STAGEDIR.
If an elf(5) file is bundles as part of the package, but is not meant to be
run directly (i.e. the elf(5) file is a payload, and not compiled) then
those files can be added to NO_ARCH_IGNORE to avoid the check from failing,

Changes to ports:
 - Ports that have NO_ARCH set, but actually compile files have had NO_ARCH
   removed.
 - Ports that have elf(5) payloads have had those files added to
   NO_ARCH_IGNORE.
 - R-cran ports that do not set USES=cran:compiles have NO_ARCH set,

PR:		218976
Reviewed by:	antoine, mat
Approved by:	portmgr
2017-06-18 18:09:16 +00:00

79 lines
2.0 KiB
Makefile

# $FreeBSD$
#
# Use the Comprehensive R Archive Network
#
# Feature: cran
# Usage: USES=cran or USES=cran:ARGS
# Valid ARGS: auto-plist, compiles
#
# auto-plist The pkg-plist is to be automatically generated
# compiles The port has code that needs to be compiled
#
# MAINTAINER= dbn@FreeBSD.org
.if !defined(_INCLUDE_USES_CRAN_MK)
_INCLUDE_USES_CRAN_MK= yes
MASTER_SITES?= CRAN/src/contrib CRAN_ARCHIVE/src/contrib
BUILD_DEPENDS+= ${LOCALBASE}/bin/R:math/R
RUN_DEPENDS+= ${LOCALBASE}/bin/R:math/R
PKGNAMEPREFIX?= R-cran-
R_LIB_DIR= lib/R/library
R_MOD_DIR?= ${R_LIB_DIR}/${PORTNAME}
PLIST_SUB+= R_MOD_DIR=${R_MOD_DIR}
WRKSRC?= ${WRKDIR}/${PORTNAME}
NO_BUILD= yes
R_COMMAND= ${LOCALBASE}/bin/R
.if !target(do-test)
R_POSTCMD_CHECK_OPTIONS?= --timings
.if !exists(${LOCALBASE}/bin/pdflatex)
R_POSTCMD_CHECK_OPTIONS+= --no-manual --no-build-vignettes
.endif
do-test:
@${FIND} ${WRKSRC} \( -name '*.o' -o -name '*.so' \) -delete
@cd ${WRKDIR} ; ${SETENV} ${MAKE_ENV} _R_CHECK_FORCE_SUGGESTS_=FALSE \
${R_COMMAND} ${R_PRECMD_CHECK_OPTIONS} CMD check \
${R_POSTCMD_CHECK_OPTIONS} ${PORTNAME}
.endif
.if !target(do-install)
R_POSTCMD_INSTALL_OPTIONS+= -l ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
R_POSTCMD_INSTALL_OPTIONS+= --install-tests
.if defined(NOPORTDOCS)
R_POSTCMD_INSTALL_OPTIONS+= --no-docs --no-html
.endif
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
@cd ${WRKDIR} ; ${SETENV} ${MAKE_ENV} ${R_COMMAND} \
${R_PRECMD_INSTALL_OPTIONS} CMD INSTALL \
${R_POSTCMD_INSTALL_OPTIONS} ${PORTNAME}
.endif
.if ${cran_ARGS:Mauto-plist}
_USES_install+= 750:cran-auto-plist
cran-auto-plist:
@${FIND} -ds ${STAGEDIR}${PREFIX}/${R_MOD_DIR} \( -type f -or -type l \) -print | \
${SED} -E -e 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
.endif
.if ${cran_ARGS:Mcompiles}
_USES_install+= 755:cran-strip
cran-strip:
${FIND} ${STAGEDIR}${PREFIX}/${R_MOD_DIR} -name '*.so' -exec ${STRIP_CMD} {} +
.include "${PORTSDIR}/math/R/compiler.mk"
.include "${USESDIR}/fortran.mk"
.else
NO_ARCH= yes
.endif
.endif #_INCLUDE_USES_CRAN_MK