summaryrefslogtreecommitdiff
path: root/dev-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/Manifest.gzbin3366 -> 3363 bytes
-rw-r--r--dev-lisp/cmucl/Manifest6
-rw-r--r--dev-lisp/cmucl/cmucl-21e.ebuild106
-rw-r--r--dev-lisp/cmucl/files/cmucl-21e-version.patch9
-rw-r--r--dev-lisp/cmucl/metadata.xml1
5 files changed, 121 insertions, 1 deletions
diff --git a/dev-lisp/Manifest.gz b/dev-lisp/Manifest.gz
index 6c6130590dc9..33e36e555114 100644
--- a/dev-lisp/Manifest.gz
+++ b/dev-lisp/Manifest.gz
Binary files differ
diff --git a/dev-lisp/cmucl/Manifest b/dev-lisp/cmucl/Manifest
index 38d4e9b25f5c..611172872ca5 100644
--- a/dev-lisp/cmucl/Manifest
+++ b/dev-lisp/cmucl/Manifest
@@ -1,8 +1,12 @@
AUX cmucl-21c-build.patch 733 BLAKE2B 51df14314e979b919ff307aa2b165106bf7d977cee7dee1002bc89cee9f8b175494ca2d9e7b1a87447b3c11e944a75ec58af661d54adeceef61a8a4c5435824b SHA512 ca4bab7ac344ef83064081252e30d4704fe5f3006f58e90024cd51a02ab82341c651ec4117e8b14912b071d730acee76e330e237e7942597bb73b94eb73fbdda
AUX cmucl-21c-execstack-fixes.patch 3990 BLAKE2B 962e4aa31d703128e871c39bafb1be7e42be56619c8c803e745a68a0b94faa43c392b78e96d4a10758dd564c3e1791bed103edcbf986717960c1129e7f019de9 SHA512 bb32dfffa6b737af8be924f194112863b64010b00b30caf92c023a16ac1d2884f51ee724b57cdeb2786f10aad6bd0054a835c94f03b911eca4648c2e5927ce3b
+AUX cmucl-21e-version.patch 131 BLAKE2B 61378abebc9491869af224d59794eb6fedc9419792ce945b39eb34067a932406c098b8481b5865c14c262c0fe8bf87c35d20815fb4d2ed7e0949698fd0d863e6 SHA512 9ec9e5b632ac31dc08fde9d9ac0a2bea0232495a4af1c2043024df3a03b2f9c8bdf7922f44957dbfe266224e6965c3449ad62dd73787ff066ef8f7b8dbb09cd0
AUX cmuclrc 305 BLAKE2B 1943c5ca8f43ce890e37949fa71cbeb24a5f849c827b3e05ec240ce22527b3bea550eaf9a74c1e98f2a9c7adda4f2caf84341cf1f42e6a26f17d784769ef1f62 SHA512 36ae348795f27a7aae2e1cf10376606b9a6898b4c4f0e6da692b3e60bed21e2825ac766a51fb648f1365b238046efd155e80d70421ff65ecffe5b68342895740
AUX site-init.lisp.in 1839 BLAKE2B d4bd6da1c3d0902b96af4abac48f981f21d4494f3da6dab9d398c3af873c4fbf23a6c9cda878099a522787875e3882fc635859253769f56d6275721bea0a7853 SHA512 374e5acf970b1bd26d2318b678cba509296f2356a4672648f8522387c216288e8f43b514004b0d0c98da5d03a5db10435d5f42f57db88c916691eb4ae93f126a
DIST cmucl-21c-x86-linux.tar.bz2 11127872 BLAKE2B b9089a40b4a0738f9faccdfddb7b33256a561a07cedc3ef9b3ec7afddbbb9de493c2ffb9af4a8d6b6ce70ef857576870901a6b7a607f52bdaf8a0f53ddd2d07e SHA512 9097220aef612aa3d8367a86a86dc62d86d918190d2688f6e90d415c9f9d881f97f0829e9d310f700b014821d30bf5a15f7a05cdb9201c9deab10a7231e0bcb6
+DIST cmucl-21e-x86-linux.tar.bz2 11305452 BLAKE2B d7dde5afb0d6b0a42506c2a7bef09e93ddfb415eea1d41db95d63bdfc3d6f654859dabd641b4fd78c1ba4c36a6f6b5ac6318d4124a0cd21b389dd448e4bc109a SHA512 84193903a75356a28e14b4dc2f6c4dd20d6f0d424a24150c2f9b1094b4a91def4c85b8c5ade326487ca34a7705096c09109329f1eedba728e63e70b1dc011b5d
DIST cmucl-src-21c.tar.bz2 6947775 BLAKE2B 828075c71ddf459d09076199af4a02f2294063bd9ef0beb6d4bcbb473dd0ff8cfdff7faa9416f640e125603301fa37c73a280db597bf4301c22fbe88c4cc2dbb SHA512 98ea0516b71af7c6f92b5f67f6c1545949fcd1dc95e1238a989c1c2858a75e2751e5eb765b29812ad5cc5de015333787dac2a63a9ddea9bb83cfd72fef6794f4
+DIST cmucl-src-21e.tar.bz2 7161287 BLAKE2B 1e52643917f05bbd2fa45f3cbed894506458a13047faf077388066035dfcb66440879c8cc4f79592b32dd5eb85679e3bb9fad5d9327f86e1c30e8446ffdda281 SHA512 fc2647fdd9adebe9c9a6a6398ef43203b750ff9c9437fec2b0c9b6fe2a50e430089308f0ff2362c3bc76724df9168c95293191e45489b3a5051942f63c0ed9b2
EBUILD cmucl-21c.ebuild 2996 BLAKE2B 39eee56c004c084a654d72d431d4534bea499118c8fab86934af2197b848946858332e9202614bb631b1814d547c6d93ea43f3a7809b8c397064bfe3502a68c3 SHA512 e183479aab3a427deb618c0d69f1a31348b91118385a4210cd39de0e0ea5439a0a1f85d9a8249b5b91651fa2befefb80ab50344da8cc4e8df1d8cee046eee231
-MISC metadata.xml 1393 BLAKE2B 846f8c77c97261eaf9a47f9f003d81e6807df36809dabb0e3d08bd7db022be8df791a4ecfbaa997d810e43fa749b1aef8e5d96ced95a9d0a3d2a2eb4de638710 SHA512 63fb77e29fddc06d4d82ed746fa138fd4a49165d06698ce5ae03fc46a5aee7bfa0331832cfe42bc987ec5131278e747f7c3400d2a66a5cff171470117d0e62a5
+EBUILD cmucl-21e.ebuild 3002 BLAKE2B 82178a34bda45caa5da6c5a5683a394c037ed7a3499d331be72ad6fe180c4f8a5cda2ce4ab83bce3e432471064b265ac0bc29c147141bdaa9d6815f1ae2a8f12 SHA512 a69d3247c80b0c1977bda75d3665d3b7cbb6aa901602355948966b6cb3b10b094b5258c8636a7252554821b1740849138273da1f721c84f2d7a81110bfbdb48d
+MISC metadata.xml 1444 BLAKE2B a4f4477341e36eb3a953d79ea441d55fa19693b88fc64d2b36b45b5519e4123aa6117397fb4d8efa0a5f3928b4d65112d48ef5fa757c43ea6f0ee5349f685fd7 SHA512 b07a9e2290d3c5c16acd765302756a0468a689a8b72b6fbefc08578695e2ae5cbb60a66a0759c3f6bea57e850e54bf05d144248783f48de766addb90af1287fc
diff --git a/dev-lisp/cmucl/cmucl-21e.ebuild b/dev-lisp/cmucl/cmucl-21e.ebuild
new file mode 100644
index 000000000000..88d5d6bc3cc7
--- /dev/null
+++ b/dev-lisp/cmucl/cmucl-21e.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV=${PV:0:3}
+
+DESCRIPTION="CMU Common Lisp is an implementation of ANSI Common Lisp"
+HOMEPAGE="https://www.cons.org/cmucl/"
+SRC_URI="
+ https://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-src-${MY_PV}.tar.bz2
+ https://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-${MY_PV}-x86-linux.tar.bz2
+"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="-* ~x86"
+IUSE="doc gui source"
+
+CDEPEND=">=dev-lisp/asdf-2.33-r3:=
+ x11-libs/motif:0"
+DEPEND="${CDEPEND}
+ app-alternatives/bc
+ doc? ( virtual/latex-base )"
+RDEPEND="${CDEPEND}"
+
+TARGET=linux-4
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-21c-execstack-fixes.patch
+ eapply "${FILESDIR}"/${P}-version.patch
+ eapply_user
+ #cp "${FILESDIR}"/os-common.h src/lisp/ || die
+ cp /usr/share/common-lisp/source/asdf/build/asdf.lisp src/contrib/asdf/ || die
+}
+
+src_compile() {
+ local cmuopts=$(usex gui "" -u)
+ local buildimage="bin/lisp -batch"
+
+ env CC="$(tc-getCC)" bin/build.sh -v "-gentoo-${PR}" -C "" \
+ -o "${buildimage}" ${cmuopts} \
+ || die "Cannot build the compiler"
+
+ # Compile up the asdf and defsystem modules
+ ${TARGET}/lisp/lisp -noinit -nositeinit -batch << EOF || die
+(in-package :cl-user)
+(setf (ext:search-list "target:")
+ '("$TARGET/" "src/"))
+(setf (ext:search-list "modules:")
+ '("target:contrib/"))
+
+(compile-file "modules:asdf/asdf")
+(compile-file "modules:defsystem/defsystem")
+EOF
+
+ # Documentation
+ if use doc; then
+ pushd src/docs/cmu-user > /dev/null \
+ || die "directory src/docs/cmu-user does not exist"
+ emake
+ cd ../internals || die "directory src/docs/internals does not exist"
+ emake
+ popd > /dev/null || die
+ fi
+}
+
+src_install() {
+ DOCDIR=share/doc/${PF} bin/make-dist.sh -S -g -G root -O root \
+ -M share/man/man1 -V ${MY_PV} -A x86 -o linux ${TARGET} \
+ || die "Cannot build installation archive"
+ # Necessary otherwise tar will fail
+ dodir /usr
+ pushd "${D}"/usr > /dev/null || die
+ tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.tar.gz \
+ || die "Cannot install main system"
+ if use gui ; then
+ tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.extra.tar.gz \
+ || die "Cannot install extra files"
+ fi
+ if use source; then
+ # Necessary otherwise tar will fail
+ dodir /usr/share/common-lisp/source/${PN}
+ cd "${D}"/usr/share/common-lisp/source/${PN} || die
+ tar --strip-components 1 -xzpf "${WORKDIR}"/cmucl-src-${MY_PV}.tar.gz \
+ || die "Cannot install sources"
+ fi
+ popd > /dev/null || die
+
+ # Install site config file
+ sed "s,@PF@,${PF},g ; s,@VERSION@,$(date +%F),g" \
+ < "${FILESDIR}"/site-init.lisp.in \
+ > "${D}"/usr/$(get_libdir)/cmucl/site-init.lisp \
+ || die "Cannot fix site-init.lisp"
+ insinto /etc/common-lisp
+ doins "${FILESDIR}"/cmuclrc
+
+ # Documentation
+ if use doc; then
+ dodoc src/docs/cmu-user/cmu-user.pdf src/docs/internals/design.pdf
+ docompress -x /usr/share/doc/${PF}/{cmu-user,design}.pdf
+ fi
+}
diff --git a/dev-lisp/cmucl/files/cmucl-21e-version.patch b/dev-lisp/cmucl/files/cmucl-21e-version.patch
new file mode 100644
index 000000000000..204e1a396593
--- /dev/null
+++ b/dev-lisp/cmucl/files/cmucl-21e-version.patch
@@ -0,0 +1,9 @@
+--- cmucl/bin/build.sh
++++ cmucl/bin/build.sh
+@@ -40,5 +40,5 @@
+ ENABLE4="yes"
+
+-version=21d
++version=21e
+ SRCDIR=src
+ BINDIR=bin
diff --git a/dev-lisp/cmucl/metadata.xml b/dev-lisp/cmucl/metadata.xml
index bf312af3c421..f47933e812b4 100644
--- a/dev-lisp/cmucl/metadata.xml
+++ b/dev-lisp/cmucl/metadata.xml
@@ -31,6 +31,7 @@ ANSI Common Lisp standard. Here is a summary of its main features:
</longdescription>
<use>
<flag name="doc">Installs package documentation</flag>
+<flag name="gui">Build CLX, CLM, or Hemlock</flag>
<flag name="source">Include source code for CMUCL in installation</flag>
<flag name="X">Build CLX, CLM, or Hemlock</flag>
</use>