summaryrefslogtreecommitdiff
path: root/dev-lang/smlnj/smlnj-110.75.ebuild
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
committerBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
commit7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch)
tree1684924656132935256e034f35f92abee6623265 /dev-lang/smlnj/smlnj-110.75.ebuild
Added ebuilds for kogaion desktop
Diffstat (limited to 'dev-lang/smlnj/smlnj-110.75.ebuild')
-rw-r--r--dev-lang/smlnj/smlnj-110.75.ebuild113
1 files changed, 113 insertions, 0 deletions
diff --git a/dev-lang/smlnj/smlnj-110.75.ebuild b/dev-lang/smlnj/smlnj-110.75.ebuild
new file mode 100644
index 00000000..1a61ddb2
--- /dev/null
+++ b/dev-lang/smlnj/smlnj-110.75.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/smlnj/smlnj-110.75.ebuild,v 1.4 2012/10/22 12:14:09 hkbst Exp $
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Standard ML of New Jersey compiler and libraries"
+HOMEPAGE="http://www.smlnj.org"
+
+BASE_URI="http://smlnj.cs.uchicago.edu/dist/working/${PV}"
+
+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 -> ${P}-boot.x86-unix.tgz )
+ ppc? ( ${BASE_URI}/boot.ppc-unix.tgz -> ${P}-boot.ppc-unix.tgz )
+ sparc? ( ${BASE_URI}/boot.sparc-unix.tgz -> ${P}-boot.sparc-unix.tgz )
+ x86? ( ${BASE_URI}/boot.x86-unix.tgz -> ${P}-boot.x86-unix.tgz )"
+
+for file in ${FILES}; do
+ SRC_URI+=" ${BASE_URI}/${file} -> ${P}-${file} "
+done
+
+LICENSE="BSD"
+SLOT="0"
+
+#sparc support should be there but is untested
+KEYWORDS="-* ~amd64 ~ppc ~x86"
+IUSE=""
+
+S=${WORKDIR}
+
+src_unpack() {
+ mkdir -p "${S}"
+ for file in ${A}; do
+ [[ ${file} != ${P}-config.tgz ]] && cp "${DISTDIR}/${file}" "${S}/${file#${P}-}"
+ done
+
+# make sure we don't use the internet to download anything
+ unpack ${P}-config.tgz && rm config/*.bat
+ echo SRCARCHIVEURL=\"file:/${S}\" > "${S}"/config/srcarchiveurl
+}
+
+DIR=/usr
+
+src_prepare() {
+ # respect CC et al. (bug 243886)
+ mkdir base || die # without this unpacking runtime will fail
+ ./config/unpack "${S}" runtime || die
+ for file in mk.*; do
+ sed -e "/^AS/s:as:$(tc-getAS):" \
+ -e "/^CC/s:gcc:$(tc-getCC):" \
+ -e "/^CPP/s:gcc:$(tc-getCC):" \
+ -e "/^CFLAGS/{s:-O[0123s]:: ; s:=:= ${CFLAGS}:}" \
+ -i base/runtime/objs/${file}
+ done
+
+# # stash bin and lib somewhere (bug 248162)
+# sed -e "/@BINDIR@/s:\$BINDIR:${DIR}:" \
+# -e "/@LIBDIR@/s:\$LIBDIR:${DIR}/lib:" \
+# -i config/install.sh || die
+}
+
+src_compile() {
+ SMLNJ_HOME="${S}" ./config/install.sh || die "compilation failed"
+}
+
+src_install() {
+ mkdir -p "${D}"/${DIR} || die
+ mv bin lib "${D}"/${DIR} || die
+
+# for file in "${D}"/${DIR}/bin/*; do
+# dosym /${DIR}/bin/$(basename "${file}") /usr/bin/$(basename "${file}") || die
+# done
+
+# for file in $(find "${D}"/usr/lib/${PN}/bin/ -maxdepth 1 -type f ! -name ".*"); do
+# dosym /${DIR}/bin/$(basename "${file}") /usr/bin/$(basename "${file}") || die
+# done
+
+ for file in "${D}"/usr/bin/{*,.*}; do
+ [[ -f ${file} ]] && sed "2iSMLNJ_HOME=/usr" -i ${file}
+ # [[ -f ${file} ]] && sed "s:${WORKDIR}:/usr:" -i ${file}
+ done
+}