Rev 38199 | Blame | Last modification | View Log | Download | RSS feed
# needs save lib pkg R_HOME BUILD RX_EXE DPKGlib=$2pkg=$3R_HOME=$4BUILD=$5RX_EXE=$6DPKG=$7R_SAVE_IMAGE=$1export R_SAVE_IMAGEif test -r install.R; thenecho "WARNING: use of install.R is no longer supported"fiif test -r R_PROFILE.R; thenecho "WARNING: use of R_PROFILE.R is no longer supported"fi## R_START_PACKAGES is set to NULL during bootstrappingR_DEFAULT_PACKAGES=${R_START_PACKAGES}export R_DEFAULT_PACKAGESif test "x${BUILD}" = "xCROSS"; thenR_EXE="${RX_EXE} --slave --no-site-file --no-init-file"## we have to install into a temporary dir to avoid libpath problemslib1=/tmp/RtmpWinelseR_EXE="${R_HOME}/bin/Rterm --slave --no-site-file --no-init-file"lib1=${lib}fi## This is apparently needed, but no one told the Windows maintainers.R_PACKAGE_NAME=${pkg}export R_PACKAGE_NAMEif test "x${R_SAVE_IMAGE}" = "xtrue"; thenecho " save image"if test "x${BUILD}" = "xCROSS"; thenmkdir -p ${lib1}/${pkg}cp -r ${lib}/${pkg}/DESCRIPTION ${lib}/${pkg}/R ${lib1}/${pkg}if test -f NAMESPACE; thencp ${lib}/${pkg}/NAMESPACE ${lib1}/${pkg}fifisave_image_defaults="list(compress=TRUE, safe=FALSE)"code_file="${DPKG}/R/${pkg}"rda_file="${DPKG}/R/all.rda"if test -f NAMESPACE; thenpkg_name=`basename ${DPKG}`code_cmd="echo invisible(.libPaths(c(.Library,\"${lib1}\",.libPaths()))); .getRequiredPackages(); saveNamespaceImage(\"${pkg_name}\", \"${rda_file}\", \"${lib1}\")"loader_file=nsrdaload.RR_SAVE_EXE=""elsecode_cmd="cat ${code_file}"loader_file=firstlib.RR_SAVE_EXE="--save"fi(echo "options(save.image.defaults=${save_image_defaults})"; \echo "invisible(.libPaths(c(.Library,\"${lib}\",.libPaths()))); .getRequiredPackages()"; \${code_cmd}) | LC_ALL=C ${R_EXE} ${R_SAVE_EXE}if test ${?} -ne 0; thenecho "execution of package source for '${pkg}' failed"exit 1fiif test ! -f NAMESPACE; thenmv .RData ${rda_file}fiif test "x${BUILD}" = "xCROSS"; thenrm -rf ${lib1}fi## we used to install the dumped code but this seems a waste of spacerm "${code_file}"# mv "${code_file}" "${code_file}.R"cat "${R_HOME}/share/R/${loader_file}" > "${code_file}"fi