From c9ac6938788ee1708e7c900f8f78e9037aea1ca1 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 29 Jul 2022 15:07:44 +0100 Subject: gentoo auto-resync : 29:07:2022 - 15:07:44 --- dev-lang/smlnj/smlnj-110.99.3.ebuild | 151 +++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 dev-lang/smlnj/smlnj-110.99.3.ebuild (limited to 'dev-lang/smlnj/smlnj-110.99.3.ebuild') diff --git a/dev-lang/smlnj/smlnj-110.99.3.ebuild b/dev-lang/smlnj/smlnj-110.99.3.ebuild new file mode 100644 index 000000000000..9186f5e6aefb --- /dev/null +++ b/dev-lang/smlnj/smlnj-110.99.3.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit 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=" +doc.tgz + +config.tgz + +asdl.tgz +cm.tgz +compiler.tgz +runtime.tgz +system.tgz +MLRISC.tgz +smlnj-lib.tgz +old-basis.tgz + +ckit.tgz +nlffi.tgz + +cml.tgz +eXene.tgz + +ml-lpt.tgz +ml-lex.tgz +ml-yacc.tgz +ml-burg.tgz + +pgraph.tgz +trace-debug-profile.tgz + +heap2asm.tgz + +smlnj-c.tgz +" + +SRC_URI=" + amd64? ( ${BASE_URI}/boot.amd64-unix.tgz -> ${P}-boot.amd64-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 + +S="${WORKDIR}" + +LICENSE="BSD" +SLOT="0" + +# sparc support should be there but is untested +KEYWORDS="~amd64 ~ppc ~x86" + +src_unpack() { + mkdir -p "${S}" || die + local file + for file in ${A} ; do + if [[ ${file} != ${P}-config.tgz ]] ; then + cp "${DISTDIR}/${file}" "${S}/${file#${P}-}" || die + fi + done + + # make sure we don't use the internet to download anything + unpack ${P}-config.tgz + rm config/*.bat || die + echo SRCARCHIVEURL=\"file:/${S}\" > "${S}"/config/srcarchiveurl + + mkdir base || die # without this unpacking runtime will fail + ./config/unpack "${S}" runtime || die + + # Unpack asdl to fix autoconf linker check + unpack "${S}"/asdl.tgz +} + +src_prepare() { + default + + # respect CC et al. (bug 243886) + 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/mk.* || die + sed -e "/^AS/s|as|$(tc-getAS)|" \ + -e "/^AR/s|ar|$(tc-getAR)|" \ + -e "/^CC/s|cc|$(tc-getCC)|" \ + -e "/^CPP/s|/lib/cpp|$(tc-getCPP)|" \ + -e "/^RANLIB/s|ranlib|$(tc-getRANLIB)|" \ + -i base/runtime/objs/makefile || die + + sed -i "s|nm |$(tc-getNM) |g" config/chk-global-names.sh || die + sed -i "/^AC_PATH_PROG/s|\[ld\]|\[$(tc-getLD)\]|" asdl/configure.ac || die +} + +src_compile() { + local config_opts=( ) + use amd64 && config_opts+=( "-default 64" ) # force 64-bit build for amd64 + + SMLNJ_HOME="${S}" ./config/install.sh ${config_opts[@]} || + die "compilation failed" +} + +src_install() { + local DIR=/usr/$(get_libdir)/${PN} + local i + + local file + for file in bin/{*,.*} ; do + [[ -f ${file} ]] && + sed -e "2iSMLNJ_HOME=${EPREFIX}/${DIR}" \ + -e "s|${WORKDIR}|${EPREFIX}/${DIR}|" \ + -i ${file} + done + + newbin ./config/_heap2exec heap2exec + exeinto ${DIR}/bin + pushd bin || die + for i in {*,.*} ; do + [[ -f ${i} ]] && doexe ${i} + done + for i in ml-* sml ; do + dosym ../../${DIR}/bin/${i} /usr/bin/${i} + done + popd || die + + exeinto ${DIR}/bin/.run + pushd bin/.run || die + for i in run* ; do + doexe ${i} + done + popd || die + + insinto ${DIR}/bin/.heap + doins bin/.heap/* + + insinto ${DIR} + doins -r lib + doman doc/man/man*/*.* + dodoc -r doc/* +} -- cgit v1.2.3