Page MenuHomeFreeBSD

D60843.diff
No OneTemporary

D60843.diff

diff --git a/Mk/Uses/cran.mk b/Mk/Uses/cran.mk
--- a/Mk/Uses/cran.mk
+++ b/Mk/Uses/cran.mk
@@ -26,8 +26,9 @@
PLIST_SUB+= R_MOD_DIR=${R_MOD_DIR}
WRKSRC?= ${WRKDIR}/${PORTNAME}
-NO_BUILD= yes
R_COMMAND= ${LOCALBASE}/bin/R
+# Source install lands here. The stage copy is a second call on this tree.
+R_BUILD_LIBDIR= ${WRKDIR}/.rlib
. if !target(do-test)
R_POSTCMD_CHECK_OPTIONS?= --timings
@@ -44,18 +45,35 @@
. endif
. if !target(do-install)
-R_POSTCMD_INSTALL_OPTIONS+= -l ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
+# tools:::.install_packages() has no compile-only entry. It forks on
+# the Built: field in DESCRIPTION. The build call installs the source
+# tree into ${R_BUILD_LIBDIR} and writes Built:. The install call
+# points at that directory and takes the binary path, which is a copy.
+#
+# The source install will not start unless Depends, Imports, and
+# LinkingTo are already installed. Those are RUN_DEPENDS, and
+# run-depends are not installed until the stage phase.
+BUILD_DEPENDS+= ${RUN_DEPENDS}
+
R_POSTCMD_INSTALL_OPTIONS+= --install-tests
. if empty(PORT_OPTIONS:MDOCS)
R_POSTCMD_INSTALL_OPTIONS+= --no-docs --no-html
. endif
+do-build:
+ @${MKDIR} ${R_BUILD_LIBDIR}
+ @cd ${WRKDIR} ; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${R_COMMAND} \
+ ${R_PRECMD_INSTALL_OPTIONS} CMD INSTALL --no-test-load \
+ -l ${R_BUILD_LIBDIR} ${R_POSTCMD_INSTALL_OPTIONS} ${PORTNAME}
+
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
- @cd ${WRKDIR} ; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${R_COMMAND} \
- ${R_PRECMD_INSTALL_OPTIONS} CMD INSTALL \
- ${R_POSTCMD_INSTALL_OPTIONS} ${PORTNAME}
+ @${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${R_COMMAND} \
+ CMD INSTALL -l ${STAGEDIR}${PREFIX}/${R_LIB_DIR} \
+ ${R_BUILD_LIBDIR}/${PORTNAME}
+. else
+NO_BUILD= yes
. endif
. if ${cran_ARGS:Mauto-plist}

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 20, 6:45 AM (10 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41058241
Default Alt Text
D60843.diff (1 KB)

Event Timeline