summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/smlnj/smlnj-110.67-r2.ebuild')
-rw-r--r--dev-lang/smlnj/smlnj-110.67-r2.ebuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/dev-lang/smlnj/smlnj-110.67-r2.ebuild b/dev-lang/smlnj/smlnj-110.67-r2.ebuild
new file mode 100644
index 000000000000..38b4015efc88
--- /dev/null
+++ b/dev-lang/smlnj/smlnj-110.67-r2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/smlnj/smlnj-110.67-r2.ebuild,v 1.1 2008/03/27 10:47:49 hkbst Exp $
+
+inherit eutils
+
+DESCRIPTION="Standard ML of New Jersey compiler and libraries"
+HOMEPAGE="http://www.smlnj.org"
+
+#BASE_URI="http://smlnj.cs.uchicago.edu/dist/working/${PV}/"
+BASE_URI="mirror://gentoo/${P}-"
+
+#Use the fetch_files.sh script in subdir files/ to fetch and
+#version these files if they aren't on Gentoo mirrors.
+#For example if you're doing a local bump.
+FILES="
+config.tgz
+
+cm.tgz
+compiler.tgz
+runtime.tgz
+system.tgz
+MLRISC.tgz
+smlnj-lib.tgz
+
+ckit.tgz
+nlffi.tgz
+
+cml.tgz
+eXene.tgz
+
+ml-lex.tgz
+ml-yacc.tgz
+ml-burg.tgz
+ml-lpt.tgz
+
+pgraph.tgz
+trace-debug-profile.tgz
+
+heap2asm.tgz
+
+smlnj-c.tgz
+"
+
+#use amd64 in 32-bit mode
+SRC_URI="amd64? ( ${BASE_URI}boot.x86-unix.tgz )
+ ppc? ( ${BASE_URI}boot.ppc-unix.tgz )
+ sparc? ( ${BASE_URI}boot.sparc-unix.tgz )
+ x86? ( ${BASE_URI}boot.x86-unix.tgz )"
+
+for file in ${FILES}; do
+ SRC_URI+=" ${BASE_URI}${file} "
+done
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~ppc ~x86"
+IUSE=""
+
+S="${WORKDIR}"
+
+#SMLNJ_DEST="/usr/lib/smlnj"
+#SMLNJ_TARGETS="./config/targets"
+
+#GEN_POSIX_NAMES_PATCH="15i\n#\n.\nj\nw\nq"
+
+#ARCH_BOOT="sml.boot.${ARCH}-unix"
+
+src_unpack() {
+ mkdir -p "${S}"
+ for file in ${A}; do
+ [[ ${file} != ${P}-config.tgz ]] && mv "${DISTDIR}/${file}" "${S}/${file#${P}-}"
+ done
+ unpack ${P}-config.tgz && rm config/*.bat
+ echo SRCARCHIVEURL=\"file:/${S}\" > "${S}"/config/srcarchiveurl
+}
+
+src_compile() {
+# echo "request ml-burg" >> $SMLNJ_TARGETS
+# echo "request eXene" >> $SMLNJ_TARGETS
+
+ SMLNJ_HOME="${S}" ./config/install.sh || die "compilation failed"
+}
+
+_src_install() {
+ insinto /usr
+ doins -R bin lib
+}
+
+src_install() {
+ mkdir -p "${D}"/usr
+ mv {bin,lib} "${D}"/usr
+
+ for file in "${D}"/usr/bin/{*,.*}; do
+ [[ -f ${file} ]] && sed "2iSMLNJ_HOME=/usr" -i ${file}
+# [[ -f ${file} ]] && sed "s:${WORKDIR}:/usr:" -i ${file}
+ done
+
+ cd "${D}"
+ epatch "${FILESDIR}"/ml-makedepend.patch
+}
+
+_src_install() {
+ dodir ${SMLNJ_DEST}
+ cd "${WORKDIR}"
+
+ sed -i -e "s/head -1/head -n 1/" bin/.run-sml
+
+ exeinto ${SMLNJ_DEST}/bin
+ doexe bin/{.run-sml,.link-sml,.arch-n-opsys,ml-makedepend,ml-build}
+
+ exeinto ${SMLNJ_DEST}/bin/.run
+ doexe bin/.run/*
+
+ insinto ${SMLNJ_DEST}/bin/.heap
+ doins bin/.heap/*
+
+ for i in ml-lex ml-yacc sml ml-burg
+ do
+ dosym .run-sml ${SMLNJ_DEST}/bin/$i
+ done
+
+ cp -Rp "${WORKDIR}"/lib "${D}/${SMLNJ_DEST}"
+
+ dodir /etc/env.d
+ echo -e SMLNJ_HOME=${SMLNJ_DEST} > "${D}"/etc/env.d/50smlnj
+
+ #need to provide symlinks into /usr/bin
+ dodir /usr/bin
+ dosym ${SMLNJ_DEST}/bin/ml-build /usr/bin/
+ dosym ${SMLNJ_DEST}/bin/ml-burg /usr/bin
+ dosym ${SMLNJ_DEST}/bin/ml-lex /usr/bin
+ dosym ${SMLNJ_DEST}/bin/ml-makedepend /usr/bin
+ dosym ${SMLNJ_DEST}/bin/ml-yacc /usr/bin
+ dosym ${SMLNJ_DEST}/bin/sml /usr/bin
+}