diff options
-rw-r--r-- | dev-lisp/clozurecl/Manifest | 2 | ||||
-rw-r--r-- | dev-lisp/clozurecl/clozurecl-1.13.ebuild | 81 |
2 files changed, 83 insertions, 0 deletions
diff --git a/dev-lisp/clozurecl/Manifest b/dev-lisp/clozurecl/Manifest index 8b29ee1a98d7..53d14fd768cc 100644 --- a/dev-lisp/clozurecl/Manifest +++ b/dev-lisp/clozurecl/Manifest @@ -1,3 +1,5 @@ DIST ccl-1.12.2-darwinx86.tar.gz 23942873 BLAKE2B 980403852c086c49ed467d391fbcf776b32c9c8cf3352ce71249ccd3cb0548904421ebd20512abef77b888de4a102a0fb19d1117c8a2dd14c3b618feea205f63 SHA512 96ac720ea1f210a89b17ad2a617f55bb04bece3c06bb2433191dab99886a2ad3529716e35624bd4b0d4c9eec2e9ccd80c0d894b75766ac1e361185cd7dfe3e92 DIST ccl-1.12.2-linuxx86.tar.gz 20997426 BLAKE2B 7bc9037b85964be6363f3082af6abf18d519e9a155edd34f4de495aedb5bfec8f43e4403b3b3bcece17c64bb7a381163bbaa03e1d2b9db9aee0a53deef537cf1 SHA512 4cf6960e41347ae980f8ea7366434a016e2a47a9ae090a77e52a2145233454cc97cd4812851d0368024548c46aa0997abb2791992125b5857a9f5f662890338b +DIST ccl-1.13-darwinx86.tar.gz 24020406 BLAKE2B 3d8e973f2fe9a48f62392a1106d12c6d2d617e26c602103e563ae654a317cb2af9bb2ac2f65e617dee237ac476b3daacd4b0cf02baa7878b6c1e41288371099b SHA512 777cf4e41af46f7b72ffcc5db2dab0e1542a7522cdf8b81200b760d6be404adb8d4ef9773590b562d839fa07979486aee1193300ce59b444a505acc135f51df8 +DIST ccl-1.13-linuxx86.tar.gz 19507771 BLAKE2B 8699178dcfc5b1435bacb4358c81544027a0fd1fbae072cd93e75ef58b90dde76b9c8f7cd13b889d9693f0f86fd2c593e8692c8cf9e345b085f05d582ac91849 SHA512 5180bedd5581cef27be52c2738d9d62bca546ccca1f6d75122d8018be0187d6e026401870879c4e283787ba980482d575ed331c4a0c28638ce62b6b10730ac1e DIST ccl.html 962023 BLAKE2B 6dcda62b4d18e83b3b73d554a4dd4255411944831e99464e20c9840f97bccd1bdf74b1d718620b2f6aa5e4f297e1925dbd3da6c48a5977b517caa194f62a37d4 SHA512 536ae7d858846b20bc9cee52292549ff3c2dd28565fcb3a7a1bf706d4f59799e83389d9ea0e73f943f815515c6bc3aa33222d8afde362bc503786b09eb784230 diff --git a/dev-lisp/clozurecl/clozurecl-1.13.ebuild b/dev-lisp/clozurecl/clozurecl-1.13.ebuild new file mode 100644 index 000000000000..c7bd15205523 --- /dev/null +++ b/dev-lisp/clozurecl/clozurecl-1.13.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs vcs-clean + +MY_PN=ccl +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Common Lisp implementation, derived from Digitool's MCL product" +HOMEPAGE="https://ccl.clozure.com" +SRC_URI=" + x86? ( https://github.com/Clozure/ccl/releases/download/v${PV}/${MY_P}-linuxx86.tar.gz ) + amd64? ( https://github.com/Clozure/ccl/releases/download/v${PV}/${MY_P}-linuxx86.tar.gz ) + x64-macos? ( https://github.com/Clozure/ccl/releases/download/v${PV}/${MY_P}-darwinx86.tar.gz ) + doc? ( https://ccl.clozure.com/docs/ccl.html )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc" + +RDEPEND=">=dev-lisp/asdf-2.33-r3:=" +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/${MY_PN} +ENVD="${T}/50ccl" + +src_prepare() { + default + cp "${EPREFIX}/usr/share/common-lisp/source/asdf/build/asdf.lisp" tools/ || die +} + +src_configure() { + if use x64-macos; then + CCL_RUNTIME=dx86cl64; CCL_HEADERS=darwin-x86-headers64; CCL_KERNEL=darwinx8664 + elif use x86; then + CCL_RUNTIME=lx86cl; CCL_HEADERS=x86-headers; CCL_KERNEL=linuxx8632 + elif use amd64; then + CCL_RUNTIME=lx86cl64; CCL_HEADERS=x86-headers64; CCL_KERNEL=linuxx8664 + fi +} + +src_compile() { + emake -C lisp-kernel/${CCL_KERNEL} clean + emake -C lisp-kernel/${CCL_KERNEL} all CC="$(tc-getCC)" + + unset CCL_DEFAULT_DIRECTORY + ./${CCL_RUNTIME} -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)' || die "Compilation failed" + + # remove non-owner write permissions on the full-image + chmod go-w ${CCL_RUNTIME}{,.image} || die + + esvn_clean +} + +src_install() { + local target_dir="/usr/$(get_libdir)/${PN}" + local prefix_dir="${EPREFIX}/${target_dir#/}" + + mkdir -p "${D}/${prefix_dir#/}" + + find . -type f -name '*fsl' -delete || die + rm -f lisp-kernel/${CCL_KERNEL}/*.o || die + cp -a compiler level-0 level-1 lib library lisp-kernel scripts \ + tools xdump ${CCL_HEADERS} ${CCL_RUNTIME} ${CCL_RUNTIME}.image \ + "${D}/${prefix_dir#/}" || die + + echo "CCL_DEFAULT_DIRECTORY=${prefix_dir}" > "${ENVD}" + doenvd "${ENVD}" + + dosym "${target_dir}/${CCL_RUNTIME}" /usr/bin/ccl + dodoc doc/release-notes.txt + + if use doc ; then + dodoc "${DISTDIR}/ccl.html" + dodoc -r doc/manual + dodoc -r examples + fi +} |