diff options
author | Joseph Koshy <jkoshy@FreeBSD.org> | 2005-01-12 02:44:40 +0000 |
---|---|---|
committer | Joseph Koshy <jkoshy@FreeBSD.org> | 2005-01-12 02:44:40 +0000 |
commit | f59a3974397b5fd9120942e74becc217e843c0c2 (patch) | |
tree | d25c0d36f289a567f79f7a717763f1d544c2bc9e /lang/sml-nj | |
parent | 31535392e95a4165b7711b66ba939abcfb1baa33 (diff) | |
download | ports-f59a3974397b5fd9120942e74becc217e843c0c2.tar.gz ports-f59a3974397b5fd9120942e74becc217e843c0c2.zip |
Notes
Diffstat (limited to 'lang/sml-nj')
-rw-r--r-- | lang/sml-nj/Makefile | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/lang/sml-nj/Makefile b/lang/sml-nj/Makefile index 493e01b4d41d..011f7771b805 100644 --- a/lang/sml-nj/Makefile +++ b/lang/sml-nj/Makefile @@ -7,7 +7,7 @@ PORTNAME= smlnj PORTVERSION= 110.0.7 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang MASTER_SITES= ftp://ftp.research.bell-labs.com/dist/smlnj/release/110.0.7/ \ http://smlnj.cs.uchicago.edu/dist/release/110.0.7/ \ @@ -21,20 +21,18 @@ DISTFILES= bin.x86-unix.tar.Z cm.tar.Z cml.tar.Z \ smlnj-c.tar.Z smlnj-lib.tar.Z EXTRACT_ONLY= config.tar.Z -MAINTAINER= jkoshy@FreeBSD.org +MAINTAINER= joemann@beefree.free.de COMMENT= A popular functional language from Bell Labs # Other mirror sites that generally carry only released versions of SML -# ftp://rodin.stanford.edu/pub/smlnj/release/ # ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/ -# ftp://ftp.ntua.gr/pub/lang/smlnj/release/ -# Mirror sites that keep files around in gzipped format -# ftp://flint.cs.yale.edu/pub/smlnj/release/110.0.6/ DIST_SUBDIR= sml-nj/${PORTVERSION} NO_WRKSUBDIR= yes USE_GMAKE= yes +CONFLICTS= smlnj-110.[1-9][0-9]* + ONLY_FOR_ARCHS= i386 SML_BASE= ${PREFIX}/lib/sml-nj @@ -50,17 +48,21 @@ post-extract: # The build target needs to run $WRKDIR/config/install.sh do-build: cd ${WRKDIR} && unset PWD && \ - FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \ + FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ ./config/install.sh # install target # 1. create installation directories # 2. copy the ./bin directory across # 3. edit bin/.run_sml to override BIN_DIR -# 4. copy all x86-unix directories -# 5. find all .cm files reachable from $WRKDIR/lib and copy them across -# 6. copy the aliases in ./lib changing WRKDIR to SML_LIBDIR -# 7. install links to executables in $PREFIX/bin +# 4. set up temporary symlinks from WRKDIR subdirs to SML_BASE +# 5. run config/install.sh in SML_BASE in order to +# 6. rebuild sml-cm with CM's paths pointing into SML_BASE +# 7. remove the temporary symlinks +# 8. copy all x86-unix directories +# 9. find all .cm files reachable from $WRKDIR/lib and copy them across +# 10. copy the aliases in ./lib changing WRKDIR to SML_LIBDIR +# 11. install links to executables in $PREFIX/bin do-install: ${MKDIR} ${SML_BASE} ${SML_BINDIR} ${SML_LIBDIR} tar -C ${WRKDIR} -cf - bin | tar -C ${SML_BASE} -xf - @@ -68,19 +70,22 @@ do-install: ${SED} -e "s,^BIN_DIR=.*\$$,BIN_DIR=${SML_BINDIR}," \ < ${WRKDIR}/bin/.run-sml > ${SML_BINDIR}/.run-sml ${CHMOD} 755 ${SML_BINDIR}/.run-sml + ${LN} -s ${WRKDIR}/config ${SML_BASE} + ${LN} -s ${WRKDIR}/bin.x86-unix ${SML_BASE} + ${LN} -s ${WRKDIR}/src ${SML_BASE} + ${RM} ${SML_BINDIR}/.heap/sml* + cd ${SML_BASE} && config/install.sh + ${RM} ${SML_BASE}/config + ${RM} ${SML_BASE}/bin.x86-unix + ${RM} ${SML_BASE}/src cd ${WRKDIR} && tar -cf - `${FIND} . -name x86-unix` | \ tar -C ${SML_BASE} -xf - cd ${WRKDIR} && tar -cf - `${SCRIPTDIR}/get-cm ${WRKDIR}` | \ tar -C ${SML_BASE} -xf - - for file in ${WRKDIR}/lib/*; do\ - ${SED} -e "s,${WRKDIR},${SML_BASE}," < $$file > \ - ${SML_LIBDIR}/`${BASENAME} $$file`; \ + for f in ${WRKDIR}/lib/*; do\ + ${SED} -e "s,${WRKDIR},${SML_BASE}," < $$f > \ + ${SML_LIBDIR}/`${BASENAME} $$f`; \ done - # do a minimal re-"install" to fix autoloading problems - # as reported in PR ports/40866 - ${CP} -pr ${WRKDIR}/config ${SML_BASE} - cd ${SML_BASE} && config/install.sh - ${RM} -rf ${SML_BASE}/config @${CHOWN} -R ${BINOWN}:${BINGRP} ${SML_BINDIR} @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${SML_SRCDIR} .for file in ${SML_EXES} |