# Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ IUSE="" DESCRIPTION="Standard ML of New Jersey compiler and libraries" SRC_URI="http://www.smlnj.org/dist/release/${PV}/config.tar.Z http://www.smlnj.org/dist/release/${PV}/bin.x86-unix.tar.Z http://www.smlnj.org/dist/release/${PV}/runtime.tar.Z http://www.smlnj.org/dist/release/${PV}/ml-lex.tar.Z http://www.smlnj.org/dist/release/${PV}/ml-yacc.tar.Z http://www.smlnj.org/dist/release/${PV}/ml-burg.tar.Z http://www.smlnj.org/dist/release/${PV}/sml-nj.tar.Z http://www.smlnj.org/dist/release/${PV}/smlnj-c.tar.Z http://www.smlnj.org/dist/release/${PV}/smlnj-lib.tar.Z http://www.smlnj.org/dist/release/${PV}/cm.tar.Z http://www.smlnj.org/dist/release/${PV}/cml.tar.Z http://www.smlnj.org/dist/release/${PV}/eXene.tar.Z" HOMEPAGE="http://www.smlnj.org/" LICENSE="BSD" KEYWORDS="-* ~x86" SLOT="0" DEPEND="virtual/glibc" SMLNJ_DEST="/usr/share/smlnj" SMLNJ_TARGETS="./config/targets" GEN_POSIX_NAMES_PATCH="15i\n#\n.\nj\nw\nq" ARCH_BOOT="bin.x86-unix" src_unpack() { unpack ${A} dirs=`ls ${WORKDIR}` mkdir ${WORKDIR}/src for i in $dirs; do if test "$i" != "config" -a "$i" != ${ARCH_BOOT}; then mv ${WORKDIR}/${i} ${WORKDIR}/src fi done printf ${GEN_POSIX_NAMES_PATCH} | ed -s ${WORKDIR}/src/runtime/config/gen-posix-names.sh # This patch removes -ansi flags from the x86-linux Makefiles because they conflict # with both gcc-3.3 and will cause issues is sysmacros.h is included as well. # Closes Bug #30207 epatch ${FILESDIR}/${P}-gcc33-quirk-fix.patch # smlnj generates a startup script based on the location of the executables # in the filesystem during bootstrapping phase. This solution gets fooled # by portage as compilation location is different than installation location. # This patch solves this problem: epatch ${FILESDIR}/${P}-run-sml-bindir.patch } src_compile() { SMLNJ_HOME=${WORKDIR} cd ${WORKDIR} ./config/install.sh || die } src_install () { dodir ${SMLNJ_DEST} cp -r ${WORKDIR}/{bin,lib} ${D}${SMLNJ_DEST} || die dodir /etc/env.d echo -e SMLNJ_HOME=${SMLNJ_DEST} > ${D}/etc/env.d/10smlnj #need to provide symlinks into /usr/bin dodir /usr/bin dosym ${SMLNJ_DEST}/bin/ml-burg /usr/bin dosym ${SMLNJ_DEST}/bin/ml-lex /usr/bin dosym ${SMLNJ_DEST}/bin/ml-yacc /usr/bin dosym ${SMLNJ_DEST}/bin/sml /usr/bin }