summaryrefslogtreecommitdiff
path: root/dev-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/Manifest.gzbin3368 -> 3368 bytes
-rw-r--r--dev-lisp/sbcl/Manifest4
-rw-r--r--dev-lisp/sbcl/files/sb-posix-test-2.5.0.patch32
-rw-r--r--dev-lisp/sbcl/sbcl-2.5.0.ebuild271
4 files changed, 307 insertions, 0 deletions
diff --git a/dev-lisp/Manifest.gz b/dev-lisp/Manifest.gz
index 783a6d9ee228..6c6f7f3c00aa 100644
--- a/dev-lisp/Manifest.gz
+++ b/dev-lisp/Manifest.gz
Binary files differ
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index f22262497021..ef06e95e229f 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -2,6 +2,7 @@ AUX build-id-2.4.3.patch 473 BLAKE2B 9712cee94d0485d7eff99940479aeea52830a70d5fb
AUX concurrency-test-2.0.1.patch 587 BLAKE2B 3c7f73f7efe711f400f830cbd53b6448aeba41e14f4b229b0260d62c494ffdf9ef9687d916aa108035b53065598a8a51c92e086509b2cdabb2f6b2a7acb0b718 SHA512 c1223eda1a6e9e40196bc133a6270c9803195257d39637d4622026503774847eb184879025d9029617e8b36074d81c47820c4474ceabcb45b7734deddeeae8ce
AUX etags-2.1.0.patch 347 BLAKE2B 00e55c6b2279bfe8171de31a92a8c2afd4bc13eb2364aadb4f7850bc6078fabdefa21bd238c1d2b9914818b0fff81ad26ed0f1878cbec3f2b2e3fc13518cf908 SHA512 724e97da71176769a78e1eae017d6d9efcf3add4707947d9d2700837b596b7b4f675bfc40e2be35d8be61cb67ac273fdf810ce5b1489202fbdc9be6125fa3a0f
AUX sb-posix-test-2.2.9.patch 1303 BLAKE2B 413020d95c80b2a973897f4ba104cabff642c86a1594c9f265a2f5ce9acd662f003ce5ce194091480181262954d64016351d33af7943e8a81ebe11d2bb57ec34 SHA512 83b196051f5f06014d9e0f02f70258852a2872a2cfc24ea3d2bc06a9657635692c613f268b84da4c5ba1a416c5b3ba4a0bf8d007d3b88a1fba1a3bfda7f621d5
+AUX sb-posix-test-2.5.0.patch 1413 BLAKE2B 786d105a7f0983526b854b99b64272aafc43cd8d6d3c0b93f517ed6af71513c1c67d48f40847575644cb3e0b15fc7af66072dd5ab9e6bcade179b116ab665ef2 SHA512 6035ddde5e8b6e0860ab0d9b03385894c097a82da7e4d41d0d254982bc4e2d2011c16ef3d938c7459b8225cd49e7f07a98cc17dcc05d2cb3585a2f53b499a418
AUX verbose-build-2.0.3.patch 1014 BLAKE2B bdd83275e874ad0835caba34f4b97ae16d2537ccb0650aac12f874dc9344fa4b8dd56468ef8c45cca2fe570fff25026f636b2cae294116a23f9bde6523cb9efa SHA512 01b0259d8d19b5c5554bcee54756b60986d623467e3156f4ece3f0ede5d64ec75688d3ac8a41a33e55e3f80c96c3f9184e6ec208621e33fb18397e6f575d4b84
DIST bsd-sockets-test-2.3.1.patch.gz 3451 BLAKE2B 3f1499df0346852d3337d741e4f2e99dddc178f8f31d79911ba3206a83f0d56ad86967ed4deccc7c28a3e24e302814db63a1fafe3b88991cfba7a1c40c8b3851 SHA512 bccf0d4a46b6fcfea40a287863e72267717fa6860d8dc3e3e0bd4f616d9b825eec1195f4e88b0650c12c76360e2fc3c7e32930c0319ecae0ab66834be22fca83
DIST bsd-sockets-test-2.3.6.patch.gz 3459 BLAKE2B f8ee83904a21944f15890c781aa46f66e0e5c5f59b5c03ba78b54fc8c1d4b1d88cae71bbb6f3f88451435eb7a3ab39a7168df047d9684391b46afc644dc9e96c SHA512 baaf803210c00074042d04e12e47919e8e187c8ae3374651a4205aded9d10bec078e5e17e04fcdcb666ab3f4bb1d7195c453b0f1d8b1fc5038e1ac22bf99ca35
@@ -25,9 +26,12 @@ DIST sbcl-2.4.3-source.tar.bz2 8126417 BLAKE2B 11c304c4f28e41940e2981e6f9f3401db
DIST sbcl-2.4.3-x86-64-linux-binary.tar.bz2 12003023 BLAKE2B a833630bf3c8ceac1aab64d351d7a19b73cac4906c60c6344ba2222c17831da749bc3b5d0d5fa3246c9c2a847c60e9c78567845efdd9cba50d59f2dfaef1b186 SHA512 c884d04b317b1a7ebd4c5f00b17058819d32c59e3cab437296868bc132a77e34bb6e286e7378c7d27f2b07055f879171533273978bbda84d7de9618638219088
DIST sbcl-2.4.9-source.tar.bz2 8162242 BLAKE2B 55f10e6b91bf0a67723cd59db22aa149349a0faf4d9254c2274d414ea58664a5da3695e9f790fb6082072294652998becebe739db98862c805d0da52589bbdab SHA512 867feda50f607188bdee3d739f4267a79d7f22a8d428ead34044a0b56be7ca8073e792ca2f72252e504dc06a5e0be6e9556ee602025ac0fe97c554166c3ee2ee
DIST sbcl-2.4.9-x86-64-linux-binary.tar.bz2 11353060 BLAKE2B c344e343d3a50adf19b109d5751a68199c27771617166ea3673207c911418c4fe5957512856c9a0a477a938218ef3986236f509dcfd53cd0ca7e7a7918b9e458 SHA512 18cdc2b4f53c9e1ab6981007c94fcaf2c46e9f48cd6238cad668348c6b206d032d6096c07b26f55b864fef111a84adbf9e1d920b1d56a725884ec0d3847a8bf0
+DIST sbcl-2.5.0-source.tar.bz2 8204593 BLAKE2B 069f91090b9f89c97823608c36f88e6becdcdd2cc984b8fbb23564a0c55494a7bb8a9c77823c6bf8f9aebbb0e8880ffddd327267161396e8302f6f44bb8f9cfc SHA512 78aa874fc52cbde3f47ce07b2d847d9cd665df5ac5a3bb4682e5afca696bdb223347184aacd27e0b927ebcfb3bdbcd449c57444c906cf44d44a4d6dfa19fc12a
+DIST sbcl-2.5.0-x86-64-linux-binary.tar.bz2 11406596 BLAKE2B 28730fb30aba90a86d456df57086bdcb139a1bfa78d3bdf66e756407d131683de36a379fcce8679a9cf422d59ebd170fa9b25814f78ce145ad2878a8b2feeec4 SHA512 f71fbf29b0d4e62afe331dff15c6fd7a78857505ba610b094bc877e51b83047658a2b3e5aa1aa4c13f12ebbf5849672e8c16549ce7166d594024a610e023482a
EBUILD sbcl-2.3.5.ebuild 9331 BLAKE2B e48e41565056628ec4303d94925f0d851a7597ec2dd01db8b9e59ea2d246e2ca8803528641b22134a444b99a835de7619f814c936ada405e45b53e08ee580f20 SHA512 78a57e1c67070a17dacb24c21c5d44dc64e34e80ec04bab750477398f273a4653a448171c43760bb721e74e1165378121710ced8f4ee3992b4b4f46049811d0a
EBUILD sbcl-2.4.10.ebuild 9300 BLAKE2B 300cd42264aee1b04cd83d895ca707366f6c60ba2eaa4f3c526e717ddf688c17ef753516f9f7ad800a68f7fbec61e3e87f4ca3d8152564ffa653fb57ba6992a0 SHA512 63b66de3e328f7765f967adf3f585de8893243d999d1ca72adcdcc1c84daaf21097f320a1b24cfa8c7deea5574322781f7b184769cf5d58a4990742766eb7d50
EBUILD sbcl-2.4.11.ebuild 9300 BLAKE2B 987e1b78508d5881c5fc2778d6ed00a983bb69a84cc09b1629efb7f7802cc4428ce71eb6dc147a6e414f489146a3a7d0c85a7c76d96b96c793bacd3f9159137a SHA512 643ca50bb9947b316b37f5142d305921b0feae606e10549f67bf46b10cd16aa5a17b506ee937b10f0044ba4effb0707c0d3d00b27fa1ea25bc45c9b9ca5cdf34
EBUILD sbcl-2.4.3.ebuild 9422 BLAKE2B d9c48de58ae75dd628a10d9528a0ed5f5edafa90ce1e0832e5eda445090407bd7c7b651549e0a3eb1b1c21a061f145ca931da9f0efc58fde3d9fe60035fefe70 SHA512 68e0abb103d51651108dc2a985aa415f04ccb991c9208153d647f6bd872ae83f411f826aa7f6c229d46a7f4f1587d6c93a46bdc586cb287c941846d526c8346b
EBUILD sbcl-2.4.9.ebuild 9295 BLAKE2B 3f12a10c2ed802b5f1647e483b4fa9c8046ed1347a16bc374d247dbf1632ec09ae5b8ff2419ebe0a8f784eedf00ac581f53aa6a4a6c23b3e3d139e940582c7ba SHA512 4b4338e8c0237f522be85feac19d4cde50be57c93d26cb49301b4ef1868906de022e4231b1664b4f77d669405a02fc77a7cfafd13840117a1423f6daa06ddf76
+EBUILD sbcl-2.5.0.ebuild 9299 BLAKE2B f32385e9d19a2dd060758ff1a08a7a6c0173ef09231b0aedd8282cacb7a5627436f05901760767f653f944d2136d295829416fe4b4646538021dc09e7972da1b SHA512 c570b85344e363731e359266ead606d79198c78d36e6ca4fa301b2bab398fccf533d6cbb63ab2c999e1e81be90832022dd6d77441a6ed9d07bec20c6b4ee29a1
MISC metadata.xml 1498 BLAKE2B 26fd9f6375ae06e3158d09608aeb5ea4a50e6ce7dd002c7c8f7827cf05798aebd7cba2b630238495ab0a27152ef6e485af2101446dd31e9592e9ffb14fb012b2 SHA512 c56fbecceb20c9550b4f5a07662276af099e7a600ad4f93139e25618aefd57bc45489fd85049da35b1f19937f2293640c1f953cb76780b849435b26f1f27285f
diff --git a/dev-lisp/sbcl/files/sb-posix-test-2.5.0.patch b/dev-lisp/sbcl/files/sb-posix-test-2.5.0.patch
new file mode 100644
index 000000000000..919dc8d0718d
--- /dev/null
+++ b/dev-lisp/sbcl/files/sb-posix-test-2.5.0.patch
@@ -0,0 +1,32 @@
+diff '--color=auto' -r -U2 sbcl-2.5.0.orig/contrib/sb-posix/posix-tests.lisp sbcl-2.5.0/contrib/sb-posix/posix-tests.lisp
+--- sbcl-2.5.0.orig/contrib/sb-posix/posix-tests.lisp 2024-12-29 17:12:03.000000000 +0700
++++ sbcl-2.5.0/contrib/sb-posix/posix-tests.lisp 2024-12-29 23:01:52.817298778 +0700
+@@ -163,16 +163,16 @@
+ #+unix (member err `(,sb-posix:enotdir ,sb-posix:eacces)))))
+
+-#-haiku
+-(deftest rmdir.error.3
+- (handler-case
+- (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir"))
+- (sb-posix:syscall-error (c)
+- (typep
+- (sb-posix:syscall-errno c)
+- `(member #+(or darwin openbsd freebsd) ,sb-posix:eisdir
+- #+win32 ,sb-posix::eacces #+win32 ,sb-posix::enotempty
+- #+sunos ,sb-posix::einval
+- #-(or darwin openbsd freebsd win32 sunos haiku) ,sb-posix::ebusy))))
+- t)
++;; #-haiku
++;; (deftest rmdir.error.3
++;; (handler-case
++;; (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir"))
++;; (sb-posix:syscall-error (c)
++;; (typep
++;; (sb-posix:syscall-errno c)
++;; `(member #+(or darwin openbsd freebsd) ,sb-posix:eisdir
++;; #+win32 ,sb-posix::eacces #+win32 ,sb-posix::enotempty
++;; #+sunos ,sb-posix::einval
++;; #-(or darwin openbsd freebsd win32 sunos haiku) ,sb-posix::ebusy))))
++;; t)
+
+ (deftest rmdir.error.4
diff --git a/dev-lisp/sbcl/sbcl-2.5.0.ebuild b/dev-lisp/sbcl/sbcl-2.5.0.ebuild
new file mode 100644
index 000000000000..9cb9f5869338
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-2.5.0.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic pax-utils toolchain-funcs
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.4.3
+BV_AMD64=2.5.0
+BV_PPC=1.2.7
+BV_PPC64LE=1.5.8
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=2.3.3
+BV_ARM64=1.4.2
+BV_X64_MACOS=1.2.11
+BV_PPC_MACOS=1.0.47
+BV_X86_SOLARIS=1.2.7
+BV_X64_SOLARIS=1.2.7
+BV_SPARC_SOLARIS=1.0.23
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
+HOMEPAGE="https://www.sbcl.org/ https://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.6.patch
+SRC_URI="https://downloads.sourceforge.net/sbcl/${P}-source.tar.bz2
+ https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
+ !system-bootstrap? (
+ x86? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+ amd64? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+ ppc? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+ ppc64? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 )
+ sparc? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+ alpha? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+ arm? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+ arm64? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+ x64-macos? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+ ppc-macos? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+ x64-solaris? ( https://downloads.sourceforge.net/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
+ )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-bootstrap debug doc source +threads +unicode +zstd"
+
+CDEPEND=">=dev-lisp/asdf-3.3:= \
+ prefix? ( dev-util/patchelf )"
+# bug #843851
+BDEPEND="${CDEPEND}
+ dev-debug/strace
+ doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+ system-bootstrap? ( || ( dev-lisp/clisp dev-lisp/sbcl ) )"
+RDEPEND="${CDEPEND}
+ zstd? ( app-arch/zstd )
+ !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )"
+
+# Disable warnings about executable stacks, as this won't be fixed soon by upstream
+QA_EXECSTACK="usr/bin/sbcl"
+
+CONFIG="${S}/customize-target-features.lisp"
+ENVD="${T}/50sbcl"
+
+# Prevent ASDF from using the system libraries
+CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
+ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
+
+usep() {
+ use ${1} && echo "true" || echo "false"
+}
+
+sbcl_feature() {
+ echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
+}
+
+sbcl_apply_features() {
+ sed 's/^X//' > "${CONFIG}" <<-'EOF'
+ (lambda (list)
+ X (flet ((enable (x) (pushnew x list))
+ X (disable (x) (setf list (remove x list))))
+ EOF
+ if use x86 || use amd64; then
+ sbcl_feature "$(usep threads)" ":sb-thread"
+ fi
+ sbcl_feature "true" ":sb-ldb"
+ sbcl_feature "false" ":sb-test"
+ sbcl_feature "$(usep unicode)" ":sb-unicode"
+ sbcl_feature "$(usep zstd)" ":sb-core-compression"
+ sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
+ sed 's/^X//' >> "${CONFIG}" <<-'EOF'
+ X )
+ X list)
+ EOF
+ cat "${CONFIG}"
+}
+
+src_unpack() {
+ unpack ${A}
+ if ! use system-bootstrap ; then
+ mv sbcl-*-* sbcl-binary || die
+ fi
+ cd "${S}"
+}
+
+src_prepare() {
+ # bug #468482
+ eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
+ # bugs #486552, #527666, #517004
+ eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH}
+ # bugs #560276, #561018
+ eapply "${FILESDIR}"/sb-posix-test-2.5.0.patch
+ # bug #767742
+ eapply "${FILESDIR}"/etags-2.1.0.patch
+ # Use ${PV} as build-id, bug #797574
+ eapply "${FILESDIR}"/build-id-2.4.3.patch
+
+ eapply "${FILESDIR}"/verbose-build-2.0.3.patch
+
+ eapply_user
+
+ # Make sure the *FLAGS variables are sane.
+ # sbcl needs symbols in resulting binaries, so building with the -s linker flag will fail.
+ strip-unsupported-flags
+ filter-flags -fomit-frame-pointer -Wl,-s
+ filter-ldflags -s
+
+ # original bugs #526194, #620532
+ # this broke no-pie default builds, c.f. bug #632670
+ # Pass CFLAGS down by appending our value, to let users override
+ # the default values.
+ # Keep passing LDFLAGS down via the LINKFLAGS variable.
+ sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \
+ -e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \
+ -i src/runtime/GNUmakefile || die
+
+ sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
+ -i make-config.sh || die
+
+ # Use installed ASDF version
+ cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
+ # Avoid installation of ASDF info page. See bug #605752
+ sed '/INFOFILES/s/asdf.info//' -i doc/manual/Makefile || die
+
+ use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
+
+ # Some shells(such as dash) don't have "time" as builtin
+ # and we don't want to DEPEND on sys-process/time
+ sed "s,^time ,," -i make.sh || die
+ sed "s,/lib,/$(get_libdir),g" -i install.sh || die
+ # #define SBCL_HOME ...
+ sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
+ # change location of /etc/sbclrc ...
+ sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
+
+ find . -type f -name .cvsignore -delete
+}
+
+src_configure() {
+ # customizing SBCL version as per
+ # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
+ echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
+
+ # set interpreter for Prefix
+ if use prefix ; then
+ patchelf --set-interpreter \
+ "${EPREFIX}/$(get_libdir)"/ld-linux-x86-64.so.2 \
+ "${WORKDIR}"/sbcl-binary/src/runtime/sbcl
+ fi
+
+ # applying customizations
+ sbcl_apply_features
+}
+
+src_compile() {
+ local bindir="${WORKDIR}"/sbcl-binary
+ local bootstrap_lisp="sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger"
+
+ if use system-bootstrap ; then
+ if has_version "dev-lisp/sbcl" ; then
+ bootstrap_lisp="sbcl --no-sysinit --no-userinit --disable-debugger"
+ else
+ bootstrap_lisp="clisp"
+ fi
+ fi
+
+ # Bug #869434
+ append-cppflags -D_GNU_SOURCE
+
+ # clear the environment to get rid of non-ASCII strings, see bug #174702
+ # set HOME for paludis
+ env - HOME="${T}" PATH="${PATH}" \
+ CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
+ CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
+ SBCL_HOME="/usr/$(get_libdir)/sbcl" SBCL_SOURCE_ROOT="/usr/$(get_libdir)/sbcl/src" \
+ GNUMAKE=make PV=${PV} ./make.sh \
+ "${bootstrap_lisp}" \
+ || die "make failed"
+
+ # need to set HOME because libpango(used by graphviz) complains about it
+ if use doc; then
+ env - HOME="${T}" PATH="${PATH}" \
+ CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
+ ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
+ make -C doc/manual info html || die "Cannot build manual"
+ env - HOME="${T}" PATH="${PATH}" \
+ CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
+ ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
+ make -C doc/internals info html || die "Cannot build internal docs"
+ fi
+}
+
+src_test() {
+ ewarn "Unfortunately, it is known that some tests fail eg."
+ ewarn "run-program.impure.lisp. This is an issue of the upstream's"
+ ewarn "development and not of Gentoo's side. Please, before filing"
+ ewarn "any bug(s) search for older submissions. Thank you."
+ time ( cd tests && sh run-tests.sh )
+}
+
+src_install() {
+ # install system-wide initfile
+ dodir /etc/
+ sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
+ ;;; The following is required if you want source location functions to
+ ;;; work in SLIME, for example.
+ X
+ (setf (logical-pathname-translations "SYS")
+ X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
+ X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
+ X
+ ;;; Setup ASDF2
+ (load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
+ EOF
+
+ # Install documentation
+ unset SBCL_HOME
+ INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
+ sh install.sh || die "install.sh failed"
+
+ # bug #517008
+ pax-mark -mr "${D}"/usr/bin/sbcl
+
+ # rm empty directories lest paludis complain about this
+ find "${ED}" -empty -type d -exec rmdir -v {} +
+
+ if use doc; then
+ dodoc -r doc/internals/sbcl-internals
+
+ doinfo doc/manual/*.info*
+ doinfo doc/internals/sbcl-internals.info
+
+ docinto internals-notes
+ dodoc doc/internals-notes/*
+ else
+ rm -Rv "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ # install the SBCL source
+ if use source; then
+ ./clean.sh
+ cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
+ for d in contrib/*/; do
+ cp -av "$d" "${ED}/usr/$(get_libdir)/sbcl/" || die
+ done
+ fi
+
+ # necessary for running newly-saved images
+ echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
+ echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
+ doenvd "${ENVD}"
+}