aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2003-07-09 18:42:36 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2003-07-09 18:42:36 +0000
commit0207cc6d7eb84d0bab8a544c8499b56c81ba529f (patch)
tree7b000533dbefa7c0a34bc183eec8a5b2a1577f17 /lang
parent805cfd026cd036069fca5d5f0bc1b9f2adb58894 (diff)
downloadports-0207cc6d7eb84d0bab8a544c8499b56c81ba529f.tar.gz
ports-0207cc6d7eb84d0bab8a544c8499b56c81ba529f.zip
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/sml-nj-devel/Makefile42
-rw-r--r--lang/sml-nj-devel/files/plist-everything2
2 files changed, 34 insertions, 10 deletions
diff --git a/lang/sml-nj-devel/Makefile b/lang/sml-nj-devel/Makefile
index da334e8de634..d965ac01dca4 100644
--- a/lang/sml-nj-devel/Makefile
+++ b/lang/sml-nj-devel/Makefile
@@ -65,8 +65,10 @@ MLTARGETS= ml-burg eXene src-smlnj \
ml-nlffi-lib ml-nlffigen nowhere pgraph-util
MLEXE+= ml-burg ml-nlffigen nowhere
PLIST= ${WRKDIR}/.PLIST
+MLRUNTIMEPLIST= ${WRKDIR}/.PLIST.runtime
MLSRCPLIST= ${WRKDIR}/.PLIST.src
-MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything ${MLSRCPLIST}
+MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything \
+ ${MLRUNTIMEPLIST} ${MLSRCPLIST}
.endif
pre-fetch:
@@ -154,16 +156,41 @@ do-build:
MLNORUNTIMECLEAN=yes ./config/install.sh
.endif
+# Nowadays PLIST has to be computed before installation. We do it in
+# "pre-install" because source extraction happens during "build".
+.if defined(WITH_EVERYTHING)
+MLNOINSTALL= CM
+.if defined(WITH_RECOMPILE)
+MLNOINSTALL+= sml.boot.${MLARCH}-unix sml.bin.${MLARCH}-unix
+.endif
+MLSRCEXCLUDEREGEX= -e '^(@dirrm\ )?${MLROOTRELATIVE}/src/runtime'
+.for excl in ${MLNOINSTALL}
+MLSRCEXCLUDEREGEX+= -e '/${excl}$$' -e '/${excl}/'
+.endfor
+
+pre-install:
+ @${ECHO} -n 'Computing package list ...'
+ @${TAR} -tzf ${WRKDIR}/runtime.tgz | \
+ ${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/src/\1%' \
+ -e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/src/\1%' \
+ > ${MLRUNTIMEPLIST}
+ @cd "${WRKDIR}" && ( \
+ ( ${FIND} -s -d ${MLSRCSBASE} \! -type d | \
+ ${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \
+ ( ${FIND} -s -d ${MLSRCSBASE} -type d | \
+ ${AWK} '{ print "@dirrm ${MLROOTRELATIVE}/" $$0 }' ) ) | \
+ ${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST}
+ @${GREP} -h ^[^@] ${MLPLISTFILES} | sort -u > ${PLIST}
+ @${GREP} -h ^@dirrm ${MLPLISTFILES} | sort -r -u >> ${PLIST}
+ @${ECHO} ' done.'
+.endif
+
# The install target installs the heaps and libraries to their final
# location in ${MLBIN} and ${MLLIB}.
# In case of recompilation, installml installs the sml heap and the
# libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}.
.if defined(WITH_EVERYTHING)
-MLNOINSTALL= CM
-.if defined(WITH_RECOMPILE)
-MLNOINSTALL+= sml.boot.${MLARCH}-unix sml.bin.${MLARCH}-unix
-.endif
MLSRCEXCLUDES=
.for excl in ${MLNOINSTALL}
MLSRCEXCLUDES+= --exclude "${excl}"
@@ -206,11 +233,6 @@ do-install:
${TAR} -xf - -C "${MLROOT}"
@${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${MLSRCS}
@${ECHO} ' done.'
- cd "${PREFIX}" && ( ${FIND} -s -d ${MLSRCSRELATIVE} \! -type d ; \
- ( ${FIND} -s -d ${MLSRCSRELATIVE} -type d | \
- ${AWK} '{ printf "@dirrm "; print }' ) ) > ${MLSRCPLIST}
- ${GREP} -h ^[^@] ${MLPLISTFILES} | sort -u > ${PLIST}
- ${GREP} -h ^@dirrm ${MLPLISTFILES} | sort -r -u >> ${PLIST}
.endif
post-install:
diff --git a/lang/sml-nj-devel/files/plist-everything b/lang/sml-nj-devel/files/plist-everything
index 4b65bce62ca2..2fb22613d83a 100644
--- a/lang/sml-nj-devel/files/plist-everything
+++ b/lang/sml-nj-devel/files/plist-everything
@@ -19,6 +19,8 @@ smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/prec-parser.cm
smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/sml-ast.cm
smlnj/lib/mlrisc-tools/CM/%%MLARCH%%-unix/source-map.cm
smlnj/lib/pgraph-util.cm/CM/%%MLARCH%%-unix/pgraph-util.cm
+smlnj/src/runtime/config/gen-posix-names.sh.orig
+smlnj/src/runtime/objs/mk.%%MLARCH%%-freebsd.orig
@dirrm smlnj/lib/eXene.cm/CM/%%MLARCH%%-unix
@dirrm smlnj/lib/eXene.cm/CM
@dirrm smlnj/lib/eXene.cm