123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # Copyright 1999-2013 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 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
- }
|