diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-07-09 18:42:36 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-07-09 18:42:36 +0000 |
commit | 0207cc6d7eb84d0bab8a544c8499b56c81ba529f (patch) | |
tree | 7b000533dbefa7c0a34bc183eec8a5b2a1577f17 /lang | |
parent | 805cfd026cd036069fca5d5f0bc1b9f2adb58894 (diff) | |
download | ports-0207cc6d7eb84d0bab8a544c8499b56c81ba529f.tar.gz ports-0207cc6d7eb84d0bab8a544c8499b56c81ba529f.zip |
Notes
Diffstat (limited to 'lang')
-rw-r--r-- | lang/sml-nj-devel/Makefile | 42 | ||||
-rw-r--r-- | lang/sml-nj-devel/files/plist-everything | 2 |
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 |