public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2015-09-22  4:54 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2015-09-22  4:54 UTC (permalink / raw
  To: gentoo-commits

commit:     e53567187f146ee1f52d537d6f2efacb6a91f4c1
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 22 04:50:18 2015 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Tue Sep 22 04:50:18 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5356718

dev-lisp/sbcl: comment out a test in posix-tests.lisp

Bugs: 560276, 561018

Package-Manager: portage-2.2.20.1

 dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch | 40 ++++++++++++++++++++++++++
 dev-lisp/sbcl/metadata.xml                     |  2 --
 dev-lisp/sbcl/sbcl-1.2.15.ebuild               |  2 ++
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch
new file mode 100644
index 0000000..517208a
--- /dev/null
+++ b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch
@@ -0,0 +1,40 @@
+diff -r -U1 sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp
+--- sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp	2015-08-31 00:59:03.000000000 +0600
++++ sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp	2015-09-22 10:19:20.000000000 +0600
+@@ -169,19 +169,19 @@
+ 
+-(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)
+-         #.sb-posix:eisdir
+-         #+win32
+-         #.sb-posix::eacces
+-         #+win32
+-         #.sb-posix::enotempty
+-         #+sunos
+-         #.sb-posix::einval
+-         #-(or darwin openbsd win32 sunos)
+-         #.sb-posix::ebusy)))) t)
++;(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)
++;         #.sb-posix:eisdir
++;         #+win32
++;         #.sb-posix::eacces
++;         #+win32
++;         #.sb-posix::enotempty
++;         #+sunos
++;         #.sb-posix::einval
++;         #-(or darwin openbsd win32 sunos)
++;         #.sb-posix::ebusy)))) t)
+ 

diff --git a/dev-lisp/sbcl/metadata.xml b/dev-lisp/sbcl/metadata.xml
index 04e46ea..bad39a3 100644
--- a/dev-lisp/sbcl/metadata.xml
+++ b/dev-lisp/sbcl/metadata.xml
@@ -28,8 +28,6 @@
   GLIBC. SBCL 0.8.17 and later support Unicode.
 </longdescription>
 	<use>
-		<flag name="asdf">Include support for <pkg>dev-lisp/asdf in SBCL</pkg></flag>
-		<flag name="ldb">Include support for the SBCL low level debugger</flag>
 		<flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag>
 	</use>
 	<upstream>

diff --git a/dev-lisp/sbcl/sbcl-1.2.15.ebuild b/dev-lisp/sbcl/sbcl-1.2.15.ebuild
index fd1bea7..bc2ac4d 100644
--- a/dev-lisp/sbcl/sbcl-1.2.15.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.2.15.ebuild
@@ -98,6 +98,8 @@ src_prepare() {
 	epatch "${FILESDIR}"/concurrency-test-1.2.6.patch
 	# bugs #486552, #527666, #517004
 	epatch "${FILESDIR}"/bsd-sockets-test-1.2.11.patch
+	# bugs #560276, #561018
+	epatch "${FILESDIR}"/sb-posix-test-1.2.15.patch
 
 	epatch "${FILESDIR}"/${PN}-1.2.11-solaris.patch
 	epatch "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2016-03-19 23:45 Ian Delaney
  0 siblings, 0 replies; 16+ messages in thread
From: Ian Delaney @ 2016-03-19 23:45 UTC (permalink / raw
  To: gentoo-commits

commit:     93ae4c5c3c7f88413fcc79fe77abcaf9c12337d3
Author:     Nicholas Vinson <nvinson234 <AT> gmail <DOT> com>
AuthorDate: Sat Mar 19 01:47:39 2016 +0000
Commit:     Ian Delaney <idella4 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 19 23:44:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93ae4c5c

=dev-lisp/sbcl-1.1.18: Add graphviz-2.38.0 patch

Patch sbcl-1.1.18[doc] to build against graphiz-2.38.0.

Gentoo-Bug: #577514

Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/1085

 dev-lisp/sbcl/files/sbcl-1.1.18-graphiz-2.38.patch |  19 ++
 dev-lisp/sbcl/sbcl-1.1.18-r1.ebuild                | 218 +++++++++++++++++++++
 2 files changed, 237 insertions(+)

diff --git a/dev-lisp/sbcl/files/sbcl-1.1.18-graphiz-2.38.patch b/dev-lisp/sbcl/files/sbcl-1.1.18-graphiz-2.38.patch
new file mode 100644
index 0000000..b784c31
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.1.18-graphiz-2.38.patch
@@ -0,0 +1,19 @@
+--- sbcl-1.1.18/doc/internals/discriminating-functions.dot.old	2016-03-18 18:40:54.297597061 -0700
++++ sbcl-1.1.18/doc/internals/discriminating-functions.dot	2016-03-18 18:41:29.912053235 -0700
+@@ -33,13 +33,13 @@
+ // oneindex -> dispatch
+ // nn -> caching
+ // nn -> checking
+ // nn -> dispatch
+ 
+-subgraph class -> caching
+-subgraph class -> checking
+-subgraph class -> dispatch
++subgraph { class -> caching }
++subgraph { class -> checking }
++subgraph { class -> dispatch }
+ 
+ initial -> oneclass
+ 
+ initial -> default
+ initial -> nomethods

diff --git a/dev-lisp/sbcl/sbcl-1.1.18-r1.ebuild b/dev-lisp/sbcl/sbcl-1.1.18-r1.ebuild
new file mode 100644
index 0000000..f3cdce6
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-1.1.18-r1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit multilib eutils flag-o-matic pax-utils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.0.58
+BV_AMD64=1.1.18
+BV_PPC=1.0.28
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
+HOMEPAGE="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND="=dev-lisp/asdf-3.0*:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/paxctl sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		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 zlib)" ":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}
+	mv sbcl-*-linux sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/gentoo-fix_install_man.patch
+	epatch "${FILESDIR}"/gentoo-fix_linux-os-c.patch
+	# bug #468482
+	epatch "${FILESDIR}"/concurrency-test.patch
+	# bug #486552
+	epatch "${FILESDIR}"/bsd-sockets-test.patch
+	# bug #577514
+	epatch "${FILESDIR}"/sbcl-1.1.18-graphiz-2.38.patch
+
+	# To make the hardened compiler NOT compile with -fPIE -pie
+	if gcc-specs-pie ; then
+		einfo "Disabling PIE..."
+		epatch "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
+	fi
+
+	# bug #526194
+	sed -e "s@CFLAGS =@CFLAGS = ${CFLAGS}@" \
+		-e "s@LINKFLAGS =@LINKFLAGS = ${LDFLAGS}@" \
+		-i src/runtime/GNUmakefile || die
+
+	cp /usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || 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,/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
+
+	# Avoid sandbox violation, bug #572478
+	sed -i -e "/(sb-posix:rmdir /s%\"/\"%\"${WORKDIR}\"%" \
+		contrib/sb-posix/posix-tests.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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	strip-unsupported-flags ; filter-flags -fomit-frame-pointer
+
+	if host-is-pax ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^echo \/\/doing warm init - compilation phase$/a\paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# clear the environment to get rid of non-ASCII strings, see bug 174702
+	# set HOME for paludis
+	env - HOME="${T}" \
+		CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
+		CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| die "make failed"
+
+	# need to set HOME because libpango(used by graphviz) complains about it
+	if use doc; then
+		env - HOME="${T}" \
+			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}" \
+			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//' > "${D}"/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"/usr/$(get_libdir)/sbcl/src/**/*.*")
+	X        ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*")))
+	X
+	;;; Setup ASDF2
+	(load "/etc/common-lisp/gentoo-init.lisp")
+	EOF
+
+	# Install documentation
+	unset SBCL_HOME
+	INSTALL_ROOT="${D}/usr" LIB_DIR="/usr/$(get_libdir)" DOC_DIR="${D}/usr/share/doc/${PF}" \
+		sh install.sh || die "install.sh failed"
+
+	# rm empty directories lest paludis complain about this
+	find "${D}" -empty -type d -exec rmdir -v {} +
+
+	if use doc; then
+		dohtml -r doc/manual/
+		doinfo doc/manual/*.info*
+		dohtml -r doc/internals/sbcl-internals
+		doinfo doc/internals/sbcl-internals.info
+		docinto internals-notes && dodoc doc/internals-notes/*
+	else
+		rm -Rv "${D}/usr/share/doc/${PF}" || die
+	fi
+
+	dodoc BUGS CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README TLA TODO
+
+	# install the SBCL source
+	if use source; then
+		./clean.sh
+		cp -av src "${D}/usr/$(get_libdir)/sbcl/" || die
+	fi
+
+	# necessary for running newly-saved images
+	echo "SBCL_HOME=/usr/$(get_libdir)/${PN}" > "${ENVD}"
+	echo "SBCL_SOURCE_ROOT=/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
+	doenvd "${ENVD}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2016-11-16 17:38 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2016-11-16 17:38 UTC (permalink / raw
  To: gentoo-commits

commit:     7bfab2119e74409da904f5e21e19463cc17ca43b
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 16 17:37:42 2016 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Wed Nov 16 17:37:42 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bfab211

dev-lisp/sbcl: fix problem with hardened gcc in 1.3.11

Bug: 599902

Package-Manager: portage-2.3.0

 dev-lisp/sbcl/files/sbcl-1.3.11-config.patch | 16 ++++++++++++++++
 dev-lisp/sbcl/sbcl-1.3.11.ebuild             |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch
new file mode 100644
index 00000000..e23f1e6
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch
@@ -0,0 +1,16 @@
+diff -r -U2 sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux sbcl-1.3.11/src/runtime/Config.x86-64-linux
+--- sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux	2016-10-30 23:28:43.000000000 +0700
++++ sbcl-1.3.11/src/runtime/Config.x86-64-linux	2016-11-16 23:27:37.248815622 +0700
+@@ -58,12 +58,4 @@
+ endif
+ 
+-# The following works for Ubuntu 16.10. There must be a better way to
+-# do this across various flavors of linux.
+-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),)
+-CFLAGS += -fno-pie
+-LINKFLAGS += -no-pie
+-LDFLAGS += -no-pie
+-endif
+-
+ # Nothing to do for after-grovel-headers.
+ .PHONY: after-grovel-headers

diff --git a/dev-lisp/sbcl/sbcl-1.3.11.ebuild b/dev-lisp/sbcl/sbcl-1.3.11.ebuild
index 3681769..334669e 100644
--- a/dev-lisp/sbcl/sbcl-1.3.11.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.3.11.ebuild
@@ -101,6 +101,8 @@ src_prepare() {
 	eapply "${FILESDIR}"/bsd-sockets-test-1.2.11.patch
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+	# bug #599902
+	eapply "${FILESDIR}"/${PN}-1.3.11-config.patch
 
 	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
 	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2016-12-10 12:14 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2016-12-10 12:14 UTC (permalink / raw
  To: gentoo-commits

commit:     1d89087763876324f5d9cb576d7feb2de179d033
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 10 12:13:59 2016 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sat Dec 10 12:13:59 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d890877

dev-lisp/sbcl: bump to 1.3.12

Package-Manager: portage-2.3.0

 dev-lisp/sbcl/Manifest                            |   2 +
 dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch | 346 ++++++++++++++++++++++
 dev-lisp/sbcl/sbcl-1.3.12.ebuild                  | 243 +++++++++++++++
 3 files changed, 591 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index a48ed19..ba1520c 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -17,4 +17,6 @@ DIST sbcl-1.3.0-source.tar.bz2 5722767 SHA256 d60caf6a0a495e41fc9e7f6a797e7c4188
 DIST sbcl-1.3.0-x86-64-linux-binary.tar.bz2 9830954 SHA256 e6e801f0cc31fd6a14cf20b983c6ef2be5750225fad221bf9621788c0a0a90c5 SHA512 916fdd1627903b7227a6d5962a2534fa2cd9003f832b975c96d0e11c301d73c7c3225cfd4121f10cbcdde87dcac9079b9a48e6737ba9a3d2c18c484bae3c371d WHIRLPOOL a4372dd59df03e0e0e8d2359799e0580b6829e001c219ef28504cc7db8b3a8ad7429ecdcd36bb72ed5196192d9f66b2854c5b6960cd5f97c31afd758a17c6a67
 DIST sbcl-1.3.11-source.tar.bz2 5790557 SHA256 077a2d98f94c62076bcb4dea715a11975b92d85d8de20f5a0d1c36d280397642 SHA512 07cce0b33f1d41bc208827d228ae356b56165bb55fab72c48973a15a63e2e680aafc16db67d36cc4952f71101faaacafd9660276cd67673314f1699d6a91af82 WHIRLPOOL 0e61c415775c4c11d111d6ae830f8be1611fd1674b23c2fc8fead59277af507adc9c4683b066fde9e3c0dfa52023b850f6714f2ec480901718d452e0f25818bf
 DIST sbcl-1.3.11-x86-64-linux-binary.tar.bz2 9248214 SHA256 9ab2c149b7ba43e7f6237c1a23e3037078db46a83913040958fa08dd6011dba5 SHA512 ffb443f9e3ede2f9dbdc1bf28554bd59ef1fd5ad855465ee10f9835221fde20211188e881be854b4760870b122dfc6c5ad5c8cad1bea613ffb3b6a6f67a36056 WHIRLPOOL 0a34701abd81cdea411ac37e276660e29f43279509bef28600e7084e9ffc525883e18c42338492b0ccb5fb21e85c91726f978aa20a87deeb92e813a15b36d9fa
+DIST sbcl-1.3.12-source.tar.bz2 5795516 SHA256 8039ec01d04baad3ee3ebee7a830757dc488be33ca128f4a0592f8af701759c2 SHA512 2a2969b826dcf9d568204a01546c47af777d5866baa8da809c49ace1655b54cd4c8db1872e322a1d08a4983b0962cc0e2e346816488212709b28867c53233275 WHIRLPOOL 019f5919d2203e1ffde465d460575ad8517e176723d00acc99c6c50bbdd7ee68b90df4c8f10ab63646b0a2f5266a0328182e3c55cbfa9562ef7bac2897011663
+DIST sbcl-1.3.12-x86-64-linux-binary.tar.bz2 9235579 SHA256 6508577bd6a2769a74d7b6fa7885e12932acf7a18736c4df599fc41f1b5db237 SHA512 536710d498f98edc2ca9bd794a09d57b37fab2595d1b8eb2f4c1dff186d262c059b674a7786cf78f8bc4a87dc27dc3f7cc61c21bb826abc8a4e99854742595b0 WHIRLPOOL 41daaff2dbcbe4e4b172ae45c29987eee7aeb4ae37eddfb808cd9cb7600289559f79e8395930e7364fe28b00efdcd947ba951771e6b2724d59759221ec6a63e9
 DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch
new file mode 100644
index 00000000..9a4eb15
--- /dev/null
+++ b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch
@@ -0,0 +1,346 @@
+diff -r -U2 sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp
+--- sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp	2016-11-30 04:07:35.000000000 +0700
++++ sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp	2016-12-10 15:56:14.727887603 +0700
+@@ -38,11 +38,11 @@
+ #-(and freebsd sb-thread)
+ #-(and dragonfly sb-thread)
+-(deftest get-protocol-by-name/error
+-  (handler-case (get-protocol-by-name "nonexistent-protocol")
+-    (unknown-protocol ()
+-      t)
+-    (:no-error ()
+-      nil))
+-  t)
++;(deftest get-protocol-by-name/error
++;  (handler-case (get-protocol-by-name "nonexistent-protocol")
++;    (unknown-protocol ()
++;      t)
++;    (:no-error ()
++;      nil))
++;  t)
+ 
+ (deftest make-inet-socket.smoke
+@@ -92,19 +92,19 @@
+   t)
+ 
+-#-win32
+-(deftest make-inet6-socket.smoke
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
+-
+-#-win32
+-(deftest make-inet6-socket.keyword
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;#-win32
++;(deftest make-inet6-socket.smoke
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
++
++;#-win32
++;(deftest make-inet6-socket.keyword
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ (deftest* (non-block-socket)
+@@ -114,52 +114,52 @@
+   t)
+ 
+-(deftest inet-socket-bind
+-  (let* ((tcp (get-protocol-by-name "tcp"))
+-         (address (make-inet-address "127.0.0.1"))
+-         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
+-         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
+-    (unwind-protect
+-         ;; Given the functions we've got so far, if you can think of a
+-         ;; better way to make sure the bind succeeded than trying it
+-         ;; twice, let me know
+-         (progn
+-           (socket-bind s1 address 0)
+-           (handler-case
+-               (let ((port (nth-value 1 (socket-name s1))))
+-                 (socket-bind s2 address port)
+-                 nil)
+-             (address-in-use-error () t)))
+-      (socket-close s1)
+-      (socket-close s2)))
+-  t)
+-
+-#-win32
+-(deftest inet6-socket-bind
+-  (handler-case
+-      (let* ((tcp (get-protocol-by-name "tcp"))
+-             (address (make-inet6-address "::1"))
+-             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
+-             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
+-        (unwind-protect
+-             ;; Given the functions we've got so far, if you can think of a
+-             ;; better way to make sure the bind succeeded than trying it
+-             ;; twice, let me know
+-             (handler-case
+-                 (socket-bind s1 address 0)
+-               (socket-error ()
+-                 ;; This may mean no IPv6 support, can't fail a test
+-                 ;; because of that (address-family-not-supported doesn't catch that)
+-                 t)
+-               (:no-error (x)
+-                 (declare (ignore x))
+-                 (handler-case
+-                     (let ((port (nth-value 1 (socket-name s1))))
+-                       (socket-bind s2 address port)
+-                       nil)
+-                   (address-in-use-error () t))))
+-          (socket-close s1)
+-          (socket-close s2)))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;(deftest inet-socket-bind
++;  (let* ((tcp (get-protocol-by-name "tcp"))
++;         (address (make-inet-address "127.0.0.1"))
++;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
++;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
++;    (unwind-protect
++;         ;; Given the functions we've got so far, if you can think of a
++;         ;; better way to make sure the bind succeeded than trying it
++;         ;; twice, let me know
++;         (progn
++;           (socket-bind s1 address 0)
++;           (handler-case
++;               (let ((port (nth-value 1 (socket-name s1))))
++;                 (socket-bind s2 address port)
++;                 nil)
++;             (address-in-use-error () t)))
++;      (socket-close s1)
++;      (socket-close s2)))
++;  t)
++
++;#-win32
++;(deftest inet6-socket-bind
++;  (handler-case
++;      (let* ((tcp (get-protocol-by-name "tcp"))
++;             (address (make-inet6-address "::1"))
++;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
++;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
++;        (unwind-protect;
++;             ;; Given the functions we've got so far, if you can think of a
++;             ;; better way to make sure the bind succeeded than trying it
++;             ;; twice, let me know
++;             (handler-case
++;                 (socket-bind s1 address 0)
++;               (socket-error ()
++;                 ;; This may mean no IPv6 support, can't fail a test
++;                 ;; because of that (address-family-not-supported doesn't catch that)
++;                 t)
++;               (:no-error (x)
++;                 (declare (ignore x))
++;                 (handler-case
++;                     (let ((port (nth-value 1 (socket-name s1))))
++;                       (socket-bind s2 address port)
++;                       nil)
++;                   (address-in-use-error () t))))
++;          (socket-close s1)
++;          (socket-close s2)))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ (deftest* (simple-sockopt-test)
+@@ -228,35 +228,35 @@
+ ;;; the message ended up
+ 
+-#-win32
+-(deftest simple-local-client
+-    (progn
+-      ;; SunOS (Solaris) and Darwin systems don't have a socket at
+-      ;; /dev/log.  We might also be building in a chroot or
+-      ;; something, so don't fail this test just because the file is
+-      ;; unavailable, or if it's a symlink to some weird character
+-      ;; device.
+-      (when (block nil
+-              (handler-bind ((sb-posix:syscall-error
+-                              (lambda (e)
+-                                (declare (ignore e))
+-                                (return nil))))
+-                (sb-posix:s-issock
+-                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
+-        (let ((s (make-instance 'local-socket :type :datagram)))
+-          (format t "Connecting ~A... " s)
+-          (finish-output)
+-          (handler-case
+-              (socket-connect s "/dev/log")
+-            (sb-bsd-sockets::socket-error ()
+-              (setq s (make-instance 'local-socket :type :stream))
+-              (format t "failed~%Retrying with ~A... " s)
+-              (finish-output)
+-              (socket-connect s "/dev/log")))
+-          (format t "ok.~%")
+-          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
+-            (format stream
+-                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
+-      t)
+-  t)
++;#-win32
++;(deftest simple-local-client
++;    (progn
++;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
++;      ;; /dev/log.  We might also be building in a chroot or
++;      ;; something, so don't fail this test just because the file is
++;      ;; unavailable, or if it's a symlink to some weird character
++;      ;; device.
++;      (when (block nil
++;              (handler-bind ((sb-posix:syscall-error
++;                              (lambda (e)
++;                                (declare (ignore e))
++;                                (return nil))))
++;                (sb-posix:s-issock
++;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
++;        (let ((s (make-instance 'local-socket :type :datagram)))
++;          (format t "Connecting ~A... " s)
++;          (finish-output)
++;          (handler-case
++;              (socket-connect s "/dev/log")
++;            (sb-bsd-sockets::socket-error ()
++;              (setq s (make-instance 'local-socket :type :stream))
++;              (format t "failed~%Retrying with ~A... " s)
++;              (finish-output)
++;              (socket-connect s "/dev/log")))
++;          (format t "ok.~%")
++;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
++;            (format stream
++;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
++;      t)
++;  t)
+ 
+ 
+@@ -373,58 +373,58 @@
+                len address port (subseq buf 0 (min 10 len)))))))
+ 
+-#+sb-thread
+-(deftest interrupt-io
+-    (let (result)
+-      (labels
+-          ((client (port)
+-             (setf result
+-                   (let ((s (make-instance 'inet-socket
+-                                           :type :stream
+-                                           :protocol :tcp)))
+-                     (socket-connect s #(127 0 0 1) port)
+-                     (let ((stream (socket-make-stream s
+-                                                       :input t
+-                                                       :output t
+-                                                       :buffering :none)))
+-                       (handler-case
+-                           (prog1
+-                               (catch 'stop
+-                                 (progn
+-                                   (read-char stream)
+-                                   (sleep 0.1)
+-                                   (sleep 0.1)
+-                                   (sleep 0.1)))
+-                             (close stream))
+-                         (error (c)
+-                           c))))))
+-           (server ()
+-             (let ((s (make-instance 'inet-socket
+-                                     :type :stream
+-                                     :protocol :tcp)))
+-               (setf (sockopt-reuse-address s) t)
+-               (socket-bind s (make-inet-address "127.0.0.1") 0)
+-               (socket-listen s 5)
+-               (multiple-value-bind (* port)
+-                   (socket-name s)
+-                 (let* ((client (sb-thread:make-thread
+-                                 (lambda () (client port))))
+-                        (r (socket-accept s))
+-                        (stream (socket-make-stream r
+-                                                    :input t
+-                                                    :output t
+-                                                    :buffering :none))
+-                        (ok :ok))
+-                   (socket-close s)
+-                   (sleep 5)
+-                   (sb-thread:interrupt-thread client
+-                                               (lambda () (throw 'stop ok)))
+-                   (sleep 5)
+-                   (setf ok :not-ok)
+-                   (write-char #\x stream)
+-                   (close stream)
+-                   (socket-close r))))))
+-        (server))
+-      result)
+-  :ok)
++;#+sb-thread
++;(deftest interrupt-io
++;    (let (result)
++;      (labels
++;          ((client (port)
++;             (setf result
++;                   (let ((s (make-instance 'inet-socket
++;                                           :type :stream
++;                                           :protocol :tcp)))
++;                     (socket-connect s #(127 0 0 1) port)
++;                     (let ((stream (socket-make-stream s
++;                                                       :input t
++;                                                       :output t
++;                                                       :buffering :none)))
++;                       (handler-case
++;                           (prog1
++;                               (catch 'stop
++;                                 (progn
++;                                   (read-char stream)
++;                                   (sleep 0.1)
++;                                   (sleep 0.1)
++;                                   (sleep 0.1)))
++;                             (close stream))
++;                         (error (c)
++;                           c))))))
++;           (server ()
++;             (let ((s (make-instance 'inet-socket
++;                                     :type :stream
++;                                     :protocol :tcp)))
++;               (setf (sockopt-reuse-address s) t)
++;               (socket-bind s (make-inet-address "127.0.0.1") 0)
++;               (socket-listen s 5)
++;               (multiple-value-bind (* port)
++;                   (socket-name s)
++;                 (let* ((client (sb-thread:make-thread
++;                                 (lambda () (client port))))
++;                        (r (socket-accept s))
++;                        (stream (socket-make-stream r
++;                                                    :input t
++;                                                    :output t
++;                                                    :buffering :none))
++;                        (ok :ok))
++;                   (socket-close s)
++;                   (sleep 5)
++;                   (sb-thread:interrupt-thread client
++;                                               (lambda () (throw 'stop ok)))
++;                   (sleep 5)
++;                   (setf ok :not-ok)
++;                   (write-char #\x stream)
++;                   (close stream)
++;                   (socket-close r))))))
++;        (server))
++;      result)
++;  :ok)
+ 
+ (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body)
+@@ -485,4 +485,5 @@
+               client server (unsigned-byte 8) ,direction)))))
+ 
+-  (define-shutdown-tests :output)
+-  (define-shutdown-tests :io))
++;  (define-shutdown-tests :output)
++;  (define-shutdown-tests :io))
++)

diff --git a/dev-lisp/sbcl/sbcl-1.3.12.ebuild b/dev-lisp/sbcl/sbcl-1.3.12.ebuild
new file mode 100644
index 00000000..6c5a124
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-1.3.12.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit multilib eutils flag-o-matic pax-utils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.2.7
+BV_AMD64=1.3.12
+BV_PPC=1.2.7
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=1.3.9
+BV_ARM64=1.3.11
+BV_PPC_MACOS=1.0.47
+BV_X86_MACOS=1.1.6
+BV_X64_MACOS=1.2.11
+BV_SPARC_SOLARIS=1.0.23
+BV_X86_SOLARIS=1.2.7
+BV_X64_SOLARIS=1.2.7
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
+HOMEPAGE="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
+	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
+	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
+	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND=">=dev-lisp/asdf-3.1:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		!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 zlib)" ":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}
+	mv sbcl-*-* sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	eapply "${FILESDIR}"/gentoo-fix_install_man.patch
+	# bug #468482
+	eapply "${FILESDIR}"/concurrency-test-1.2.6.patch
+	# bugs #486552, #527666, #517004
+	eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch
+	# bugs #560276, #561018
+	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+	# bug #599902
+	eapply "${FILESDIR}"/${PN}-1.3.11-config.patch
+
+	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
+	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
+
+	# To make the hardened compiler NOT compile with -fPIE -pie
+	if gcc-specs-pie ; then
+		einfo "Disabling PIE..."
+		eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
+	fi
+
+	eapply_user
+
+	# bug #526194
+	sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
+		-e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
+		-i src/runtime/GNUmakefile || die
+
+	sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
+		-i make-config.sh || die
+
+	cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || 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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	strip-unsupported-flags ; filter-flags -fomit-frame-pointer
+
+	if use pax_kernel ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# 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}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| 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
+	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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2017-02-05 15:59 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2017-02-05 15:59 UTC (permalink / raw
  To: gentoo-commits

commit:     5e7f46f2b08b4703e3712baca84d92e736f22d7d
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  5 15:57:21 2017 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sun Feb  5 15:58:27 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e7f46f2

dev-lisp/sbcl: in 1.3.13, patch out -no-pie also on x86

Bug: 607302

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-lisp/sbcl/files/sbcl-1.3.13-config.patch | 32 ++++++++++++++++++++++++++++
 dev-lisp/sbcl/sbcl-1.3.13.ebuild             |  4 ++--
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch
new file mode 100644
index 00000000..e20fc07
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch
@@ -0,0 +1,32 @@
+diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux sbcl-1.3.13/src/runtime/Config.x86-64-linux
+--- sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux	2016-12-31 09:38:30.000000000 +0100
++++ sbcl-1.3.13/src/runtime/Config.x86-64-linux	2017-02-05 16:11:54.801938872 +0100
+@@ -58,12 +58,4 @@
+ endif
+ 
+-# The following works for Ubuntu 16.10. There must be a better way to
+-# do this across various flavors of linux.
+-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),)
+-CFLAGS += -fno-pie
+-LINKFLAGS += -no-pie
+-LDFLAGS += -no-pie
+-endif
+-
+ # Nothing to do for after-grovel-headers.
+ .PHONY: after-grovel-headers
+diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-linux sbcl-1.3.13/src/runtime/Config.x86-linux
+--- sbcl-1.3.13.orig/src/runtime/Config.x86-linux	2016-12-31 09:38:30.000000000 +0100
++++ sbcl-1.3.13/src/runtime/Config.x86-linux	2017-02-05 16:10:16.882945480 +0100
+@@ -50,12 +50,4 @@
+ endif
+ 
+-# The following works for Ubuntu 16.10. There must be a better way to
+-# do this across various flavors of linux.
+-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),)
+-CFLAGS += -fno-pie
+-LINKFLAGS += -no-pie
+-LDFLAGS += -no-pie
+-endif
+-
+ GC_SRC = gencgc.c
+ 

diff --git a/dev-lisp/sbcl/sbcl-1.3.13.ebuild b/dev-lisp/sbcl/sbcl-1.3.13.ebuild
index c23ea8b..7d7266e 100644
--- a/dev-lisp/sbcl/sbcl-1.3.13.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.3.13.ebuild
@@ -101,8 +101,8 @@ src_prepare() {
 	eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
-	# bug #599902
-	eapply "${FILESDIR}"/${PN}-1.3.11-config.patch
+	# bug #599902, #607302
+	eapply "${FILESDIR}"/${PN}-1.3.13-config.patch
 
 	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
 	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2017-02-09 15:01 José María Alonso
  0 siblings, 0 replies; 16+ messages in thread
From: José María Alonso @ 2017-02-09 15:01 UTC (permalink / raw
  To: gentoo-commits

commit:     02d2f6de0f054250af528d20cb9d4594ee5352a6
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 15:01:13 2017 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 15:01:41 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02d2f6de

dev-lisp/sbcl: Removes -no-pie GCC option

Fixes bug #608678

Package-Manager: portage-2.3.3

 dev-lisp/sbcl/files/sbcl-1.3.14-config.patch | 22 ++++++++++++++++++++++
 dev-lisp/sbcl/sbcl-1.3.14.ebuild             |  2 ++
 2 files changed, 24 insertions(+)

diff --git a/dev-lisp/sbcl/files/sbcl-1.3.14-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.14-config.patch
new file mode 100644
index 0000000000..c12700d0d6
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.3.14-config.patch
@@ -0,0 +1,22 @@
+diff -Nuar a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile
+--- a/src/runtime/GNUmakefile	2017-01-22 20:43:20.000000000 +0100
++++ b/src/runtime/GNUmakefile	2017-02-09 15:42:22.340029401 +0100
+@@ -39,18 +39,6 @@
+ # OS_SRC, OS_LIBS, OS_CLEAN_FILES
+ include Config
+ 
+-# Disable PIE when possible
+-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),)
+-CFLAGS += -fno-pie
+-LINKFLAGS += -no-pie
+-LDFLAGS += -no-pie
+-endif
+-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e -nopie),)
+-CFLAGS += -fno-pie
+-LINKFLAGS += -nopie
+-LDFLAGS += -nopie
+-endif
+-
+ COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c dynbind.c     \
+ 	funcall.c gc-common.c globals.c interr.c interrupt.c            \
+ 	largefile.c monitor.c os-common.c parse.c print.c purify.c      \

diff --git a/dev-lisp/sbcl/sbcl-1.3.14.ebuild b/dev-lisp/sbcl/sbcl-1.3.14.ebuild
index f737a35455..4712077392 100644
--- a/dev-lisp/sbcl/sbcl-1.3.14.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.3.14.ebuild
@@ -101,6 +101,8 @@ src_prepare() {
 	eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+	# bug #599902, #607302
+	eapply "${FILESDIR}"/${PN}-1.3.14-config.patch
 
 	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
 	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2017-07-02 16:21 José María Alonso
  0 siblings, 0 replies; 16+ messages in thread
From: José María Alonso @ 2017-07-02 16:21 UTC (permalink / raw
  To: gentoo-commits

commit:     7eed8d59a77cd95930ebe7b963cfce992b2c33cb
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  2 16:21:00 2017 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 16:21:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7eed8d59

dev-lisp/sbcl: Bumps version to 1.3.19

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 dev-lisp/sbcl/Manifest                             |   2 +
 .../sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch  | 363 +++++++++++++++++++++
 dev-lisp/sbcl/sbcl-1.3.19.ebuild                   | 234 +++++++++++++
 3 files changed, 599 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 16d048c7417..8ae0ad34189 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -28,4 +28,6 @@ DIST sbcl-1.3.17-source.tar.bz2 5833092 SHA256 94b9f576328de3a5d9ced452fdaa4d2f5
 DIST sbcl-1.3.17-x86-64-linux-binary.tar.bz2 10932931 SHA256 d782a1b6f0666b26c9e7c2487bbb1c542c5c597627f1ead3d6692970df369987 SHA512 eb40084f24c3f98a54d67a9a2675e4be5fb5bafb6ec356653ad0b9b76d74b4c337ba2ad07171287e0ecc792714d0dcf8f703dce7c99a28f96aa1d360cbbbc35d WHIRLPOOL 88217d20fc95726089eeca8086e9d66bb067fbff777a0843be50abdf4f14affaca2d3d446569ecfe3d27f59cd81c12a50f33c2e23bc1a9168712b181c356d957
 DIST sbcl-1.3.18-source.tar.bz2 5850931 SHA256 fb2d622cba55ac441b7eb1be3c7343cd5e80f0c194bc648341aa0bb08f61398e SHA512 a5d5370ea99086a969959ebddf18c2f3593abde56776dbbe735cd732eb65addc0c1b684346bd0637fdcbfc1e3d740de31b3eb2ae28b3a7a50f8c51b0ab38464a WHIRLPOOL dc02f6b05bb15b8c270779345d0a8eeb0b6aee88b36a9591f0bbcfb970b201e56546b44d8827b48edf0a51f7e76aa9dc2b9092c72c0295ddd4bb378e7075d4f3
 DIST sbcl-1.3.18-x86-64-linux-binary.tar.bz2 10959273 SHA256 eb44d9efb4389f71c05af0327bab7cd18f8bb221fb13a6e458477a9194853958 SHA512 b93f74fb36de3cebf87d3e742dcc65072b26259ebf7386227ef6f07ad7f8df512d504dbf87298e1b5eb7fefe0b8760fcf777fdc1cf7ed1c3ddb99d4a71b92864 WHIRLPOOL e0ae9cad97a505a8d1fd80b0e6bd2ef30183256bc7f51ffff1fb50190f7a84834f16f3f12f5b27bceb31c5b8fd165a1d6e0eb61842cf16cfd61330bbf3a98c6c
+DIST sbcl-1.3.19-source.tar.bz2 5872299 SHA256 b5eb98537aaa7afe24851a6da2f65798c6607e975062618dba33fa3a087fc018 SHA512 d2e23b30502362efc5256c63f56199603d5264dcda1f9be58136246656db1788fbd98b3129f3249e2dff4367dfd67faff2fb62a9a97ce3b73f21c7cb9c84ecec WHIRLPOOL 7d3c90c74b2483d2f444dd11e9e1fca57753c69ca411c9d19f9abe91fa9e61b5318b944739003b7cf892e47c395efae58ad37b502f2aadbcffe5372efd5ce6fe
+DIST sbcl-1.3.19-x86-64-linux-binary.tar.bz2 10552568 SHA256 d9207dd75d631919bc99d500fd441cfbfded63e1c3985a8a08dbc60d658adad8 SHA512 2f8fffa067adac2798e39dc9b23715b4bef7fd9681de1c5253d4e8c897652e2ac71b493c433ea3d6fb57b4e104b7d8cfe279ea5a3c73f38b6a3c0a77484acdc7 WHIRLPOOL 663b377af82136f95181fd0abeb41930ea40eac5989b54abed3e537825c2c099b10d77ca3fbdf19c2065c17ece75a0e1d9d0c179206b6502fe65e15a4fe8f0f0
 DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919

diff --git a/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch
new file mode 100644
index 00000000000..c5a16ae0577
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch
@@ -0,0 +1,363 @@
+diff -Nuar a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp
+--- a/contrib/sb-bsd-sockets/tests.lisp	2017-06-28 12:51:14.000000000 +0200
++++ b/contrib/sb-bsd-sockets/tests.lisp	2017-07-02 17:18:23.862316798 +0200
+@@ -35,15 +35,15 @@
+ ;;; See https://bugs.launchpad.net/sbcl/+bug/659857
+ ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
+ ;;; for unknown protocols...
+-#-(and freebsd sb-thread)
+-#-(and dragonfly sb-thread)
+-(deftest get-protocol-by-name/error
+-  (handler-case (get-protocol-by-name "nonexistent-protocol")
+-    (unknown-protocol ()
+-      t)
+-    (:no-error ()
+-      nil))
+-  t)
++;#-(and freebsd sb-thread)
++;#-(and dragonfly sb-thread)
++;(deftest get-protocol-by-name/error
++;  (handler-case (get-protocol-by-name "nonexistent-protocol")
++;    (unknown-protocol ()
++;      t)
++;    (:no-error ()
++;      nil))
++;  t)
+ 
+ (when (handler-case (make-instance 'inet-socket
+                                    :type :stream
+@@ -102,21 +102,21 @@
+       (:no-error nil))
+   t)
+ 
+-#-win32
+-(deftest make-inet6-socket.smoke
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
+-
+-#-win32
+-(deftest make-inet6-socket.keyword
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;#-win32
++;(deftest make-inet6-socket.smoke
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
++
++;#-win32
++;(deftest make-inet6-socket.keyword
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ #+ipv4-support
+ (deftest* (non-block-socket)
+@@ -125,55 +125,55 @@
+     (non-blocking-mode s))
+   t)
+ 
+-#+ipv4-support
+-(deftest inet-socket-bind
+-  (let* ((tcp (get-protocol-by-name "tcp"))
+-         (address (make-inet-address "127.0.0.1"))
+-         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
+-         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
+-    (unwind-protect
+-         ;; Given the functions we've got so far, if you can think of a
+-         ;; better way to make sure the bind succeeded than trying it
+-         ;; twice, let me know
+-         (progn
+-           (socket-bind s1 address 0)
+-           (handler-case
+-               (let ((port (nth-value 1 (socket-name s1))))
+-                 (socket-bind s2 address port)
+-                 nil)
+-             (address-in-use-error () t)))
+-      (socket-close s1)
+-      (socket-close s2)))
+-  t)
+-
+-#-win32
+-(deftest inet6-socket-bind
+-  (handler-case
+-      (let* ((tcp (get-protocol-by-name "tcp"))
+-             (address (make-inet6-address "::1"))
+-             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
+-             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
+-        (unwind-protect
+-             ;; Given the functions we've got so far, if you can think of a
+-             ;; better way to make sure the bind succeeded than trying it
+-             ;; twice, let me know
+-             (handler-case
+-                 (socket-bind s1 address 0)
+-               (socket-error ()
+-                 ;; This may mean no IPv6 support, can't fail a test
+-                 ;; because of that (address-family-not-supported doesn't catch that)
+-                 t)
+-               (:no-error (x)
+-                 (declare (ignore x))
+-                 (handler-case
+-                     (let ((port (nth-value 1 (socket-name s1))))
+-                       (socket-bind s2 address port)
+-                       nil)
+-                   (address-in-use-error () t))))
+-          (socket-close s1)
+-          (socket-close s2)))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;#+ipv4-support
++;(deftest inet-socket-bind
++;  (let* ((tcp (get-protocol-by-name "tcp"))
++;         (address (make-inet-address "127.0.0.1"))
++;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
++;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
++;    (unwind-protect
++;         ;; Given the functions we've got so far, if you can think of a
++;         ;; better way to make sure the bind succeeded than trying it
++;         ;; twice, let me know
++;         (progn
++;           (socket-bind s1 address 0)
++;           (handler-case
++;               (let ((port (nth-value 1 (socket-name s1))))
++;                 (socket-bind s2 address port)
++;                 nil)
++;             (address-in-use-error () t)))
++;      (socket-close s1)
++;      (socket-close s2)))
++;  t)
++
++;#-win32
++;(deftest inet6-socket-bind
++;  (handler-case
++;      (let* ((tcp (get-protocol-by-name "tcp"))
++;             (address (make-inet6-address "::1"))
++;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
++;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
++;        (unwind-protect
++;             ;; Given the functions we've got so far, if you can think of a
++;             ;; better way to make sure the bind succeeded than trying it
++;             ;; twice, let me know
++;             (handler-case
++;                 (socket-bind s1 address 0)
++;               (socket-error ()
++;                 ;; This may mean no IPv6 support, can't fail a test
++;                 ;; because of that (address-family-not-supported doesn't catch that)
++;                 t)
++;               (:no-error (x)
++;                 (declare (ignore x))
++;                 (handler-case
++;                     (let ((port (nth-value 1 (socket-name s1))))
++;                       (socket-bind s2 address port)
++;                       nil)
++;                   (address-in-use-error () t))))
++;          (socket-close s1)
++;          (socket-close s2)))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ #+ipv4-support
+ (deftest* (simple-sockopt-test)
+@@ -241,37 +241,37 @@
+ ;;; to look at /etc/syslog.conf or local equivalent to find out where
+ ;;; the message ended up
+ 
+-#-win32
+-(deftest simple-local-client
+-    (progn
+-      ;; SunOS (Solaris) and Darwin systems don't have a socket at
+-      ;; /dev/log.  We might also be building in a chroot or
+-      ;; something, so don't fail this test just because the file is
+-      ;; unavailable, or if it's a symlink to some weird character
+-      ;; device.
+-      (when (block nil
+-              (handler-bind ((sb-posix:syscall-error
+-                              (lambda (e)
+-                                (declare (ignore e))
+-                                (return nil))))
+-                (sb-posix:s-issock
+-                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
+-        (let ((s (make-instance 'local-socket :type :datagram)))
+-          (format t "Connecting ~A... " s)
+-          (finish-output)
+-          (handler-case
+-              (socket-connect s "/dev/log")
+-            (sb-bsd-sockets::socket-error ()
+-              (setq s (make-instance 'local-socket :type :stream))
+-              (format t "failed~%Retrying with ~A... " s)
+-              (finish-output)
+-              (socket-connect s "/dev/log")))
+-          (format t "ok.~%")
+-          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
+-            (format stream
+-                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
+-      t)
+-  t)
++;#-win32
++;(deftest simple-local-client
++;    (progn
++;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
++;      ;; /dev/log.  We might also be building in a chroot or
++;      ;; something, so don't fail this test just because the file is
++;      ;; unavailable, or if it's a symlink to some weird character
++;      ;; device.
++;      (when (block nil
++;              (handler-bind ((sb-posix:syscall-error
++;                              (lambda (e)
++;                                (declare (ignore e))
++;                                (return nil))))
++;                (sb-posix:s-issock
++;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
++;        (let ((s (make-instance 'local-socket :type :datagram)))
++;          (format t "Connecting ~A... " s)
++;          (finish-output)
++;          (handler-case
++;              (socket-connect s "/dev/log")
++;            (sb-bsd-sockets::socket-error ()
++;              (setq s (make-instance 'local-socket :type :stream))
++;              (format t "failed~%Retrying with ~A... " s)
++;              (finish-output)
++;              (socket-connect s "/dev/log")))
++;          (format t "ok.~%")
++;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
++;            (format stream
++;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
++;      t)
++;  t)
+ 
+ 
+ ;;; these require that the internet (or bits of it, at least) is available
+@@ -388,60 +388,60 @@
+        (format t "Received ~A bytes from ~A:~A - ~A ~%"
+                len address port (subseq buf 0 (min 10 len)))))))
+ 
+-#+(and ipv4-support sb-thread)
+-(deftest interrupt-io
+-    (let (result)
+-      (labels
+-          ((client (port)
+-             (setf result
+-                   (let ((s (make-instance 'inet-socket
+-                                           :type :stream
+-                                           :protocol :tcp)))
+-                     (socket-connect s #(127 0 0 1) port)
+-                     (let ((stream (socket-make-stream s
+-                                                       :input t
+-                                                       :output t
+-                                                       :buffering :none)))
+-                       (handler-case
+-                           (prog1
+-                               (catch 'stop
+-                                 (progn
+-                                   (read-char stream)
+-                                   (sleep 0.1)
+-                                   (sleep 0.1)
+-                                   (sleep 0.1)))
+-                             (close stream))
+-                         (error (c)
+-                           c))))))
+-           (server ()
+-             (let ((s (make-instance 'inet-socket
+-                                     :type :stream
+-                                     :protocol :tcp)))
+-               (setf (sockopt-reuse-address s) t)
+-               (socket-bind s (make-inet-address "127.0.0.1") 0)
+-               (socket-listen s 5)
+-               (multiple-value-bind (* port)
+-                   (socket-name s)
+-                 (let* ((client (sb-thread:make-thread
+-                                 (lambda () (client port))))
+-                        (r (socket-accept s))
+-                        (stream (socket-make-stream r
+-                                                    :input t
+-                                                    :output t
+-                                                    :buffering :none))
+-                        (ok :ok))
+-                   (socket-close s)
+-                   (sleep 5)
+-                   (sb-thread:interrupt-thread client
+-                                               (lambda () (throw 'stop ok)))
+-                   (sleep 5)
+-                   (setf ok :not-ok)
+-                   (write-char #\x stream)
+-                   (close stream)
+-                   (socket-close r))))))
+-        (server))
+-      result)
+-  :ok)
++;#+(and ipv4-support sb-thread)
++;(deftest interrupt-io
++;    (let (result)
++;      (labels
++;          ((client (port)
++;             (setf result
++;                   (let ((s (make-instance 'inet-socket
++;                                           :type :stream
++;                                           :protocol :tcp)))
++;                     (socket-connect s #(127 0 0 1) port)
++;                     (let ((stream (socket-make-stream s
++;                                                       :input t
++;                                                       :output t
++;                                                       :buffering :none)))
++;                       (handler-case
++;                           (prog1
++;                               (catch 'stop
++;                                 (progn
++;                                   (read-char stream)
++;                                   (sleep 0.1)
++;                                   (sleep 0.1)
++;                                   (sleep 0.1)))
++;                             (close stream))
++;                         (error (c)
++;                           c))))))
++;           (server ()
++;             (let ((s (make-instance 'inet-socket
++;                                     :type :stream
++;                                     :protocol :tcp)))
++;               (setf (sockopt-reuse-address s) t)
++;               (socket-bind s (make-inet-address "127.0.0.1") 0)
++;               (socket-listen s 5)
++;               (multiple-value-bind (* port)
++;                   (socket-name s)
++;                 (let* ((client (sb-thread:make-thread
++;                                 (lambda () (client port))))
++;                        (r (socket-accept s))
++;                        (stream (socket-make-stream r
++;                                                    :input t
++;                                                    :output t
++;                                                    :buffering :none))
++;                        (ok :ok))
++;                   (socket-close s)
++;                   (sleep 5)
++;                   (sb-thread:interrupt-thread client
++;                                               (lambda () (throw 'stop ok)))
++;                   (sleep 5)
++;                   (setf ok :not-ok)
++;                   (write-char #\x stream)
++;                   (close stream)
++;                   (socket-close r))))))
++;        (server))
++;      result)
++;  :ok)
+ 
+ (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body)
+   (let ((listen-socket (gensym "LISTEN-SOCKET")))
+@@ -501,5 +501,6 @@
+             (define-shutdown-test ,(make-name 'shutdown.client.ub8)
+               client server (unsigned-byte 8) ,direction)))))
+ 
+-  (define-shutdown-tests :output)
+-  (define-shutdown-tests :io))
++;  (define-shutdown-tests :output)
++;  (define-shutdown-tests :io)
++)

diff --git a/dev-lisp/sbcl/sbcl-1.3.19.ebuild b/dev-lisp/sbcl/sbcl-1.3.19.ebuild
new file mode 100644
index 00000000000..acdabe50434
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-1.3.19.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib eutils flag-o-matic pax-utils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.2.7
+BV_AMD64=1.3.19
+BV_PPC=1.2.7
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=1.3.12
+BV_ARM64=1.3.16
+BV_PPC_MACOS=1.0.47
+BV_X86_MACOS=1.1.6
+BV_X64_MACOS=1.2.11
+BV_SPARC_SOLARIS=1.0.23
+BV_X86_SOLARIS=1.2.7
+BV_X64_SOLARIS=1.2.7
+
+DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
+HOMEPAGE="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
+	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
+	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
+	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND=">=dev-lisp/asdf-3.1:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		!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 zlib)" ":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}
+	mv sbcl-*-* sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	# bug #468482
+	eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
+	# bugs #486552, #527666, #517004
+	eapply "${FILESDIR}"/${PN}-1.3.19-bsd-sockets-test.patch
+	# bugs #560276, #561018
+	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+
+	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
+	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
+
+	eapply_user
+
+	# bug #526194
+	sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
+		-e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
+		-i src/runtime/GNUmakefile || die
+
+	sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
+		-i make-config.sh || die
+
+	cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || 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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	strip-unsupported-flags ; filter-flags -fomit-frame-pointer
+
+	if use pax_kernel ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# 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}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| 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
+	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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2019-01-03 15:44 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2019-01-03 15:44 UTC (permalink / raw
  To: gentoo-commits

commit:     f6fac3aeaad8c83b552f800ce75449962d31d524
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  3 15:42:45 2019 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Thu Jan  3 15:43:57 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6fac3ae

dev-lisp/sbcl: fix the capstone test

Suggested-by:  Helmut Jarausch <jarausch <AT> igpm.rwth-aachen.de>
Closes: https://bugs.gentoo.org/673522
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>
Package-Manager: Portage-2.3.41, Repoman-2.3.9

 dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch | 15 +++++++++++++++
 dev-lisp/sbcl/sbcl-1.4.15.ebuild               |  1 +
 2 files changed, 16 insertions(+)

diff --git a/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch b/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch
new file mode 100644
index 00000000000..057b1c5a3b8
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch
@@ -0,0 +1,15 @@
+--- a/contrib/sb-capstone/tests.lisp.ORIG	2018-12-04 17:44:02.000000000 +0100
++++ b/contrib/sb-capstone/tests.lisp	2019-01-03 10:22:33.649177090 +0100
+@@ -65,10 +65,10 @@
+                 t)
+ 
+ 
+-(deftest ppc-little-endian (capstone-check '(#x03 #x10 #x40 #x3c #x00 #x81 #x42 #x38)
++(deftest ppc-little-endian (capstone-check '(#x03 #x10 #x40 #x3c #x00 #x71 #x42 #x38)
+                                            '(:ppc64 :little-endian)
+                                            '("LIS R2, 0X1003"
+-                                             "ADDI R2, R2, -0X7F00"))
++                                             "ADDI R2, R2, 0X7100"))
+                            t)
+ 
+ (deftest ppc-big-endian (capstone-check '(#x7c #x08 #x02 #xa6)

diff --git a/dev-lisp/sbcl/sbcl-1.4.15.ebuild b/dev-lisp/sbcl/sbcl-1.4.15.ebuild
index 3ab2c80ba0c..381f9f3a335 100644
--- a/dev-lisp/sbcl/sbcl-1.4.15.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.4.15.ebuild
@@ -104,6 +104,7 @@ src_prepare() {
 
 	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
 	eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.patch
+	eapply "${FILESDIR}"/${P}-capstone.patch
 
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2019-06-01 11:19 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2019-06-01 11:19 UTC (permalink / raw
  To: gentoo-commits

commit:     bda3d776acdd87b0d12b3fdeb8c3f4b46e326d20
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  1 11:19:11 2019 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sat Jun  1 11:19:11 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bda3d776

dev-lisp/sbcl: bump to 1.5.3

Package-Manager: Portage-2.3.67, Repoman-2.3.13
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                           |   2 +
 dev-lisp/sbcl/files/concurrency-test-1.5.3.patch |  17 ++
 dev-lisp/sbcl/sbcl-1.5.3.ebuild                  | 246 +++++++++++++++++++++++
 3 files changed, 265 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index ad1f9145451..246e50c00ca 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -21,3 +21,5 @@ DIST sbcl-1.4.8-x86-64-linux-binary.tar.bz2 10353701 BLAKE2B 5b56f46fbdb87f015ed
 DIST sbcl-1.4.9-source.tar.bz2 6051607 BLAKE2B 8abcaf73233ea1a23d47987b16554636dcf94acfbc7ab731f0730fdb4a8176593fb3ab52d9b25b3dd56753cd984f7e0eddb1585a142eb7ad1aa5e3e03d7b0ca9 SHA512 e0248f460f9737d47653dd520732062d2637813b550df356ecc90aa6d21fbdd74f03182d1e890c09c1da742f7d57b4fbd04a4e6dc36999aca51bb6c2952ac236
 DIST sbcl-1.5.0-source.tar.bz2 6257355 BLAKE2B bbdca91c5baa28e4522bf37be041a2f7e8237d15c700f49960516e578ee7509fa3959022df3a7c3a4125bc2893f99d0a839a02ad484d5061cccffe900a078baf SHA512 c09fb26ec7abdb5275165806c61000bc258281d9e745eafe67ac5a6542fcca2741395de5f39aebaf140d2ec9a58327e883fee8a6c4f320f4cbbd204806b7b5c7
 DIST sbcl-1.5.0-x86-64-linux-binary.tar.bz2 10487197 BLAKE2B 48e87b24ef0681cbeb9306c8b28516d312c076ae9c2cc0f6e9c0100a24a445b0884ce23e06868783b9166dcd89bf2d0b0670b375967beb2fcbd4d2a203db428c SHA512 072fee950131d0327a6d44a2c808a03eda6a4ab36b8ed1ef9b9ca48662fe11ea62662b007d5e579d06b84424db8db682d831013f68fe028111d32085187160c1
+DIST sbcl-1.5.3-source.tar.bz2 6343923 BLAKE2B c7b04fbba5563270037d3abcc3c4a2def210721cf7fcf8da9a3133f8079fb4a512b01f32c47d22c9abce27f917350ef9cbaacd897a32a30c5f74ee55db91191e SHA512 022af0fa74701c530d98816b0696f5db4e8fc9a47b10fad17952239f77f160a1bc6791bf2f18e02ddbe249ab379d458ee8cee817f66dbc26dcbbcc855cd3ee21
+DIST sbcl-1.5.3-x86-64-linux-binary.tar.bz2 9920503 BLAKE2B e22750a5258c6a31378487ed20410d689c05792f906d37d73501ccbeac236f1296479ca2dec2d1ad40e38a00a3e3f3ff27a352e96932d89a76b426734bca0213 SHA512 9ff183529cfeec6ab7a1b5fb9f727463ad497333d1f6a75d1501c251d19e0510490743ddd8a3075d73854160fa5c07ce9b6e29011c6991a7851ba35593b0c735

diff --git a/dev-lisp/sbcl/files/concurrency-test-1.5.3.patch b/dev-lisp/sbcl/files/concurrency-test-1.5.3.patch
new file mode 100644
index 00000000000..8c2e89fccfc
--- /dev/null
+++ b/dev-lisp/sbcl/files/concurrency-test-1.5.3.patch
@@ -0,0 +1,17 @@
+diff -r -U2 sbcl-1.5.3.orig/contrib/sb-concurrency/tests/test-frlock.lisp sbcl-1.5.3/contrib/sb-concurrency/tests/test-frlock.lisp
+--- sbcl-1.5.3.orig/contrib/sb-concurrency/tests/test-frlock.lisp	2019-05-27 22:03:04.000000000 +0200
++++ sbcl-1.5.3/contrib/sb-concurrency/tests/test-frlock.lisp	2019-06-01 11:41:21.260384857 +0200
+@@ -26,5 +26,5 @@
+                           (read-count 1000000)
+                           (outer-read-pause 0) (inner-read-pause 0)
+-                          (writer-count 10) (write-count (/ 1 *minimum-sleep*))
++                          (writer-count 10) (write-count 5000)
+                           (outer-write-pause *minimum-sleep*) (inner-write-pause 0))
+     (let ((rw (make-frlock))
+@@ -89,5 +89,5 @@
+ (deftest* (frlock.1)
+     (handler-case
+-        (sb-ext:with-timeout 20
++        (sb-ext:with-timeout 240
+           (test-frlocks #+win32 :outer-write-pause #+win32 t ))
+       (sb-ext:timeout (c)

diff --git a/dev-lisp/sbcl/sbcl-1.5.3.ebuild b/dev-lisp/sbcl/sbcl-1.5.3.ebuild
new file mode 100644
index 00000000000..35e36b9e41a
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-1.5.3.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib eutils flag-o-matic pax-utils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.4.3
+BV_AMD64=1.5.3
+BV_PPC=1.2.7
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=1.4.11
+BV_ARM64=1.4.2
+BV_X86_MACOS=1.1.6
+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="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+	arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
+	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
+	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
+	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND=">=dev-lisp/asdf-3.1:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		!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 zlib)" ":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}
+	mv sbcl-*-* sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	# bug #468482
+	eapply "${FILESDIR}"/concurrency-test-1.5.3.patch
+	# bugs #486552, #527666, #517004
+	eapply "${FILESDIR}"/${PN}-1.4.0-bsd-sockets-test.patch
+	# bugs #560276, #561018
+	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+
+	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
+	eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	if use pax_kernel ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# 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}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| 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
+	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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2019-09-24 10:32 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2019-09-24 10:32 UTC (permalink / raw
  To: gentoo-commits

commit:     13adf263bd69595a6436b12da6aba3714a29b94f
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 10:32:45 2019 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 10:32:45 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13adf263

dev-lisp/sbcl: drop old versions

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                         |   4 -
 dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch |  15 --
 dev-lisp/sbcl/sbcl-1.4.15.ebuild               | 247 -------------------------
 dev-lisp/sbcl/sbcl-1.5.0.ebuild                | 246 ------------------------
 4 files changed, 512 deletions(-)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index a62846964a8..1297df0d1cf 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -13,14 +13,10 @@ DIST sbcl-1.3.11-x86-64-linux-binary.tar.bz2 9248214 BLAKE2B f1f6ebbec168a47d740
 DIST sbcl-1.3.12-armhf-linux-binary.tar.bz2 9193847 BLAKE2B 27106c0144ee99f534cd0a59cfb331ef8f39dbefdc76e294a8671523b1c05f42353d31b8e74600dd01f85fb5156d39216a877d77aba57a061427ea1dc28a492e SHA512 5bdb4e2b584933e9ee9aaa2ba68328f219f072af802782ee5dedf83baa5c679cd5a1ccbf3458678810ccb8679ffd392d4fba108e86d537e10554c1860bfd4de5
 DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 BLAKE2B 0dbfe39803d6e3955124fa1a619da7b6d4ec9e7d6eb78e868508c61bf478a980cb15ba427ef0b38d0f051ce38b881020534c0d37bfbcd81a8d763654283669ec SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd
 DIST sbcl-1.4.11-armhf-linux-binary.tar.bz2 9767589 BLAKE2B 2949338bc19973e0ca38f435caaa4c991a6c86d70dc092a4f1b6ec3eefa47af76f2a0c3fd8a4f8004127f4b8b3666a5cf4260b6ab56802308880067e4eaf8568 SHA512 297edddc36e9b9de080f9e25faa323e23877af234104b4b7e0fe2b74f0dd117d9cf0caa87b79718a8b071bcb5e97c8118f1d11af0e4aba2a961beb40c4dc99cb
-DIST sbcl-1.4.15-source.tar.bz2 6203416 BLAKE2B 181f237bf91c5923a343f8a249af78d6cd8c17b8af5fb93a9045677f1c604367dba5f4eb135dd368da48b55af6dfef8e2ea788c435a0ad787bcb6d4edebd3edf SHA512 9b38549c9a6170616b6966f98240df088f4a7c01d8aa939a8d38e1b2a7fdf5cea02c0346aa64c825949477ba56d57960db69018e31ec8ef6d78c8217a240a8db
-DIST sbcl-1.4.15-x86-64-linux-binary.tar.bz2 10318352 BLAKE2B 2da21f7a72602d461849adbdda2c3149b5bd66c0639964ef0bd78f4095f8caa229f1c3f0247d03c49773f9b716cc92ed760e5ba5c08005f73263a3ceef8d4e42 SHA512 0b07a9625b227537d264263e5cf9a32b6e4a6389bce2a60a7f4569441d0c22d6ec1bacfa4e43952ec766edd1336d1afc00c9da21bd8308c483a46cbe0824e11b
 DIST sbcl-1.4.2-arm64-linux-binary.tar.bz2 10578821 BLAKE2B 1cd25c548be0f1b7ec01edc3bee7fe6c2aaf07b7bd1fc55d408dee7ac95e8f3761a194bf9e8efb734179a7eff04cdae2fe5ba4a9ba5ab06f7322ac1550d142cc SHA512 39bbd735b242aa0bbac05c6f4dbe28cb45e01684db7e5b4f1e51f995a9f9d5b484f63cc4243f472f72b3b1e6c4cd2268a7e812b15426eca5cf9a1fede10f44bb
 DIST sbcl-1.4.3-x86-linux-binary.tar.bz2 10227185 BLAKE2B 6d77c4f4177cbdb72fb9bab0da5bd91e0aa8deafffd238818a2551332f0ab246715d9489b5c1156f3481aa7fb79d161a988404620fc09fe86ff927543a1ee678 SHA512 41cd63d61dd7c46370341dce39a362287a23b528bfebe8e5571614aeefdea03d318207d25562e995db9ccedb6c1f50ea4d66627721f0fd9486e99440126e6a38
 DIST sbcl-1.4.8-x86-64-linux-binary.tar.bz2 10353701 BLAKE2B 5b56f46fbdb87f015ed1fe103b6caaf43d2d424b45e2574e306b3d3cbc3c7bdfa48847a2e6d7d819e6bf4b59fa02ea01f9ce6b023802ae6f91fc7f56e5a260de SHA512 f3cb3c30dec1b7e6ac0c1b67de26192723871f8a8d543a41d7c4d04b0813fd7da1043433237b648a2c23f73169fe38f2ec3a3c2bd412eb4c9d36ed929c40f27d
 DIST sbcl-1.4.9-source.tar.bz2 6051607 BLAKE2B 8abcaf73233ea1a23d47987b16554636dcf94acfbc7ab731f0730fdb4a8176593fb3ab52d9b25b3dd56753cd984f7e0eddb1585a142eb7ad1aa5e3e03d7b0ca9 SHA512 e0248f460f9737d47653dd520732062d2637813b550df356ecc90aa6d21fbdd74f03182d1e890c09c1da742f7d57b4fbd04a4e6dc36999aca51bb6c2952ac236
-DIST sbcl-1.5.0-source.tar.bz2 6257355 BLAKE2B bbdca91c5baa28e4522bf37be041a2f7e8237d15c700f49960516e578ee7509fa3959022df3a7c3a4125bc2893f99d0a839a02ad484d5061cccffe900a078baf SHA512 c09fb26ec7abdb5275165806c61000bc258281d9e745eafe67ac5a6542fcca2741395de5f39aebaf140d2ec9a58327e883fee8a6c4f320f4cbbd204806b7b5c7
-DIST sbcl-1.5.0-x86-64-linux-binary.tar.bz2 10487197 BLAKE2B 48e87b24ef0681cbeb9306c8b28516d312c076ae9c2cc0f6e9c0100a24a445b0884ce23e06868783b9166dcd89bf2d0b0670b375967beb2fcbd4d2a203db428c SHA512 072fee950131d0327a6d44a2c808a03eda6a4ab36b8ed1ef9b9ca48662fe11ea62662b007d5e579d06b84424db8db682d831013f68fe028111d32085187160c1
 DIST sbcl-1.5.3-source.tar.bz2 6343923 BLAKE2B c7b04fbba5563270037d3abcc3c4a2def210721cf7fcf8da9a3133f8079fb4a512b01f32c47d22c9abce27f917350ef9cbaacd897a32a30c5f74ee55db91191e SHA512 022af0fa74701c530d98816b0696f5db4e8fc9a47b10fad17952239f77f160a1bc6791bf2f18e02ddbe249ab379d458ee8cee817f66dbc26dcbbcc855cd3ee21
 DIST sbcl-1.5.3-x86-64-linux-binary.tar.bz2 9920503 BLAKE2B e22750a5258c6a31378487ed20410d689c05792f906d37d73501ccbeac236f1296479ca2dec2d1ad40e38a00a3e3f3ff27a352e96932d89a76b426734bca0213 SHA512 9ff183529cfeec6ab7a1b5fb9f727463ad497333d1f6a75d1501c251d19e0510490743ddd8a3075d73854160fa5c07ce9b6e29011c6991a7851ba35593b0c735
 DIST sbcl-1.5.6-source.tar.bz2 6370992 BLAKE2B f2b374c9870eda8b7f40e7c66dec8888167fcd17ead6c42cd07acd2f35684f150ab907a95eb2be8e84b741fad8d69bc7f2c10a8de8e568f8705baa0a91c951de SHA512 5adeb4c694d41c08c780d5f0ed2e0f4c830ea74fdb7b345813b1cd616a0b310c2394f4727b6f5a75b04bd0dda92ee774298bef7225253e7d325e8f83bc645320

diff --git a/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch b/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch
deleted file mode 100644
index 057b1c5a3b8..00000000000
--- a/dev-lisp/sbcl/files/sbcl-1.4.15-capstone.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/contrib/sb-capstone/tests.lisp.ORIG	2018-12-04 17:44:02.000000000 +0100
-+++ b/contrib/sb-capstone/tests.lisp	2019-01-03 10:22:33.649177090 +0100
-@@ -65,10 +65,10 @@
-                 t)
- 
- 
--(deftest ppc-little-endian (capstone-check '(#x03 #x10 #x40 #x3c #x00 #x81 #x42 #x38)
-+(deftest ppc-little-endian (capstone-check '(#x03 #x10 #x40 #x3c #x00 #x71 #x42 #x38)
-                                            '(:ppc64 :little-endian)
-                                            '("LIS R2, 0X1003"
--                                             "ADDI R2, R2, -0X7F00"))
-+                                             "ADDI R2, R2, 0X7100"))
-                            t)
- 
- (deftest ppc-big-endian (capstone-check '(#x7c #x08 #x02 #xa6)

diff --git a/dev-lisp/sbcl/sbcl-1.4.15.ebuild b/dev-lisp/sbcl/sbcl-1.4.15.ebuild
deleted file mode 100644
index 381f9f3a335..00000000000
--- a/dev-lisp/sbcl/sbcl-1.4.15.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 1999-2019 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib eutils flag-o-matic pax-utils
-
-#same order as http://www.sbcl.org/platform-table.html
-BV_X86=1.4.3
-BV_AMD64=1.4.15
-BV_PPC=1.2.7
-BV_SPARC=1.0.28
-BV_ALPHA=1.0.28
-BV_ARM=1.4.11
-BV_ARM64=1.4.2
-BV_X86_MACOS=1.1.6
-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="http://sbcl.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
-	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
-	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
-	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
-	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
-	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
-	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
-	arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
-	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
-	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
-	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
-	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
-	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
-	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="debug doc source +threads +unicode pax_kernel zlib"
-
-CDEPEND=">=dev-lisp/asdf-3.1:="
-DEPEND="${CDEPEND}
-		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
-		pax_kernel? ( sys-apps/elfix )"
-RDEPEND="${CDEPEND}
-		!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 zlib)" ":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}
-	mv sbcl-*-* sbcl-binary || die
-	cd "${S}"
-}
-
-src_prepare() {
-	# bug #468482
-	eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
-	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/${PN}-1.4.0-bsd-sockets-test.patch
-	# bugs #560276, #561018
-	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
-
-	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
-	eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.patch
-	eapply "${FILESDIR}"/${P}-capstone.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
-
-	# applying customizations
-	sbcl_apply_features
-}
-
-src_compile() {
-	local bindir="${WORKDIR}"/sbcl-binary
-
-	if use pax_kernel ; then
-		# To disable PaX on hardened systems
-		pax-mark -mr "${bindir}"/src/runtime/sbcl
-
-		# Hack to disable PaX on second GENESIS stage
-		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
-			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
-	fi
-
-	# 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}" \
-		GNUMAKE=make ./make.sh \
-		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
-		|| 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
-	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}"
-}

diff --git a/dev-lisp/sbcl/sbcl-1.5.0.ebuild b/dev-lisp/sbcl/sbcl-1.5.0.ebuild
deleted file mode 100644
index fb9e39aac07..00000000000
--- a/dev-lisp/sbcl/sbcl-1.5.0.ebuild
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib eutils flag-o-matic pax-utils
-
-#same order as http://www.sbcl.org/platform-table.html
-BV_X86=1.4.3
-BV_AMD64=1.5.0
-BV_PPC=1.2.7
-BV_SPARC=1.0.28
-BV_ALPHA=1.0.28
-BV_ARM=1.4.11
-BV_ARM64=1.4.2
-BV_X86_MACOS=1.1.6
-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="http://sbcl.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
-	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
-	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
-	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
-	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
-	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
-	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
-	arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
-	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
-	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
-	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
-	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
-	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
-	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="debug doc source +threads +unicode pax_kernel zlib"
-
-CDEPEND=">=dev-lisp/asdf-3.1:="
-DEPEND="${CDEPEND}
-		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
-		pax_kernel? ( sys-apps/elfix )"
-RDEPEND="${CDEPEND}
-		!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 zlib)" ":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}
-	mv sbcl-*-* sbcl-binary || die
-	cd "${S}"
-}
-
-src_prepare() {
-	# bug #468482
-	eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
-	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/${PN}-1.4.0-bsd-sockets-test.patch
-	# bugs #560276, #561018
-	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
-
-	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
-	eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.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
-
-	# applying customizations
-	sbcl_apply_features
-}
-
-src_compile() {
-	local bindir="${WORKDIR}"/sbcl-binary
-
-	if use pax_kernel ; then
-		# To disable PaX on hardened systems
-		pax-mark -mr "${bindir}"/src/runtime/sbcl
-
-		# Hack to disable PaX on second GENESIS stage
-		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
-			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
-	fi
-
-	# 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}" \
-		GNUMAKE=make ./make.sh \
-		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
-		|| 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
-	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}"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2020-01-30 15:39 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2020-01-30 15:39 UTC (permalink / raw
  To: gentoo-commits

commit:     222e649f1623596ab1ccafd246bba566bb2473da
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 30 15:38:47 2020 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Thu Jan 30 15:38:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=222e649f

dev-lisp/sbcl: bump to 2.0.1

Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                           |   2 +
 dev-lisp/sbcl/files/concurrency-test-2.0.1.patch |  12 ++
 dev-lisp/sbcl/sbcl-2.0.1.ebuild                  | 246 +++++++++++++++++++++++
 3 files changed, 260 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 9430a65a395..e645b4d96f7 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -24,3 +24,5 @@ DIST sbcl-1.5.8-source.tar.bz2 6409837 BLAKE2B cb503ee1db82f2e1a9c123b9b6b5052b2
 DIST sbcl-1.5.8-x86-64-linux-binary.tar.bz2 10145219 BLAKE2B aeccd48a5448e334d6cf3ca4e067ac23943256c2a729ff24b6b3c332c6c70c108b68a6903193a403176d4fbf4804c9f22add615e29fa09022f84b0190a429454 SHA512 d733929775be6fe5d46fd5b11c808eae89172a5a8694f1c2a7927cc364419529292d70f6902731f4c7822c85708555382de31b605440493bb281ccef552daf6c
 DIST sbcl-2.0.0-source.tar.bz2 6457217 BLAKE2B ae09d4d80ca7100fb412be570126918612eb5a3f27a8c17ced4e0c555d105f3180999f2663ea86910dda9d812d4297cceb8d7c43d5084d20902839e1f23bc739 SHA512 e458e11af6703d8cff973cf5167866b93fe5f6e1b2df3cbf0c1beb014eef2d737d83fc9cde5745d476ef5397a2c9b4b4148d2b77ebbcec13e0f284b2e0900906
 DIST sbcl-2.0.0-x86-64-linux-binary.tar.bz2 10196560 BLAKE2B 161d53df96817a50606ffc6a5ad502a94a1aa622e0a45c17c4ff4148deafb2e1db560aacd33b1198eb6fd3bc462b320e01d4925097bec3954f9d6ce564a2b1f5 SHA512 23d3974656a33ae0cfce340e2fbdd60a4e595353e7cc6e75dbab0242d7baaa30d677d1163d4440e953cd7f859fc737b073055b68fbeb2e57e3542a0133d7648f
+DIST sbcl-2.0.1-source.tar.bz2 6466983 BLAKE2B f040fb288f5b7adb8a7f56aae60a37e38034c2fed958b1361f473096769367b0a10a76a0e45380e6dcf3b4bd2c1038957448f70eede38b04c228a14e3afc1fc2 SHA512 1d92589033e123c21377f820dbc22e27f2610a372c5545799bec7c247795ba4b8b65102c7fe739f4a15a84579ec72f63fb9f4b197db5c6da1f8d59bd35966bea
+DIST sbcl-2.0.1-x86-64-linux-binary.tar.bz2 10151722 BLAKE2B 445fcaa5a6f1c2a7a7d80dd28d1126c33437af2a59dadd25cbbe9ca4e12488a985e78aa12095fda8e38e21dceca77a0e1bca0949133b0ac2666d4367bf881f68 SHA512 1d24981b42c5d91f6037ad6fed782786bbc75edcb2f125a6d5b793448d00c211af515f56b6dd70a68bd33ea7174fd1d96ef9ab353c96905835b6299dcb170f47

diff --git a/dev-lisp/sbcl/files/concurrency-test-2.0.1.patch b/dev-lisp/sbcl/files/concurrency-test-2.0.1.patch
new file mode 100644
index 00000000000..e0a36a8b3a2
--- /dev/null
+++ b/dev-lisp/sbcl/files/concurrency-test-2.0.1.patch
@@ -0,0 +1,12 @@
+diff -r -U3 sbcl-2.0.1.orig/contrib/sb-concurrency/tests/test-frlock.lisp sbcl-2.0.1/contrib/sb-concurrency/tests/test-frlock.lisp
+--- sbcl-2.0.1.orig/contrib/sb-concurrency/tests/test-frlock.lisp	2020-01-27 04:26:30.000000000 +0700
++++ sbcl-2.0.1/contrib/sb-concurrency/tests/test-frlock.lisp	2020-01-30 21:53:57.750913923 +0700
+@@ -88,7 +88,7 @@
+ #+sb-thread
+ (deftest* (frlock.1)
+     (handler-case
+-        (sb-ext:with-timeout 40
++        (sb-ext:with-timeout 240
+           (test-frlocks #+win32 :outer-write-pause #+win32 t ))
+       (sb-ext:timeout (c)
+         (error "~A" c)))

diff --git a/dev-lisp/sbcl/sbcl-2.0.1.ebuild b/dev-lisp/sbcl/sbcl-2.0.1.ebuild
new file mode 100644
index 00000000000..05eaaf6192e
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-2.0.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib eutils flag-o-matic pax-utils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.4.3
+BV_AMD64=2.0.1
+BV_PPC=1.2.7
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=1.4.11
+BV_ARM64=1.4.2
+BV_X86_MACOS=1.1.6
+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="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+	arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
+	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
+	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
+	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND=">=dev-lisp/asdf-3.1:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		!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 zlib)" ":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}
+	mv sbcl-*-* sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	# bug #468482
+	eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
+	# bugs #486552, #527666, #517004
+	eapply "${FILESDIR}"/${PN}-1.4.0-bsd-sockets-test.patch
+	# bugs #560276, #561018
+	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+
+	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
+	eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	if use pax_kernel ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# 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}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| 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
+	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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2020-06-08 14:05 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2020-06-08 14:05 UTC (permalink / raw
  To: gentoo-commits

commit:     7db670c8a01a22c28a3741f1f649743b30a7a558
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  8 14:05:22 2020 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Mon Jun  8 14:05:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7db670c8

dev-lisp/sbcl: bump to 2.0.5

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                           |   2 +
 dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch | 385 +++++++++++++++++++++++
 dev-lisp/sbcl/sbcl-2.0.5.ebuild                  | 246 +++++++++++++++
 3 files changed, 633 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index ef4fb214221..c4fc9dbe99b 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -30,3 +30,5 @@ DIST sbcl-2.0.3-source.tar.bz2 6489521 BLAKE2B f610367e2fbc58e47b3c7a825cd03344e
 DIST sbcl-2.0.3-x86-64-linux-binary.tar.bz2 10180812 BLAKE2B feebf6e957acd8cbe3a5549f6b9e5832d8ee6cc40e7c319a24db0be93cacbc33f5dd5cc3d187be0dfdee6997e3a114267ee0a8cf9fc7defbe63941739a3e2d44 SHA512 7d7fc106aa9c17552d5a7343a2776ebdc24613516c44523c568a4b4045baa9a5356c37480594bc7a6fe8e012c570963915dd80b18c50e4e58f273455d35a8b4d
 DIST sbcl-2.0.4-source.tar.bz2 6512479 BLAKE2B 95e42f8d77bb914cf0d45e59bb90c8229cbcf32352cebfc4b7fe44a00205751eddae7910b8453981bfe5ea16574ea3c539a7daecbe71d9c79fb93e65aac8b5df SHA512 855e25d3a25c558cfd4a97c6d6a0130910556ad4b1d4a7df924a34b50f1d9d3cc3d4373510353548c6ddf3000b55c70285ccbd888fab59f73d137c16539df816
 DIST sbcl-2.0.4-x86-64-linux-binary.tar.bz2 10189030 BLAKE2B 93a59750d6c7b89add194ffd7e165599a24d0f23aec8415c1cc5321ad059144c266fd9218f2923d86c4cc19cff1c62dde08ab8a68c7cab8487aa458dfda93f42 SHA512 68533e83a452ec56ee5520daef54c24cfbd4307d8aab231c726eec69562262f40213dd453879c6f82bf9f31d850561a5f3f99c1207a3197ccab8017c2208979d
+DIST sbcl-2.0.5-source.tar.bz2 6531110 BLAKE2B c658365c7247abb81fed8ef05a4edf8319df502ca5abed1b2908c9ffac24260bb654a2ad3a17573581a68ea6e6523ce4491e0ca53f36685f251aa168145dcf1a SHA512 0c27e22dd76d157a74ef7e97dcd03030096dde0eb46901ea27acb60faa0ab34881d76a9c6708d963b0e6f62da6331b85b8d3de76fd1fc9163c159e631759f808
+DIST sbcl-2.0.5-x86-64-linux-binary.tar.bz2 10176341 BLAKE2B 602d1c3f09082f62bee04ab9f6d0906567aa9d74f364ea4278b725bf6fbe820f0b470fe2b326adb85c2867a8e96476f4e27cc3e6a18abe6483ab2704d8a1eddf SHA512 0bd278cbdb72f62bd441b061459d074080ff6aeef61137247f56b9c91a05185245539691d6a8a4b8efdcab523e4ab3275b6f924154246aac42cc3b49f48b8198

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch
new file mode 100644
index 00000000000..3226e7539dc
--- /dev/null
+++ b/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch
@@ -0,0 +1,385 @@
+diff -U3 -r sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp
+--- sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp	2020-05-31 20:16:48.000000000 +0700
++++ sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp	2020-06-08 18:15:59.750860802 +0700
+@@ -18,16 +18,16 @@
+   (equalp (make-inet-address "242.1.211.3")  #(242 1 211 3))
+   t)
+ 
+-(deftest make-inet6-address.1
+-    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
+-            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
+-  t)
+-
+-(deftest unparse-inet6-address
+-    (string= (sb-bsd-sockets::unparse-inet6-address
+-              (make-inet6-address "fe80::abcd:1234"))
+-             "fe80::abcd:1234")
+-  t)
++;(deftest make-inet6-address.1
++;    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
++;            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
++;  t)
++
++;(deftest unparse-inet6-address
++;    (string= (sb-bsd-sockets::unparse-inet6-address
++;              (make-inet6-address "fe80::abcd:1234"))
++;             "fe80::abcd:1234")
++;  t)
+ 
+ (deftest get-protocol-by-name/tcp
+     (integerp (get-protocol-by-name "tcp"))
+@@ -40,15 +40,15 @@
+ ;;; See https://bugs.launchpad.net/sbcl/+bug/659857
+ ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
+ ;;; for unknown protocols...
+-#-(and freebsd sb-thread)
+-#-(and dragonfly sb-thread)
+-(deftest get-protocol-by-name/error
+-  (handler-case (get-protocol-by-name "nonexistent-protocol")
+-    (unknown-protocol ()
+-      t)
+-    (:no-error ()
+-      nil))
+-  t)
++;#-(and freebsd sb-thread)
++;#-(and dragonfly sb-thread)
++;(deftest get-protocol-by-name/error
++;  (handler-case (get-protocol-by-name "nonexistent-protocol")
++;    (unknown-protocol ()
++;      t)
++;    (:no-error ()
++;      nil))
++;  t)
+ 
+ (eval-when (:compile-toplevel :execute)
+   (when (handler-case (make-instance 'inet-socket
+@@ -108,19 +108,19 @@
+       (:no-error nil))
+   t)
+ 
+-(deftest make-inet6-socket.smoke
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
+-
+-(deftest make-inet6-socket.keyword
+-  (handler-case
+-      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
+-        (> (socket-file-descriptor s) 1))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;(deftest make-inet6-socket.smoke
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
++
++;(deftest make-inet6-socket.keyword
++;  (handler-case
++;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
++;        (> (socket-file-descriptor s) 1))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ #+ipv4-support
+ (deftest* (non-block-socket)
+@@ -129,54 +129,54 @@
+     (non-blocking-mode s))
+   t)
+ 
+-#+ipv4-support
+-(deftest inet-socket-bind
+-  (let* ((tcp (get-protocol-by-name "tcp"))
+-         (address (make-inet-address "127.0.0.1"))
+-         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
+-         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
+-    (unwind-protect
+-         ;; Given the functions we've got so far, if you can think of a
+-         ;; better way to make sure the bind succeeded than trying it
+-         ;; twice, let me know
+-         (progn
+-           (socket-bind s1 address 0)
+-           (handler-case
+-               (let ((port (nth-value 1 (socket-name s1))))
+-                 (socket-bind s2 address port)
+-                 nil)
+-             (address-in-use-error () t)))
+-      (socket-close s1)
+-      (socket-close s2)))
+-  t)
+-
+-(deftest inet6-socket-bind
+-  (handler-case
+-      (let* ((tcp (get-protocol-by-name "tcp"))
+-             (address (make-inet6-address "::1"))
+-             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
+-             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
+-        (unwind-protect
+-             ;; Given the functions we've got so far, if you can think of a
+-             ;; better way to make sure the bind succeeded than trying it
+-             ;; twice, let me know
+-             (handler-case
+-                 (socket-bind s1 address 0)
+-               (socket-error ()
+-                 ;; This may mean no IPv6 support, can't fail a test
+-                 ;; because of that (address-family-not-supported doesn't catch that)
+-                 t)
+-               (:no-error (x)
+-                 (declare (ignore x))
+-                 (handler-case
+-                     (let ((port (nth-value 1 (socket-name s1))))
+-                       (socket-bind s2 address port)
+-                       nil)
+-                   (address-in-use-error () t))))
+-          (socket-close s1)
+-          (socket-close s2)))
+-    ((or address-family-not-supported protocol-not-supported-error) () t))
+-  t)
++;#+ipv4-support
++;(deftest inet-socket-bind
++;  (let* ((tcp (get-protocol-by-name "tcp"))
++;         (address (make-inet-address "127.0.0.1"))
++;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
++;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
++;    (unwind-protect
++;         ;; Given the functions we've got so far, if you can think of a
++;         ;; better way to make sure the bind succeeded than trying it
++;         ;; twice, let me know
++;         (progn
++;           (socket-bind s1 address 0)
++;           (handler-case
++;               (let ((port (nth-value 1 (socket-name s1))))
++;                 (socket-bind s2 address port)
++;                 nil)
++;             (address-in-use-error () t)))
++;      (socket-close s1)
++;      (socket-close s2)))
++;  t)
++
++;(deftest inet6-socket-bind
++;  (handler-case
++;      (let* ((tcp (get-protocol-by-name "tcp"))
++;             (address (make-inet6-address "::1"))
++;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
++;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
++;        (unwind-protect
++;             ;; Given the functions we've got so far, if you can think of a
++;             ;; better way to make sure the bind succeeded than trying it
++;             ;; twice, let me know
++;             (handler-case
++;                 (socket-bind s1 address 0)
++;               (socket-error ()
++;                 ;; This may mean no IPv6 support, can't fail a test
++;                 ;; because of that (address-family-not-supported doesn't catch that)
++;                 t)
++;               (:no-error (x)
++;                 (declare (ignore x))
++;                 (handler-case
++;                     (let ((port (nth-value 1 (socket-name s1))))
++;                       (socket-bind s2 address port)
++;                       nil)
++;                   (address-in-use-error () t))))
++;          (socket-close s1)
++;          (socket-close s2)))
++;    ((or address-family-not-supported protocol-not-supported-error) () t))
++;  t)
+ 
+ #+ipv4-support
+ (deftest* (simple-sockopt-test)
+@@ -244,37 +244,37 @@
+ ;;; to look at /etc/syslog.conf or local equivalent to find out where
+ ;;; the message ended up
+ 
+-#-win32
+-(deftest simple-local-client
+-    (progn
+-      ;; SunOS (Solaris) and Darwin systems don't have a socket at
+-      ;; /dev/log.  We might also be building in a chroot or
+-      ;; something, so don't fail this test just because the file is
+-      ;; unavailable, or if it's a symlink to some weird character
+-      ;; device.
+-      (when (block nil
+-              (handler-bind ((sb-posix:syscall-error
+-                              (lambda (e)
+-                                (declare (ignore e))
+-                                (return nil))))
+-                (sb-posix:s-issock
+-                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
+-        (let ((s (make-instance 'local-socket :type :datagram)))
+-          (format t "Connecting ~A... " s)
+-          (finish-output)
+-          (handler-case
+-              (socket-connect s "/dev/log")
+-            (sb-bsd-sockets::socket-error ()
+-              (setq s (make-instance 'local-socket :type :stream))
+-              (format t "failed~%Retrying with ~A... " s)
+-              (finish-output)
+-              (socket-connect s "/dev/log")))
+-          (format t "ok.~%")
+-          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
+-            (format stream
+-                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
+-      t)
+-  t)
++;#-win32
++;(deftest simple-local-client
++;    (progn
++;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
++;      ;; /dev/log.  We might also be building in a chroot or
++;      ;; something, so don't fail this test just because the file is
++;      ;; unavailable, or if it's a symlink to some weird character
++;      ;; device.
++;      (when (block nil
++;              (handler-bind ((sb-posix:syscall-error
++;                              (lambda (e)
++;                                (declare (ignore e))
++;                                (return nil))))
++;                (sb-posix:s-issock
++;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
++;        (let ((s (make-instance 'local-socket :type :datagram)))
++;          (format t "Connecting ~A... " s)
++;          (finish-output)
++;          (handler-case
++;              (socket-connect s "/dev/log")
++;            (sb-bsd-sockets::socket-error ()
++;              (setq s (make-instance 'local-socket :type :stream))
++;              (format t "failed~%Retrying with ~A... " s)
++;              (finish-output)
++;              (socket-connect s "/dev/log")))
++;          (format t "ok.~%")
++;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
++;            (format stream
++;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
++;      t)
++;  t)
+ 
+ ;;; these require that the internet (or bits of it, at least) is available
+ 
+@@ -390,59 +390,59 @@
+        (format t "Received ~A bytes from ~A:~A - ~A ~%"
+                len address port (subseq buf 0 (min 10 len)))))))
+ 
+-#+(and ipv4-support sb-thread)
+-(deftest interrupt-io
+-    (let (result
+-          (sem (sb-thread:make-semaphore)))
+-      (labels
+-          ((client (port)
+-             (setf result
+-                   (let ((s (make-instance 'inet-socket
+-                                           :type :stream
+-                                           :protocol :tcp)))
+-                     (socket-connect s #(127 0 0 1) port)
+-                     (let ((stream (socket-make-stream s
+-                                                       :input t
+-                                                       :output t
+-                                                       :buffering :none)))
+-                       (handler-case
+-                           (prog1
+-                               (catch 'stop
+-                                 (sb-thread:signal-semaphore sem)
+-                                 (read-char stream))
+-                             (close stream))
+-                         (error (c)
+-                           c))))))
+-           (server ()
+-             (let ((s (make-instance 'inet-socket
+-                                     :type :stream
+-                                     :protocol :tcp)))
+-               (setf (sockopt-reuse-address s) t)
+-               (socket-bind s (make-inet-address "127.0.0.1") 0)
+-               (socket-listen s 5)
+-               (multiple-value-bind (* port)
+-                   (socket-name s)
+-                 (let* ((client (sb-thread:make-thread
+-                                 (lambda () (client port))))
+-                        (r (socket-accept s))
+-                        (stream (socket-make-stream r
+-                                                    :input t
+-                                                    :output t
+-                                                    :buffering :none)))
+-                   (socket-close s)
+-                   (sb-thread:wait-on-semaphore sem)
+-                   (sleep 0.1)
+-                   (sb-thread:interrupt-thread client
+-                                               (lambda () (throw 'stop :ok)))
+-                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
+-                     (setf result :timeout))
+-                   (write-char #\x stream)
+-                   (close stream)
+-                   (socket-close r)
+-                   (sb-thread:join-thread client :timeout 5))))))
+-        (server))
+-      result)
+-  :ok)
++;#+(and ipv4-support sb-thread)
++;(deftest interrupt-io
++;    (let (result
++;          (sem (sb-thread:make-semaphore)))
++;      (labels
++;          ((client (port)
++;             (setf result
++;                   (let ((s (make-instance 'inet-socket
++;                                           :type :stream
++;                                           :protocol :tcp)))
++;                     (socket-connect s #(127 0 0 1) port)
++;                     (let ((stream (socket-make-stream s
++;                                                       :input t
++;                                                       :output t
++;                                                       :buffering :none)))
++;                       (handler-case
++;                           (prog1
++;                               (catch 'stop
++;                                 (sb-thread:signal-semaphore sem)
++;                                 (read-char stream))
++;                             (close stream))
++;                         (error (c)
++;                           c))))))
++;           (server ()
++;             (let ((s (make-instance 'inet-socket
++;                                     :type :stream
++;                                     :protocol :tcp)))
++;               (setf (sockopt-reuse-address s) t)
++;               (socket-bind s (make-inet-address "127.0.0.1") 0)
++;               (socket-listen s 5)
++;               (multiple-value-bind (* port)
++;                   (socket-name s)
++;                 (let* ((client (sb-thread:make-thread
++;                                 (lambda () (client port))))
++;                        (r (socket-accept s))
++;                        (stream (socket-make-stream r
++;                                                    :input t
++;                                                    :output t
++;                                                    :buffering :none)))
++;                   (socket-close s)
++;                   (sb-thread:wait-on-semaphore sem)
++;                   (sleep 0.1)
++;                   (sb-thread:interrupt-thread client
++;                                               (lambda () (throw 'stop :ok)))
++;                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
++;                     (setf result :timeout))
++;                   (write-char #\x stream)
++;                   (close stream)
++;                   (socket-close r)
++;                   (sb-thread:join-thread client :timeout 5))))))
++;        (server))
++;      result)
++;  :ok)
+ 
+ (defmacro with-client-and-server (((socket-class &rest common-initargs)
+                                    (listen-socket-var &rest listen-address)
+@@ -505,8 +505,9 @@
+             (define-shutdown-test ,(make-name 'shutdown.client.ub8)
+               client server (unsigned-byte 8) ,direction)))))
+ 
+-  (define-shutdown-tests :output)
+-  (define-shutdown-tests :io))
++;  (define-shutdown-tests :output)
++;  (define-shutdown-tests :io)
++)
+ 
+ (defun poor-persons-random-address ()
+   (let ((base (expt 36 8)))

diff --git a/dev-lisp/sbcl/sbcl-2.0.5.ebuild b/dev-lisp/sbcl/sbcl-2.0.5.ebuild
new file mode 100644
index 00000000000..8db97f2a1f7
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-2.0.5.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib eutils 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.0.5
+BV_PPC=1.2.7
+BV_SPARC=1.0.28
+BV_ALPHA=1.0.28
+BV_ARM=1.4.11
+BV_ARM64=1.4.2
+BV_X86_MACOS=1.1.6
+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="http://sbcl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+	arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+	x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
+	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
+	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
+	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc source +threads +unicode pax_kernel zlib"
+
+CDEPEND=">=dev-lisp/asdf-3.1:="
+DEPEND="${CDEPEND}
+		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
+		pax_kernel? ( sys-apps/elfix )"
+RDEPEND="${CDEPEND}
+		!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 zlib)" ":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}
+	mv sbcl-*-* sbcl-binary || die
+	cd "${S}"
+}
+
+src_prepare() {
+	# bug #468482
+	eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
+	# bugs #486552, #527666, #517004
+	eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch
+	# bugs #560276, #561018
+	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
+
+	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.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
+
+	# applying customizations
+	sbcl_apply_features
+}
+
+src_compile() {
+	local bindir="${WORKDIR}"/sbcl-binary
+
+	if use pax_kernel ; then
+		# To disable PaX on hardened systems
+		pax-mark -mr "${bindir}"/src/runtime/sbcl
+
+		# Hack to disable PaX on second GENESIS stage
+		sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\    paxmark.sh -mr \.\/src\/runtime\/sbcl' \
+			"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
+	fi
+
+	# 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}" \
+		GNUMAKE=make ./make.sh \
+		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
+		|| 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
+	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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2022-03-04 23:58 Sam James
  0 siblings, 0 replies; 16+ messages in thread
From: Sam James @ 2022-03-04 23:58 UTC (permalink / raw
  To: gentoo-commits

commit:     ef728db1b1a5dc37165a9caf616896a754fa769a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  4 04:06:57 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar  4 23:58:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef728db1

dev-lisp/sbcl: drop 1.3.11

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                             |   4 -
 dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch  | 350 ---------------------
 dev-lisp/sbcl/files/concurrency-test-1.2.6.patch   |  24 --
 dev-lisp/sbcl/files/gentoo-fix_install_man.patch   |  12 -
 ...7-gentoo-fix_nopie_for_hardened_toolchain.patch |  22 --
 dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch      |  12 -
 .../sbcl/files/sbcl-1.2.13-verbose-build.patch     |  25 --
 dev-lisp/sbcl/files/sbcl-1.3.11-config.patch       |  16 -
 dev-lisp/sbcl/sbcl-1.3.11.ebuild                   | 230 --------------
 9 files changed, 695 deletions(-)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index f574bf1933ee..dbf9c6c281c7 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -5,11 +5,7 @@ DIST sbcl-1.0.47-powerpc-darwin-binary.tar.bz2 8217590 BLAKE2B 68da614df7d27ecf0
 DIST sbcl-1.2.11-x86-64-darwin-binary.tar.bz2 10038928 BLAKE2B b434f65e9e42341645ac91c8f35ffeb6d2d7f043544ca9af7c519a46df15cee6d2fe4d0a56c10643c6f263e8deb75bcfb00cc399d1f32c10d53c20a9842c45db SHA512 c271796f854fe884e0d8aa6504bbe2e6c078de1555fc9a823463640cfd8c793dbddcb3f32932788d84a41e2b8a085b95c97c13a15c43fc909dcaad18ce25f215
 DIST sbcl-1.2.7-powerpc-linux-binary.tar.bz2 9884585 BLAKE2B 1870da882fc5e466eaf5e96ed46aed600660bdfe836eabe145cf9ea4713e537a7d45dd76538d899801d0e3ea944c4ccfff1c9688fc695890bb4cac69135ef046 SHA512 7b9fef12d3d6397adec6a0c26d1431a18b8d91b5bf009034eb2501de9fd60dc04dd2e3cd2d9feb9204d4631360aea88ba07a9ad75dad0767b5dcc5e62e84e790
 DIST sbcl-1.2.7-x86-64-solaris-binary.tar.bz2 10438955 BLAKE2B ca9cd3a55873c648940793ae9fb92dde5e4569b7392932771b31dc71da380267556b3ceb8b099f62576b76d77395123735232c43c0ed1f934d1e004a6194d0fa SHA512 9566cebf8fc29ead1f919309e3f98aeb618e97b34c80f53d1f739f1a3f4ef4cbaebd1c67f0b32172a0cdf14dc405eb75d0e916dedf3b8a758cdec2368d25f5c1
-DIST sbcl-1.2.7-x86-linux-binary.tar.bz2 10516485 BLAKE2B 4036684f398c0766d55a6089fb67ae23520fc949b39525b2ac005f2665cdee8c0901a638e5dfc8e78e5f80963331a5fe2ddd4b0108ddaea063fabfd1d5829f72 SHA512 ca09beeafeb40f21eb1a377f04a69d57feb5549fa63aadf2e39aa65f3875418bdab755e22b567b3f2c514fb94534b739a57606288912ffc5cddf370a400e9e5c
 DIST sbcl-1.2.7-x86-solaris-binary.tar.bz2 10351529 BLAKE2B 9b7324c8177856c6024220ce71070a1a51b93fa9352fe692c3fd5afa9b6cdcbb361c54e354ab1cc1153e6bf15cb0c5fc267c3da03addd5d35fbec840f72a7c06 SHA512 b30d40f0095bb43719ba2e1a619f53fe5f0bccaa08a35481bc5feeb0dd5b540018a9ec9f61799de89991a85750577922cb4e56db4d7dab8f07e18bbc643bdad1
-DIST sbcl-1.3.11-source.tar.bz2 5790557 BLAKE2B d6b493d880ab2481f18381475165a3eed585fa46e626eb1e762cced29a6a7315be638df6f44ffdc694d8fb55509f912267a7dbe8892b6672eb56e839f55908ff SHA512 07cce0b33f1d41bc208827d228ae356b56165bb55fab72c48973a15a63e2e680aafc16db67d36cc4952f71101faaacafd9660276cd67673314f1699d6a91af82
-DIST sbcl-1.3.11-x86-64-linux-binary.tar.bz2 9248214 BLAKE2B f1f6ebbec168a47d7405c15c63a70f10afad2d271d17dfa461f94bd8b1a1c21506a3a9c1d7ffe2501cc70419406e0d73b53a34ff9ff003e4791170101b7b1293 SHA512 ffb443f9e3ede2f9dbdc1bf28554bd59ef1fd5ad855465ee10f9835221fde20211188e881be854b4760870b122dfc6c5ad5c8cad1bea613ffb3b6a6f67a36056
-DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 BLAKE2B 0dbfe39803d6e3955124fa1a619da7b6d4ec9e7d6eb78e868508c61bf478a980cb15ba427ef0b38d0f051ce38b881020534c0d37bfbcd81a8d763654283669ec SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd
 DIST sbcl-1.4.11-armhf-linux-binary.tar.bz2 9767589 BLAKE2B 2949338bc19973e0ca38f435caaa4c991a6c86d70dc092a4f1b6ec3eefa47af76f2a0c3fd8a4f8004127f4b8b3666a5cf4260b6ab56802308880067e4eaf8568 SHA512 297edddc36e9b9de080f9e25faa323e23877af234104b4b7e0fe2b74f0dd117d9cf0caa87b79718a8b071bcb5e97c8118f1d11af0e4aba2a961beb40c4dc99cb
 DIST sbcl-1.4.2-arm64-linux-binary.tar.bz2 10578821 BLAKE2B 1cd25c548be0f1b7ec01edc3bee7fe6c2aaf07b7bd1fc55d408dee7ac95e8f3761a194bf9e8efb734179a7eff04cdae2fe5ba4a9ba5ab06f7322ac1550d142cc SHA512 39bbd735b242aa0bbac05c6f4dbe28cb45e01684db7e5b4f1e51f995a9f9d5b484f63cc4243f472f72b3b1e6c4cd2268a7e812b15426eca5cf9a1fede10f44bb
 DIST sbcl-1.4.3-x86-linux-binary.tar.bz2 10227185 BLAKE2B 6d77c4f4177cbdb72fb9bab0da5bd91e0aa8deafffd238818a2551332f0ab246715d9489b5c1156f3481aa7fb79d161a988404620fc09fe86ff927543a1ee678 SHA512 41cd63d61dd7c46370341dce39a362287a23b528bfebe8e5571614aeefdea03d318207d25562e995db9ccedb6c1f50ea4d66627721f0fd9486e99440126e6a38

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch
deleted file mode 100644
index 88f6fa588cee..000000000000
--- a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch
+++ /dev/null
@@ -1,350 +0,0 @@
-diff -r -U2 sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp
---- sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp	2015-04-27 20:56:47.000000000 +0600
-+++ sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp	2015-04-28 22:27:32.588146072 +0600
-@@ -36,13 +36,13 @@
- ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
- ;;; for unknown protocols...
--#-(and freebsd sb-thread)
--#-(and dragonfly sb-thread)
--(deftest get-protocol-by-name/error
--  (handler-case (get-protocol-by-name "nonexistent-protocol")
--    (unknown-protocol ()
--      t)
--    (:no-error ()
--      nil))
--  t)
-+;#-(and freebsd sb-thread)
-+;#-(and dragonfly sb-thread)
-+;(deftest get-protocol-by-name/error
-+;  (handler-case (get-protocol-by-name "nonexistent-protocol")
-+;    (unknown-protocol ()
-+;      t)
-+;    (:no-error ()
-+;      nil))
-+;  t)
- 
- (deftest make-inet-socket.smoke
-@@ -92,19 +92,19 @@
-   t)
- 
--#-win32
--(deftest make-inet6-socket.smoke
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
--        (> (socket-file-descriptor s) 1))
--    (address-family-not-supported () t))
--  t)
--
--#-win32
--(deftest make-inet6-socket.keyword
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
--        (> (socket-file-descriptor s) 1))
--    (address-family-not-supported () t))
--  t)
-+;#-win32
-+;(deftest make-inet6-socket.smoke
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
-+;        (> (socket-file-descriptor s) 1))
-+;    (address-family-not-supported () t))
-+;  t)
-+
-+;#-win32
-+;(deftest make-inet6-socket.keyword
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
-+;        (> (socket-file-descriptor s) 1))
-+;    (address-family-not-supported () t))
-+;  t)
- 
- (deftest* (non-block-socket)
-@@ -114,52 +114,52 @@
-   t)
- 
--(deftest inet-socket-bind
--  (let* ((tcp (get-protocol-by-name "tcp"))
--         (address (make-inet-address "127.0.0.1"))
--         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
--    (unwind-protect
--         ;; Given the functions we've got so far, if you can think of a
--         ;; better way to make sure the bind succeeded than trying it
--         ;; twice, let me know
--         (progn
--           (socket-bind s1 address 0)
--           (handler-case
--               (let ((port (nth-value 1 (socket-name s1))))
--                 (socket-bind s2 address port)
--                 nil)
--             (address-in-use-error () t)))
--      (socket-close s1)
--      (socket-close s2)))
--  t)
--
--#-win32
--(deftest inet6-socket-bind
--  (handler-case
--      (let* ((tcp (get-protocol-by-name "tcp"))
--             (address (make-inet6-address "::1"))
--             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
--             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
--        (unwind-protect
--             ;; Given the functions we've got so far, if you can think of a
--             ;; better way to make sure the bind succeeded than trying it
--             ;; twice, let me know
--             (handler-case
--                 (socket-bind s1 address 0)
--               (socket-error ()
--                 ;; This may mean no IPv6 support, can't fail a test
--                 ;; because of that (address-family-not-supported doesn't catch that)
--                 t)
--               (:no-error (x)
--                 (declare (ignore x))
--                 (handler-case
--                     (let ((port (nth-value 1 (socket-name s1))))
--                       (socket-bind s2 address port)
--                       nil)
--                   (address-in-use-error () t))))
--          (socket-close s1)
--          (socket-close s2)))
--    (address-family-not-supported () t))
--  t)
-+;(deftest inet-socket-bind
-+;  (let* ((tcp (get-protocol-by-name "tcp"))
-+;         (address (make-inet-address "127.0.0.1"))
-+;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
-+;    (unwind-protect
-+;         ;; Given the functions we've got so far, if you can think of a
-+;         ;; better way to make sure the bind succeeded than trying it
-+;         ;; twice, let me know
-+;         (progn
-+;           (socket-bind s1 address 0)
-+;           (handler-case
-+;               (let ((port (nth-value 1 (socket-name s1))))
-+;                 (socket-bind s2 address port)
-+;                 nil)
-+;             (address-in-use-error () t)))
-+;      (socket-close s1)
-+;      (socket-close s2)))
-+;  t)
-+
-+;#-win32
-+;(deftest inet6-socket-bind
-+;  (handler-case
-+;      (let* ((tcp (get-protocol-by-name "tcp"))
-+;             (address (make-inet6-address "::1"))
-+;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
-+;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
-+;        (unwind-protect
-+;             ;; Given the functions we've got so far, if you can think of a
-+;             ;; better way to make sure the bind succeeded than trying it
-+;             ;; twice, let me know
-+;             (handler-case
-+;                 (socket-bind s1 address 0)
-+;               (socket-error ()
-+;                 ;; This may mean no IPv6 support, can't fail a test
-+;                 ;; because of that (address-family-not-supported doesn't catch that)
-+;                 t)
-+;               (:no-error (x)
-+;                 (declare (ignore x))
-+;                 (handler-case
-+;                     (let ((port (nth-value 1 (socket-name s1))))
-+;                       (socket-bind s2 address port)
-+;                       nil)
-+;                   (address-in-use-error () t))))
-+;          (socket-close s1)
-+;          (socket-close s2)))
-+;    (address-family-not-supported () t))
-+;  t)
- 
- (deftest* (simple-sockopt-test)
-@@ -228,35 +228,35 @@
- ;;; the message ended up
- 
--#-win32
--(deftest simple-local-client
--    (progn
--      ;; SunOS (Solaris) and Darwin systems don't have a socket at
--      ;; /dev/log.  We might also be building in a chroot or
--      ;; something, so don't fail this test just because the file is
--      ;; unavailable, or if it's a symlink to some weird character
--      ;; device.
--      (when (block nil
--              (handler-bind ((sb-posix:syscall-error
--                              (lambda (e)
--                                (declare (ignore e))
--                                (return nil))))
--                (sb-posix:s-issock
--                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
--        (let ((s (make-instance 'local-socket :type :datagram)))
--          (format t "Connecting ~A... " s)
--          (finish-output)
--          (handler-case
--              (socket-connect s "/dev/log")
--            (sb-bsd-sockets::socket-error ()
--              (setq s (make-instance 'local-socket :type :stream))
--              (format t "failed~%Retrying with ~A... " s)
--              (finish-output)
--              (socket-connect s "/dev/log")))
--          (format t "ok.~%")
--          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
--            (format stream
--                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
--      t)
--  t)
-+;#-win32
-+;(deftest simple-local-client
-+;    (progn
-+;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
-+;      ;; /dev/log.  We might also be building in a chroot or
-+;      ;; something, so don't fail this test just because the file is
-+;      ;; unavailable, or if it's a symlink to some weird character
-+;      ;; device.
-+;      (when (block nil
-+;              (handler-bind ((sb-posix:syscall-error
-+;                              (lambda (e)
-+;                                (declare (ignore e))
-+;                                (return nil))))
-+;                (sb-posix:s-issock
-+;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
-+;        (let ((s (make-instance 'local-socket :type :datagram)))
-+;          (format t "Connecting ~A... " s)
-+;          (finish-output)
-+;          (handler-case
-+;              (socket-connect s "/dev/log")
-+;            (sb-bsd-sockets::socket-error ()
-+;              (setq s (make-instance 'local-socket :type :stream))
-+;              (format t "failed~%Retrying with ~A... " s)
-+;              (finish-output)
-+;              (socket-connect s "/dev/log")))
-+;          (format t "ok.~%")
-+;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
-+;            (format stream
-+;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
-+;      t)
-+;  t)
- 
- 
-@@ -373,58 +373,58 @@
-                len address port (subseq buf 0 (min 10 len)))))))
- 
--#+sb-thread
--(deftest interrupt-io
--    (let (result)
--      (labels
--          ((client (port)
--             (setf result
--                   (let ((s (make-instance 'inet-socket
--                                           :type :stream
--                                           :protocol :tcp)))
--                     (socket-connect s #(127 0 0 1) port)
--                     (let ((stream (socket-make-stream s
--                                                       :input t
--                                                       :output t
--                                                       :buffering :none)))
--                       (handler-case
--                           (prog1
--                               (catch 'stop
--                                 (progn
--                                   (read-char stream)
--                                   (sleep 0.1)
--                                   (sleep 0.1)
--                                   (sleep 0.1)))
--                             (close stream))
--                         (error (c)
--                           c))))))
--           (server ()
--             (let ((s (make-instance 'inet-socket
--                                     :type :stream
--                                     :protocol :tcp)))
--               (setf (sockopt-reuse-address s) t)
--               (socket-bind s (make-inet-address "127.0.0.1") 0)
--               (socket-listen s 5)
--               (multiple-value-bind (* port)
--                   (socket-name s)
--                 (let* ((client (sb-thread:make-thread
--                                 (lambda () (client port))))
--                        (r (socket-accept s))
--                        (stream (socket-make-stream r
--                                                    :input t
--                                                    :output t
--                                                    :buffering :none))
--                        (ok :ok))
--                   (socket-close s)
--                   (sleep 5)
--                   (sb-thread:interrupt-thread client
--                                               (lambda () (throw 'stop ok)))
--                   (sleep 5)
--                   (setf ok :not-ok)
--                   (write-char #\x stream)
--                   (close stream)
--                   (socket-close r))))))
--        (server))
--      result)
--  :ok)
-+;#+sb-thread
-+;(deftest interrupt-io
-+;    (let (result)
-+;      (labels
-+;          ((client (port)
-+;             (setf result
-+;                   (let ((s (make-instance 'inet-socket
-+;                                           :type :stream
-+;                                           :protocol :tcp)))
-+;                     (socket-connect s #(127 0 0 1) port)
-+;                     (let ((stream (socket-make-stream s
-+;                                                       :input t
-+;                                                       :output t
-+;                                                       :buffering :none)))
-+;                       (handler-case
-+;                           (prog1
-+;                               (catch 'stop
-+;                                 (progn
-+;                                   (read-char stream)
-+;                                   (sleep 0.1)
-+;                                   (sleep 0.1)
-+;                                   (sleep 0.1)))
-+;                             (close stream))
-+;                         (error (c)
-+;                           c))))))
-+;           (server ()
-+;             (let ((s (make-instance 'inet-socket
-+;                                     :type :stream
-+;                                     :protocol :tcp)))
-+;               (setf (sockopt-reuse-address s) t)
-+;               (socket-bind s (make-inet-address "127.0.0.1") 0)
-+;               (socket-listen s 5)
-+;               (multiple-value-bind (* port)
-+;                   (socket-name s)
-+;                 (let* ((client (sb-thread:make-thread
-+;                                 (lambda () (client port))))
-+;                        (r (socket-accept s))
-+;                        (stream (socket-make-stream r
-+;                                                    :input t
-+;                                                    :output t
-+;                                                    :buffering :none))
-+;                        (ok :ok))
-+;                   (socket-close s)
-+;                   (sleep 5)
-+;                   (sb-thread:interrupt-thread client
-+;                                               (lambda () (throw 'stop ok)))
-+;                   (sleep 5)
-+;                   (setf ok :not-ok)
-+;                   (write-char #\x stream)
-+;                   (close stream)
-+;                   (socket-close r))))))
-+;        (server))
-+;      result)
-+;  :ok)
- 
- (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body)
-@@ -485,4 +485,5 @@
-               client server (unsigned-byte 8) ,direction)))))
- 
--  (define-shutdown-tests :output)
--  (define-shutdown-tests :io))
-+;  (define-shutdown-tests :output)
-+;  (define-shutdown-tests :io))
-+)

diff --git a/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch b/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch
deleted file mode 100644
index b85fc168ed0e..000000000000
--- a/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Nuar a/contrib/sb-concurrency/tests/test-frlock.lisp b/contrib/sb-concurrency/tests/test-frlock.lisp
---- a/contrib/sb-concurrency/tests/test-frlock.lisp	2014-11-29 19:56:58.000000000 +0100
-+++ b/contrib/sb-concurrency/tests/test-frlock.lisp	2014-12-16 23:52:18.569947139 +0100
-@@ -22,9 +22,9 @@
-   #+openbsd 0.01
-   #-openbsd 0.0001)
- 
--(defun test-frlocks (&key (reader-count 100) (read-count 1000000)
-+(defun test-frlocks (&key (reader-count 50) (read-count 500000)
-                           (outer-read-pause 0) (inner-read-pause 0)
--                          (writer-count 10) (write-count (/ 1 *minimum-sleep*))
-+                          (writer-count 10) (write-count 5000)
-                           (outer-write-pause *minimum-sleep*) (inner-write-pause 0))
-     (let ((rw (make-frlock))
-           (a 0)
-@@ -87,7 +87,7 @@
- #+sb-thread
- (deftest* (frlock.1 :fails-on :win32)
-     (handler-case
--        (sb-ext:with-timeout 60 (test-frlocks))
-+        (sb-ext:with-timeout 240 (test-frlocks))
-       (sb-ext:timeout (c)
-         (error "~A" c)))
-   nil

diff --git a/dev-lisp/sbcl/files/gentoo-fix_install_man.patch b/dev-lisp/sbcl/files/gentoo-fix_install_man.patch
deleted file mode 100644
index 87a5f43c0c13..000000000000
--- a/dev-lisp/sbcl/files/gentoo-fix_install_man.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/install.sh b/install.sh
-index 1400791..ac149c1 100644
---- a/install.sh
-+++ b/install.sh
-@@ -106,6 +106,7 @@ echo "Documentation:"
- 
- # man
- cp doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1"
-+cp doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1"
- 
- # info
- for info in doc/manual/*.info

diff --git a/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
deleted file mode 100644
index bf03ada518fe..000000000000
--- a/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- sbcl-1.1.17-orig/src/runtime/Config.x86-linux	2014-03-31 03:14:22.000000000 +1100
-+++ sbcl-1.1.17/src/runtime/Config.x86-linux	2014-04-28 15:34:59.822482441 +1000
-@@ -27,7 +27,7 @@
- # (You *are* encouraged to design and implement a coherent stable
- # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is
- # working on one and it would be a nice thing to have.)
--LINKFLAGS += -Wl,--export-dynamic -m32
-+LINKFLAGS += -Wl,--export-dynamic -m32 -nopie
- OS_LIBS = -ldl
- 
- ifdef LISP_FEATURE_LARGEFILE
---- sbcl-1.1.17-orig/src/runtime/Config.x86-64-linux	2014-03-31 03:14:22.000000000 +1100
-+++ sbcl-1.1.17/src/runtime/Config.x86-64-linux	2014-04-28 15:35:22.364623003 +1000
-@@ -27,7 +27,7 @@
- # (You *are* encouraged to design and implement a coherent stable
- # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is
- # working on one and it would be a nice thing to have.)
--LINKFLAGS += -Wl,--export-dynamic
-+LINKFLAGS += -Wl,--export-dynamic -nopie
- OS_LIBS = -ldl
- 
- ifdef LISP_FEATURE_LARGEFILE

diff --git a/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch b/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch
deleted file mode 100644
index 850fd5d9dba7..000000000000
--- a/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -r -U2 sbcl-1.2.11.orig/src/runtime/Config.x86-sunos sbcl-1.2.11/src/runtime/Config.x86-sunos
---- sbcl-1.2.11.orig/src/runtime/Config.x86-sunos	2015-04-27 20:56:50.000000000 +0600
-+++ sbcl-1.2.11/src/runtime/Config.x86-sunos	2015-04-28 22:38:01.569103626 +0600
-@@ -12,6 +12,6 @@
- CC=gcc
- CFLAGS = -g -O2 -Wall -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DSVR4 -D_REENTRANT -fno-omit-frame-pointer
--NM = nm -xgp
--GREP = ggrep
-+NM = nm -t x -p
-+GREP = grep
- 
- ASSEM_SRC = x86-assem.S ldso-stubs.S

diff --git a/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch b/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch
deleted file mode 100644
index ade4f0868c67..000000000000
--- a/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -r -U2 sbcl-1.2.13.orig/make.sh sbcl-1.2.13/make.sh
---- sbcl-1.2.13.orig/make.sh	2015-06-29 01:24:03.000000000 +0600
-+++ sbcl-1.2.13/make.sh	2015-06-29 15:53:04.430927942 +0600
-@@ -25,5 +25,5 @@
- # any --xc-host parameter should be suitable for the host machine
- # instead of the target.
--sh make-config.sh "$@" || exit $?
-+sh -x make-config.sh "$@" || exit $?
- 
- . output/prefix.def
-@@ -70,9 +70,9 @@
- # and the make-target-*.sh scripts will take care of transferring the
- # necessary files.
--time sh make-host-1.sh
--time sh make-target-1.sh
--time sh make-host-2.sh
--time sh make-target-2.sh
--time sh make-target-contrib.sh
-+time sh -x make-host-1.sh
-+time sh -x make-target-1.sh
-+time sh -x make-host-2.sh
-+time sh -x make-target-2.sh
-+time sh -x make-target-contrib.sh
- 
- NCONTRIBS=`find contrib -name Makefile -print | wc -l`

diff --git a/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch
deleted file mode 100644
index e23f1e6d9bcb..000000000000
--- a/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -r -U2 sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux sbcl-1.3.11/src/runtime/Config.x86-64-linux
---- sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux	2016-10-30 23:28:43.000000000 +0700
-+++ sbcl-1.3.11/src/runtime/Config.x86-64-linux	2016-11-16 23:27:37.248815622 +0700
-@@ -58,12 +58,4 @@
- endif
- 
--# The following works for Ubuntu 16.10. There must be a better way to
--# do this across various flavors of linux.
--ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),)
--CFLAGS += -fno-pie
--LINKFLAGS += -no-pie
--LDFLAGS += -no-pie
--endif
--
- # Nothing to do for after-grovel-headers.
- .PHONY: after-grovel-headers

diff --git a/dev-lisp/sbcl/sbcl-1.3.11.ebuild b/dev-lisp/sbcl/sbcl-1.3.11.ebuild
deleted file mode 100644
index 8e3fed30c22a..000000000000
--- a/dev-lisp/sbcl/sbcl-1.3.11.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit multilib flag-o-matic pax-utils toolchain-funcs
-
-#same order as http://www.sbcl.org/platform-table.html
-BV_X86=1.2.7
-BV_AMD64=1.3.11
-BV_PPC=1.2.7
-BV_SPARC=1.0.28
-BV_ALPHA=1.0.28
-BV_ARM=1.3.9
-BV_ARM64=1.3.11
-BV_PPC_MACOS=1.0.47
-BV_X64_MACOS=1.2.11
-BV_SPARC_SOLARIS=1.0.23
-BV_X86_SOLARIS=1.2.7
-BV_X64_SOLARIS=1.2.7
-
-DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
-HOMEPAGE="http://sbcl.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
-	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
-	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
-	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
-	sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
-	alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
-	arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
-	ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
-	x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
-	sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
-	x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
-	x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="-* amd64 ppc ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
-IUSE="debug doc source +threads +unicode zlib"
-
-CDEPEND=">=dev-lisp/asdf-3.1:="
-DEPEND="${CDEPEND}
-		doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )"
-RDEPEND="${CDEPEND}
-		!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 zlib)" ":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}
-	mv sbcl-*-* sbcl-binary || die
-	cd "${S}"
-}
-
-src_prepare() {
-	eapply "${FILESDIR}"/gentoo-fix_install_man.patch
-	# bug #468482
-	eapply "${FILESDIR}"/concurrency-test-1.2.6.patch
-	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/bsd-sockets-test-1.2.11.patch
-	# bugs #560276, #561018
-	eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
-	# bug #599902
-	eapply "${FILESDIR}"/${PN}-1.3.11-config.patch
-
-	eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
-	eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
-
-	# To make the hardened compiler NOT compile with -fPIE -pie
-	if gcc-specs-pie ; then
-		einfo "Disabling PIE..."
-		eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
-	fi
-
-	eapply_user
-
-	# bug #526194
-	sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
-		-e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
-		-i src/runtime/GNUmakefile || die
-
-	sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
-		-i make-config.sh || die
-
-	cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || 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
-
-	# applying customizations
-	sbcl_apply_features
-}
-
-src_compile() {
-	local bindir="${WORKDIR}"/sbcl-binary
-
-	strip-unsupported-flags ; filter-flags -fomit-frame-pointer
-
-	# 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}" \
-		GNUMAKE=make ./make.sh \
-		"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
-		|| 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
-	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}"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2023-07-23  9:03 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2023-07-23  9:03 UTC (permalink / raw
  To: gentoo-commits

commit:     fcde54d2ebc8fda4ee585f1ad9255b31ada33427
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 09:03:07 2023 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sun Jul 23 09:03:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcde54d2

dev-lisp/sbcl: move long patches to dev.gentoo.org

Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                           |   3 +
 dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch | 385 ---------------------
 dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch | 410 -----------------------
 dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch | 410 -----------------------
 dev-lisp/sbcl/sbcl-2.2.9.ebuild                  |   4 +-
 dev-lisp/sbcl/sbcl-2.3.5.ebuild                  |   4 +-
 dev-lisp/sbcl/sbcl-2.3.6.ebuild                  |   4 +-
 7 files changed, 12 insertions(+), 1208 deletions(-)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 55939559545a..ab3b17570bd7 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -1,3 +1,6 @@
+DIST bsd-sockets-test-2.0.5.patch.gz 3189 BLAKE2B ba4d8af4ae5f3f7e4008632c6603fb74e2419da5f9cf0ccf24c9f2440896fb466332dfa55652f6848f25e0eea76cd696556df0e6d88d0bcb73fcbc8db102ef90 SHA512 2e60db09f435f0f5630aa56a0af208a5b24a27b7c072c17e6a49525ed99d5ed7cdbd78e11511d1dc9b23e14ddca9f9592f625ec33cf98f066151de02565b86ae
+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
 DIST sbcl-1.0.28-alpha-linux-binary.tar.bz2 7573824 BLAKE2B ab8e139adb4fbc0ac7b34457c3361b044d04d8d9dedba2008cb19220915900e2d1bf540b617c738145923d74fa28ab7d979fd0d1bf4b9d17c445dfb080731263 SHA512 85ceb4d3bf971777f5444a63cbabd88ccfaf16ed3b3c86cc5ea6cb3fd3189c4cd5a5ebbf785c97366afb7026604ffc34a1129936291deede5993056e158125ab
 DIST sbcl-1.0.28-sparc-linux-binary.tar.bz2 8032042 BLAKE2B ca4213ef00447d66406d1c752a1653fd628deba0e112f55a5625dad61da30c0be7c60fe4e84e8dcc9d9946db553ad544dc39b28d62124d8e3d6197943efc944a SHA512 cea1ba06f85169fca9fe3026813c6e7e8e8209b874e048b7bd63cb3a1c5bd7c829e8dbb2c486977e190a0390d28e4845938a9e84378f4f2f16f72bf0b6f45c80
 DIST sbcl-1.0.47-powerpc-darwin-binary.tar.bz2 8217590 BLAKE2B 68da614df7d27ecf08a21603d4f172344c86e650176d238fe73d7756a626b694e2165b9157e53732730861d085902e5cc893b967073168fe3845cd2621668b87 SHA512 8118de56e448bce7a72b832e661eb4e2687eed675f88f766f7043c843a432e35121d9e6f9da8d22ac690c54bda0d55ecb07728748ce2cdd57320f49b4b812b86

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch
deleted file mode 100644
index 3226e7539dc4..000000000000
--- a/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-diff -U3 -r sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp
---- sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp	2020-05-31 20:16:48.000000000 +0700
-+++ sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp	2020-06-08 18:15:59.750860802 +0700
-@@ -18,16 +18,16 @@
-   (equalp (make-inet-address "242.1.211.3")  #(242 1 211 3))
-   t)
- 
--(deftest make-inet6-address.1
--    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
--            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
--  t)
--
--(deftest unparse-inet6-address
--    (string= (sb-bsd-sockets::unparse-inet6-address
--              (make-inet6-address "fe80::abcd:1234"))
--             "fe80::abcd:1234")
--  t)
-+;(deftest make-inet6-address.1
-+;    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
-+;            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
-+;  t)
-+
-+;(deftest unparse-inet6-address
-+;    (string= (sb-bsd-sockets::unparse-inet6-address
-+;              (make-inet6-address "fe80::abcd:1234"))
-+;             "fe80::abcd:1234")
-+;  t)
- 
- (deftest get-protocol-by-name/tcp
-     (integerp (get-protocol-by-name "tcp"))
-@@ -40,15 +40,15 @@
- ;;; See https://bugs.launchpad.net/sbcl/+bug/659857
- ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
- ;;; for unknown protocols...
--#-(and freebsd sb-thread)
--#-(and dragonfly sb-thread)
--(deftest get-protocol-by-name/error
--  (handler-case (get-protocol-by-name "nonexistent-protocol")
--    (unknown-protocol ()
--      t)
--    (:no-error ()
--      nil))
--  t)
-+;#-(and freebsd sb-thread)
-+;#-(and dragonfly sb-thread)
-+;(deftest get-protocol-by-name/error
-+;  (handler-case (get-protocol-by-name "nonexistent-protocol")
-+;    (unknown-protocol ()
-+;      t)
-+;    (:no-error ()
-+;      nil))
-+;  t)
- 
- (eval-when (:compile-toplevel :execute)
-   (when (handler-case (make-instance 'inet-socket
-@@ -108,19 +108,19 @@
-       (:no-error nil))
-   t)
- 
--(deftest make-inet6-socket.smoke
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
--
--(deftest make-inet6-socket.keyword
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
-+;(deftest make-inet6-socket.smoke
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
-+
-+;(deftest make-inet6-socket.keyword
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
- 
- #+ipv4-support
- (deftest* (non-block-socket)
-@@ -129,54 +129,54 @@
-     (non-blocking-mode s))
-   t)
- 
--#+ipv4-support
--(deftest inet-socket-bind
--  (let* ((tcp (get-protocol-by-name "tcp"))
--         (address (make-inet-address "127.0.0.1"))
--         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
--    (unwind-protect
--         ;; Given the functions we've got so far, if you can think of a
--         ;; better way to make sure the bind succeeded than trying it
--         ;; twice, let me know
--         (progn
--           (socket-bind s1 address 0)
--           (handler-case
--               (let ((port (nth-value 1 (socket-name s1))))
--                 (socket-bind s2 address port)
--                 nil)
--             (address-in-use-error () t)))
--      (socket-close s1)
--      (socket-close s2)))
--  t)
--
--(deftest inet6-socket-bind
--  (handler-case
--      (let* ((tcp (get-protocol-by-name "tcp"))
--             (address (make-inet6-address "::1"))
--             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
--             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
--        (unwind-protect
--             ;; Given the functions we've got so far, if you can think of a
--             ;; better way to make sure the bind succeeded than trying it
--             ;; twice, let me know
--             (handler-case
--                 (socket-bind s1 address 0)
--               (socket-error ()
--                 ;; This may mean no IPv6 support, can't fail a test
--                 ;; because of that (address-family-not-supported doesn't catch that)
--                 t)
--               (:no-error (x)
--                 (declare (ignore x))
--                 (handler-case
--                     (let ((port (nth-value 1 (socket-name s1))))
--                       (socket-bind s2 address port)
--                       nil)
--                   (address-in-use-error () t))))
--          (socket-close s1)
--          (socket-close s2)))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
-+;#+ipv4-support
-+;(deftest inet-socket-bind
-+;  (let* ((tcp (get-protocol-by-name "tcp"))
-+;         (address (make-inet-address "127.0.0.1"))
-+;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp)))
-+;    (unwind-protect
-+;         ;; Given the functions we've got so far, if you can think of a
-+;         ;; better way to make sure the bind succeeded than trying it
-+;         ;; twice, let me know
-+;         (progn
-+;           (socket-bind s1 address 0)
-+;           (handler-case
-+;               (let ((port (nth-value 1 (socket-name s1))))
-+;                 (socket-bind s2 address port)
-+;                 nil)
-+;             (address-in-use-error () t)))
-+;      (socket-close s1)
-+;      (socket-close s2)))
-+;  t)
-+
-+;(deftest inet6-socket-bind
-+;  (handler-case
-+;      (let* ((tcp (get-protocol-by-name "tcp"))
-+;             (address (make-inet6-address "::1"))
-+;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
-+;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
-+;        (unwind-protect
-+;             ;; Given the functions we've got so far, if you can think of a
-+;             ;; better way to make sure the bind succeeded than trying it
-+;             ;; twice, let me know
-+;             (handler-case
-+;                 (socket-bind s1 address 0)
-+;               (socket-error ()
-+;                 ;; This may mean no IPv6 support, can't fail a test
-+;                 ;; because of that (address-family-not-supported doesn't catch that)
-+;                 t)
-+;               (:no-error (x)
-+;                 (declare (ignore x))
-+;                 (handler-case
-+;                     (let ((port (nth-value 1 (socket-name s1))))
-+;                       (socket-bind s2 address port)
-+;                       nil)
-+;                   (address-in-use-error () t))))
-+;          (socket-close s1)
-+;          (socket-close s2)))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
- 
- #+ipv4-support
- (deftest* (simple-sockopt-test)
-@@ -244,37 +244,37 @@
- ;;; to look at /etc/syslog.conf or local equivalent to find out where
- ;;; the message ended up
- 
--#-win32
--(deftest simple-local-client
--    (progn
--      ;; SunOS (Solaris) and Darwin systems don't have a socket at
--      ;; /dev/log.  We might also be building in a chroot or
--      ;; something, so don't fail this test just because the file is
--      ;; unavailable, or if it's a symlink to some weird character
--      ;; device.
--      (when (block nil
--              (handler-bind ((sb-posix:syscall-error
--                              (lambda (e)
--                                (declare (ignore e))
--                                (return nil))))
--                (sb-posix:s-issock
--                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
--        (let ((s (make-instance 'local-socket :type :datagram)))
--          (format t "Connecting ~A... " s)
--          (finish-output)
--          (handler-case
--              (socket-connect s "/dev/log")
--            (sb-bsd-sockets::socket-error ()
--              (setq s (make-instance 'local-socket :type :stream))
--              (format t "failed~%Retrying with ~A... " s)
--              (finish-output)
--              (socket-connect s "/dev/log")))
--          (format t "ok.~%")
--          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
--            (format stream
--                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
--      t)
--  t)
-+;#-win32
-+;(deftest simple-local-client
-+;    (progn
-+;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
-+;      ;; /dev/log.  We might also be building in a chroot or
-+;      ;; something, so don't fail this test just because the file is
-+;      ;; unavailable, or if it's a symlink to some weird character
-+;      ;; device.
-+;      (when (block nil
-+;              (handler-bind ((sb-posix:syscall-error
-+;                              (lambda (e)
-+;                                (declare (ignore e))
-+;                                (return nil))))
-+;                (sb-posix:s-issock
-+;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
-+;        (let ((s (make-instance 'local-socket :type :datagram)))
-+;          (format t "Connecting ~A... " s)
-+;          (finish-output)
-+;          (handler-case
-+;              (socket-connect s "/dev/log")
-+;            (sb-bsd-sockets::socket-error ()
-+;              (setq s (make-instance 'local-socket :type :stream))
-+;              (format t "failed~%Retrying with ~A... " s)
-+;              (finish-output)
-+;              (socket-connect s "/dev/log")))
-+;          (format t "ok.~%")
-+;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
-+;            (format stream
-+;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
-+;      t)
-+;  t)
- 
- ;;; these require that the internet (or bits of it, at least) is available
- 
-@@ -390,59 +390,59 @@
-        (format t "Received ~A bytes from ~A:~A - ~A ~%"
-                len address port (subseq buf 0 (min 10 len)))))))
- 
--#+(and ipv4-support sb-thread)
--(deftest interrupt-io
--    (let (result
--          (sem (sb-thread:make-semaphore)))
--      (labels
--          ((client (port)
--             (setf result
--                   (let ((s (make-instance 'inet-socket
--                                           :type :stream
--                                           :protocol :tcp)))
--                     (socket-connect s #(127 0 0 1) port)
--                     (let ((stream (socket-make-stream s
--                                                       :input t
--                                                       :output t
--                                                       :buffering :none)))
--                       (handler-case
--                           (prog1
--                               (catch 'stop
--                                 (sb-thread:signal-semaphore sem)
--                                 (read-char stream))
--                             (close stream))
--                         (error (c)
--                           c))))))
--           (server ()
--             (let ((s (make-instance 'inet-socket
--                                     :type :stream
--                                     :protocol :tcp)))
--               (setf (sockopt-reuse-address s) t)
--               (socket-bind s (make-inet-address "127.0.0.1") 0)
--               (socket-listen s 5)
--               (multiple-value-bind (* port)
--                   (socket-name s)
--                 (let* ((client (sb-thread:make-thread
--                                 (lambda () (client port))))
--                        (r (socket-accept s))
--                        (stream (socket-make-stream r
--                                                    :input t
--                                                    :output t
--                                                    :buffering :none)))
--                   (socket-close s)
--                   (sb-thread:wait-on-semaphore sem)
--                   (sleep 0.1)
--                   (sb-thread:interrupt-thread client
--                                               (lambda () (throw 'stop :ok)))
--                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
--                     (setf result :timeout))
--                   (write-char #\x stream)
--                   (close stream)
--                   (socket-close r)
--                   (sb-thread:join-thread client :timeout 5))))))
--        (server))
--      result)
--  :ok)
-+;#+(and ipv4-support sb-thread)
-+;(deftest interrupt-io
-+;    (let (result
-+;          (sem (sb-thread:make-semaphore)))
-+;      (labels
-+;          ((client (port)
-+;             (setf result
-+;                   (let ((s (make-instance 'inet-socket
-+;                                           :type :stream
-+;                                           :protocol :tcp)))
-+;                     (socket-connect s #(127 0 0 1) port)
-+;                     (let ((stream (socket-make-stream s
-+;                                                       :input t
-+;                                                       :output t
-+;                                                       :buffering :none)))
-+;                       (handler-case
-+;                           (prog1
-+;                               (catch 'stop
-+;                                 (sb-thread:signal-semaphore sem)
-+;                                 (read-char stream))
-+;                             (close stream))
-+;                         (error (c)
-+;                           c))))))
-+;           (server ()
-+;             (let ((s (make-instance 'inet-socket
-+;                                     :type :stream
-+;                                     :protocol :tcp)))
-+;               (setf (sockopt-reuse-address s) t)
-+;               (socket-bind s (make-inet-address "127.0.0.1") 0)
-+;               (socket-listen s 5)
-+;               (multiple-value-bind (* port)
-+;                   (socket-name s)
-+;                 (let* ((client (sb-thread:make-thread
-+;                                 (lambda () (client port))))
-+;                        (r (socket-accept s))
-+;                        (stream (socket-make-stream r
-+;                                                    :input t
-+;                                                    :output t
-+;                                                    :buffering :none)))
-+;                   (socket-close s)
-+;                   (sb-thread:wait-on-semaphore sem)
-+;                   (sleep 0.1)
-+;                   (sb-thread:interrupt-thread client
-+;                                               (lambda () (throw 'stop :ok)))
-+;                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
-+;                     (setf result :timeout))
-+;                   (write-char #\x stream)
-+;                   (close stream)
-+;                   (socket-close r)
-+;                   (sb-thread:join-thread client :timeout 5))))))
-+;        (server))
-+;      result)
-+;  :ok)
- 
- (defmacro with-client-and-server (((socket-class &rest common-initargs)
-                                    (listen-socket-var &rest listen-address)
-@@ -505,8 +505,9 @@
-             (define-shutdown-test ,(make-name 'shutdown.client.ub8)
-               client server (unsigned-byte 8) ,direction)))))
- 
--  (define-shutdown-tests :output)
--  (define-shutdown-tests :io))
-+;  (define-shutdown-tests :output)
-+;  (define-shutdown-tests :io)
-+)
- 
- (defun poor-persons-random-address ()
-   (let ((base (expt 36 8)))

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch
deleted file mode 100644
index e4810e991a83..000000000000
--- a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch
+++ /dev/null
@@ -1,410 +0,0 @@
-diff -r -U3 sbcl-2.3.1.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.3.1/contrib/sb-bsd-sockets/tests.lisp
---- sbcl-2.3.1.orig/contrib/sb-bsd-sockets/tests.lisp	2023-01-28 18:56:32.000000000 +0700
-+++ sbcl-2.3.1/contrib/sb-bsd-sockets/tests.lisp	2023-02-10 21:10:52.358958490 +0700
-@@ -13,16 +13,16 @@
-   (equalp (make-inet-address "242.1.211.3")  #(242 1 211 3))
-   t)
- 
--(deftest make-inet6-address.1
--    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
--            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
--  t)
--
--(deftest unparse-inet6-address
--    (string= (sb-bsd-sockets::unparse-inet6-address
--              (make-inet6-address "fe80::abcd:1234"))
--             "fe80::abcd:1234")
--  t)
-+;(deftest make-inet6-address.1
-+;    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
-+;            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
-+;  t)
-+
-+;(deftest unparse-inet6-address
-+;    (string= (sb-bsd-sockets::unparse-inet6-address
-+;              (make-inet6-address "fe80::abcd:1234"))
-+;             "fe80::abcd:1234")
-+;  t)
- 
- (deftest get-protocol-by-name/tcp
-     (integerp (get-protocol-by-name "tcp"))
-@@ -35,15 +35,15 @@
- ;;; See https://bugs.launchpad.net/sbcl/+bug/659857
- ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
- ;;; for unknown protocols...
--#-(and freebsd sb-thread)
--#-(and dragonfly sb-thread)
--(deftest get-protocol-by-name/error
--  (handler-case (get-protocol-by-name "nonexistent-protocol")
--    (unknown-protocol ()
--      t)
--    (:no-error ()
--      nil))
--  t)
-+;#-(and freebsd sb-thread)
-+;#-(and dragonfly sb-thread)
-+;(deftest get-protocol-by-name/error
-+;  (handler-case (get-protocol-by-name "nonexistent-protocol")
-+;    (unknown-protocol ()
-+;      t)
-+;    (:no-error ()
-+;      nil))
-+;  t)
- 
- (eval-when (:compile-toplevel :execute)
-   (when (handler-case (make-instance 'inet-socket
-@@ -104,19 +104,19 @@
-       (:no-error nil))
-   t)
- 
--(deftest make-inet6-socket.smoke
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
--
--(deftest make-inet6-socket.keyword
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
-+;(deftest make-inet6-socket.smoke
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
-+
-+;(deftest make-inet6-socket.keyword
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
- 
- #+ipv4-support
- (deftest non-block-socket
-@@ -125,67 +125,67 @@
-     (non-blocking-mode s))
-   t)
- 
--#+ipv4-support
--(test-util:with-test (:name :inet-socket-bind)
--  (let* ((tcp (get-protocol-by-name "tcp"))
--         (address (make-inet-address "127.0.0.1"))
--         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (s2 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (failure)
--         (got-addrinuse))
--    (format t "~&::: INFO: made sockets~%")
--    (unwind-protect
--         ;; Given the functions we've got so far, if you can think of a
--         ;; better way to make sure the bind succeeded than trying it
--         ;; twice, let me know
--         (progn
--           (socket-bind s1 address 0)
--           (handler-case
--               (let ((port (nth-value 1 (socket-name s1))))
--                 (socket-bind s2 address port) ; should fail
--                 nil)
--             (address-in-use-error () (setq got-addrinuse t))
--             (condition (c) (setq failure c))))
--      (socket-close s1)
--      (socket-close s2))
--    (cond (failure (error "BIND failed with ~A" failure))
--          ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
--
--(test-util:with-test (:name :inet6-socket-bind)
--  (let ((notsupp)
--        (failure)
--        (got-addrinuse))
--  (handler-case
--      (let* ((tcp (get-protocol-by-name "tcp"))
--             (address (make-inet6-address "::1"))
--             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
--             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
--        (format t "~&::: INFO: made sockets~%")
--        (unwind-protect
--             ;; Given the functions we've got so far, if you can think of a
--             ;; better way to make sure the bind succeeded than trying it
--             ;; twice, let me know
--             (handler-case
--                 (socket-bind s1 address 0)
--               (socket-error ()
--                 ;; This may mean no IPv6 support, can't fail a test
--                 ;; because of that (address-family-not-supported doesn't catch that)
--                 t)
--               (:no-error (x)
--                 (declare (ignore x))
--                 (handler-case
--                     (let ((port (nth-value 1 (socket-name s1))))
--                       (socket-bind s2 address port) ; should fail
--                       nil)
--                   (address-in-use-error () (setq got-addrinuse t))
--                   (condition (c) (setq failure c)))))
--          (socket-close s1)
--          (socket-close s2)))
--    ((or address-family-not-supported protocol-not-supported-error) ()
--      (setq notsupp t)))
--  (cond (notsupp (format t "~&INFO: not supported~%"))
--        (failure (error "BIND failed with ~A" failure))
--        ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
-+;#+ipv4-support
-+;(test-util:with-test (:name :inet-socket-bind)
-+;  (let* ((tcp (get-protocol-by-name "tcp"))
-+;         (address (make-inet-address "127.0.0.1"))
-+;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (failure)
-+;         (got-addrinuse))
-+;    (format t "~&::: INFO: made sockets~%")
-+;    (unwind-protect
-+;         ;; Given the functions we've got so far, if you can think of a
-+;         ;; better way to make sure the bind succeeded than trying it
-+;         ;; twice, let me know
-+;         (progn
-+;           (socket-bind s1 address 0)
-+;           (handler-case
-+;               (let ((port (nth-value 1 (socket-name s1))))
-+;                 (socket-bind s2 address port) ; should fail
-+;                 nil)
-+;             (address-in-use-error () (setq got-addrinuse t))
-+;             (condition (c) (setq failure c))))
-+;      (socket-close s1)
-+;      (socket-close s2))
-+;    (cond (failure (error "BIND failed with ~A" failure))
-+;          ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
-+
-+;(test-util:with-test (:name :inet6-socket-bind)
-+;  (let ((notsupp)
-+;        (failure)
-+;        (got-addrinuse))
-+;  (handler-case
-+;      (let* ((tcp (get-protocol-by-name "tcp"))
-+;             (address (make-inet6-address "::1"))
-+;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
-+;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
-+;        (format t "~&::: INFO: made sockets~%")
-+;        (unwind-protect
-+;             ;; Given the functions we've got so far, if you can think of a
-+;             ;; better way to make sure the bind succeeded than trying it
-+;             ;; twice, let me know
-+;             (handler-case
-+;                 (socket-bind s1 address 0)
-+;               (socket-error ()
-+;                 ;; This may mean no IPv6 support, can't fail a test
-+;                 ;; because of that (address-family-not-supported doesn't catch that)
-+;                 t)
-+;               (:no-error (x)
-+;                 (declare (ignore x))
-+;                 (handler-case
-+;                     (let ((port (nth-value 1 (socket-name s1))))
-+;                       (socket-bind s2 address port) ; should fail
-+;                       nil)
-+;                   (address-in-use-error () (setq got-addrinuse t))
-+;                   (condition (c) (setq failure c)))))
-+;          (socket-close s1)
-+;          (socket-close s2)))
-+;    ((or address-family-not-supported protocol-not-supported-error) ()
-+;      (setq notsupp t)))
-+;  (cond (notsupp (format t "~&INFO: not supported~%"))
-+;        (failure (error "BIND failed with ~A" failure))
-+;        ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
- 
- #+ipv4-support
- (deftest simple-sockopt-test
-@@ -253,37 +253,37 @@
- ;;; to look at /etc/syslog.conf or local equivalent to find out where
- ;;; the message ended up
- 
--#-win32
--(deftest simple-local-client
--    (progn
--      ;; SunOS (Solaris) and Darwin systems don't have a socket at
--      ;; /dev/log.  We might also be building in a chroot or
--      ;; something, so don't fail this test just because the file is
--      ;; unavailable, or if it's a symlink to some weird character
--      ;; device.
--      (when (block nil
--              (handler-bind ((sb-posix:syscall-error
--                              (lambda (e)
--                                (declare (ignore e))
--                                (return nil))))
--                (sb-posix:s-issock
--                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
--        (let ((s (make-instance 'local-socket :type :datagram)))
--          (format t "Connecting ~A... " s)
--          (finish-output)
--          (handler-case
--              (socket-connect s "/dev/log")
--            (sb-bsd-sockets::socket-error ()
--              (setq s (make-instance 'local-socket :type :stream))
--              (format t "failed~%Retrying with ~A... " s)
--              (finish-output)
--              (socket-connect s "/dev/log")))
--          (format t "ok.~%")
--          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
--            (format stream
--                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
--      t)
--  t)
-+;#-win32
-+;(deftest simple-local-client
-+;    (progn
-+;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
-+;      ;; /dev/log.  We might also be building in a chroot or
-+;      ;; something, so don't fail this test just because the file is
-+;      ;; unavailable, or if it's a symlink to some weird character
-+;      ;; device.
-+;      (when (block nil
-+;              (handler-bind ((sb-posix:syscall-error
-+;                              (lambda (e)
-+;                                (declare (ignore e))
-+;                                (return nil))))
-+;                (sb-posix:s-issock
-+;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
-+;        (let ((s (make-instance 'local-socket :type :datagram)))
-+;          (format t "Connecting ~A... " s)
-+;          (finish-output)
-+;          (handler-case
-+;              (socket-connect s "/dev/log")
-+;            (sb-bsd-sockets::socket-error ()
-+;              (setq s (make-instance 'local-socket :type :stream))
-+;              (format t "failed~%Retrying with ~A... " s)
-+;              (finish-output)
-+;              (socket-connect s "/dev/log")))
-+;          (format t "ok.~%")
-+;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
-+;            (format stream
-+;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
-+;      t)
-+;  t)
- 
- ;;; these require that the internet (or bits of it, at least) is available
- 
-@@ -428,59 +428,59 @@
-        (format t "Received ~A bytes from ~A:~A - ~A ~%"
-                len address port (subseq buf 0 (min 10 len)))))))
- 
--#+(and ipv4-support sb-thread)
--(deftest interrupt-io
--    (let (result
--          (sem (sb-thread:make-semaphore)))
--      (labels
--          ((client (port)
--             (setf result
--                   (let ((s (make-instance 'inet-socket
--                                           :type :stream
--                                           :protocol :tcp)))
--                     (socket-connect s #(127 0 0 1) port)
--                     (let ((stream (socket-make-stream s
--                                                       :input t
--                                                       :output t
--                                                       :buffering :none)))
--                       (handler-case
--                           (prog1
--                               (catch 'stop
--                                 (sb-thread:signal-semaphore sem)
--                                 (read-char stream))
--                             (close stream))
--                         (error (c)
--                           c))))))
--           (server ()
--             (let ((s (make-instance 'inet-socket
--                                     :type :stream
--                                     :protocol :tcp)))
--               (setf (sockopt-reuse-address s) t)
--               (socket-bind s (make-inet-address "127.0.0.1") 0)
--               (socket-listen s 5)
--               (multiple-value-bind (* port)
--                   (socket-name s)
--                 (let* ((client (sb-thread:make-thread
--                                 (lambda () (client port))))
--                        (r (socket-accept s))
--                        (stream (socket-make-stream r
--                                                    :input t
--                                                    :output t
--                                                    :buffering :none)))
--                   (socket-close s)
--                   (sb-thread:wait-on-semaphore sem)
--                   (sleep 0.1)
--                   (sb-thread:interrupt-thread client
--                                               (lambda () (throw 'stop :ok)))
--                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
--                     (setf result :timeout))
--                   (write-char #\x stream)
--                   (close stream)
--                   (socket-close r)
--                   (sb-thread:join-thread client :timeout 5))))))
--        (server))
--      result)
--  :ok)
-+;#+(and ipv4-support sb-thread)
-+;(deftest interrupt-io
-+;    (let (result
-+;          (sem (sb-thread:make-semaphore)))
-+;      (labels
-+;          ((client (port)
-+;             (setf result
-+;                   (let ((s (make-instance 'inet-socket
-+;                                           :type :stream
-+;                                           :protocol :tcp)))
-+;                     (socket-connect s #(127 0 0 1) port)
-+;                     (let ((stream (socket-make-stream s
-+;                                                       :input t
-+;                                                       :output t
-+;                                                       :buffering :none)))
-+;                       (handler-case
-+;                           (prog1
-+;                               (catch 'stop
-+;                                 (sb-thread:signal-semaphore sem)
-+;                                 (read-char stream))
-+;                             (close stream))
-+;                         (error (c)
-+;                           c))))))
-+;           (server ()
-+;             (let ((s (make-instance 'inet-socket
-+;                                     :type :stream
-+;                                     :protocol :tcp)))
-+;               (setf (sockopt-reuse-address s) t)
-+;               (socket-bind s (make-inet-address "127.0.0.1") 0)
-+;               (socket-listen s 5)
-+;               (multiple-value-bind (* port)
-+;                   (socket-name s)
-+;                 (let* ((client (sb-thread:make-thread
-+;                                 (lambda () (client port))))
-+;                        (r (socket-accept s))
-+;                        (stream (socket-make-stream r
-+;                                                    :input t
-+;                                                    :output t
-+;                                                    :buffering :none)))
-+;                   (socket-close s)
-+;                   (sb-thread:wait-on-semaphore sem)
-+;                   (sleep 0.1)
-+;                   (sb-thread:interrupt-thread client
-+;                                               (lambda () (throw 'stop :ok)))
-+;                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
-+;                     (setf result :timeout))
-+;                   (write-char #\x stream)
-+;                   (close stream)
-+;                   (socket-close r)
-+;                   (sb-thread:join-thread client :timeout 5))))))
-+;        (server))
-+;      result)
-+;  :ok)
- 
- (defmacro with-client-and-server (((socket-class &rest common-initargs)
-                                    (listen-socket-var &rest listen-address)
-@@ -543,8 +543,8 @@
-             (define-shutdown-test ,(make-name 'shutdown.client.ub8)
-               client server (unsigned-byte 8) ,direction)))))
- 
--  (define-shutdown-tests :output)
--  (define-shutdown-tests :io))
-+;  (define-shutdown-tests :output)
-+;  (define-shutdown-tests :io))
- 
- (defun poor-persons-random-address ()
-   (let ((base (expt 36 8)))

diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch
deleted file mode 100644
index 7bf6f8afd797..000000000000
--- a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch
+++ /dev/null
@@ -1,410 +0,0 @@
-diff -r -U3 sbcl-2.3.6.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.3.6/contrib/sb-bsd-sockets/tests.lisp
---- sbcl-2.3.6.orig/contrib/sb-bsd-sockets/tests.lisp	2023-06-28 13:35:17.000000000 +0700
-+++ sbcl-2.3.6/contrib/sb-bsd-sockets/tests.lisp	2023-07-20 21:14:36.163025437 +0700
-@@ -13,16 +13,16 @@
-   (equalp (make-inet-address "242.1.211.3")  #(242 1 211 3))
-   t)
- 
--(deftest make-inet6-address.1
--    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
--            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
--  t)
--
--(deftest unparse-inet6-address
--    (string= (sb-bsd-sockets::unparse-inet6-address
--              (make-inet6-address "fe80::abcd:1234"))
--             "fe80::abcd:1234")
--  t)
-+;(deftest make-inet6-address.1
-+;    (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
-+;            #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
-+;  t)
-+
-+;(deftest unparse-inet6-address
-+;    (string= (sb-bsd-sockets::unparse-inet6-address
-+;              (make-inet6-address "fe80::abcd:1234"))
-+;             "fe80::abcd:1234")
-+;  t)
- 
- (deftest get-protocol-by-name/tcp
-     (integerp (get-protocol-by-name "tcp"))
-@@ -35,15 +35,15 @@
- ;;; See https://bugs.launchpad.net/sbcl/+bug/659857
- ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR
- ;;; for unknown protocols...
--#-(and freebsd sb-thread)
--#-(and dragonfly sb-thread)
--(deftest get-protocol-by-name/error
--  (handler-case (get-protocol-by-name "nonexistent-protocol")
--    (unknown-protocol ()
--      t)
--    (:no-error ()
--      nil))
--  t)
-+;#-(and freebsd sb-thread)
-+;#-(and dragonfly sb-thread)
-+;(deftest get-protocol-by-name/error
-+;  (handler-case (get-protocol-by-name "nonexistent-protocol")
-+;    (unknown-protocol ()
-+;      t)
-+;    (:no-error ()
-+;      nil))
-+;  t)
- 
- (eval-when (:compile-toplevel :execute)
-   (when (handler-case (make-instance 'inet-socket
-@@ -104,19 +104,19 @@
-       (:no-error nil))
-   t)
- 
--(deftest make-inet6-socket.smoke
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
--
--(deftest make-inet6-socket.keyword
--  (handler-case
--      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
--        (> (socket-file-descriptor s) 1))
--    ((or address-family-not-supported protocol-not-supported-error) () t))
--  t)
-+;(deftest make-inet6-socket.smoke
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp"))))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
-+
-+;(deftest make-inet6-socket.keyword
-+;  (handler-case
-+;      (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp)))
-+;        (> (socket-file-descriptor s) 1))
-+;    ((or address-family-not-supported protocol-not-supported-error) () t))
-+;  t)
- 
- #+ipv4-support
- (deftest non-block-socket
-@@ -125,67 +125,67 @@
-     (non-blocking-mode s))
-   t)
- 
--#+ipv4-support
--(test-util:with-test (:name :inet-socket-bind)
--  (let* ((tcp (get-protocol-by-name "tcp"))
--         (address (make-inet-address "127.0.0.1"))
--         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (s2 (make-instance 'inet-socket :type :stream :protocol tcp))
--         (failure)
--         (got-addrinuse))
--    (format t "~&::: INFO: made sockets~%")
--    (unwind-protect
--         ;; Given the functions we've got so far, if you can think of a
--         ;; better way to make sure the bind succeeded than trying it
--         ;; twice, let me know
--         (progn
--           (socket-bind s1 address 0)
--           (handler-case
--               (let ((port (nth-value 1 (socket-name s1))))
--                 (socket-bind s2 address port) ; should fail
--                 nil)
--             (address-in-use-error () (setq got-addrinuse t))
--             (condition (c) (setq failure c))))
--      (socket-close s1)
--      (socket-close s2))
--    (cond (failure (error "BIND failed with ~A" failure))
--          ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
--
--(test-util:with-test (:name :inet6-socket-bind)
--  (let ((notsupp)
--        (failure)
--        (got-addrinuse))
--  (handler-case
--      (let* ((tcp (get-protocol-by-name "tcp"))
--             (address (make-inet6-address "::1"))
--             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
--             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
--        (format t "~&::: INFO: made sockets~%")
--        (unwind-protect
--             ;; Given the functions we've got so far, if you can think of a
--             ;; better way to make sure the bind succeeded than trying it
--             ;; twice, let me know
--             (handler-case
--                 (socket-bind s1 address 0)
--               (socket-error ()
--                 ;; This may mean no IPv6 support, can't fail a test
--                 ;; because of that (address-family-not-supported doesn't catch that)
--                 (setf notsupp t))
--               (:no-error (x)
--                 (declare (ignore x))
--                 (handler-case
--                     (let ((port (nth-value 1 (socket-name s1))))
--                       (socket-bind s2 address port) ; should fail
--                       nil)
--                   (address-in-use-error () (setq got-addrinuse t))
--                   (condition (c) (setq failure c)))))
--          (socket-close s1)
--          (socket-close s2)))
--    ((or address-family-not-supported protocol-not-supported-error) ()
--      (setq notsupp t)))
--  (cond (notsupp (format t "~&INFO: not supported~%"))
--        (failure (error "BIND failed with ~A" failure))
--        ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
-+;#+ipv4-support
-+;(test-util:with-test (:name :inet-socket-bind)
-+;  (let* ((tcp (get-protocol-by-name "tcp"))
-+;         (address (make-inet-address "127.0.0.1"))
-+;         (s1 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (s2 (make-instance 'inet-socket :type :stream :protocol tcp))
-+;         (failure)
-+;         (got-addrinuse))
-+;    (format t "~&::: INFO: made sockets~%")
-+;    (unwind-protect
-+;         ;; Given the functions we've got so far, if you can think of a
-+;         ;; better way to make sure the bind succeeded than trying it
-+;         ;; twice, let me know
-+;         (progn
-+;           (socket-bind s1 address 0)
-+;           (handler-case
-+;               (let ((port (nth-value 1 (socket-name s1))))
-+;                 (socket-bind s2 address port) ; should fail
-+;                 nil)
-+;             (address-in-use-error () (setq got-addrinuse t))
-+;             (condition (c) (setq failure c))))
-+;      (socket-close s1)
-+;      (socket-close s2))
-+;    (cond (failure (error "BIND failed with ~A" failure))
-+;          ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
-+
-+;(test-util:with-test (:name :inet6-socket-bind)
-+;  (let ((notsupp)
-+;        (failure)
-+;        (got-addrinuse))
-+;  (handler-case
-+;      (let* ((tcp (get-protocol-by-name "tcp"))
-+;             (address (make-inet6-address "::1"))
-+;             (s1 (make-instance 'inet6-socket :type :stream :protocol tcp))
-+;             (s2 (make-instance 'inet6-socket :type :stream :protocol tcp)))
-+;        (format t "~&::: INFO: made sockets~%")
-+;        (unwind-protect
-+;             ;; Given the functions we've got so far, if you can think of a
-+;             ;; better way to make sure the bind succeeded than trying it
-+;             ;; twice, let me know
-+;             (handler-case
-+;                 (socket-bind s1 address 0)
-+;               (socket-error ()
-+;                 ;; This may mean no IPv6 support, can't fail a test
-+;                 ;; because of that (address-family-not-supported doesn't catch that)
-+;                 (setf notsupp t))
-+;               (:no-error (x)
-+;                 (declare (ignore x))
-+;                 (handler-case
-+;                     (let ((port (nth-value 1 (socket-name s1))))
-+;                       (socket-bind s2 address port) ; should fail
-+;                       nil)
-+;                   (address-in-use-error () (setq got-addrinuse t))
-+;                   (condition (c) (setq failure c)))))
-+;          (socket-close s1)
-+;          (socket-close s2)))
-+;    ((or address-family-not-supported protocol-not-supported-error) ()
-+;      (setq notsupp t)))
-+;  (cond (notsupp (format t "~&INFO: not supported~%"))
-+;        (failure (error "BIND failed with ~A" failure))
-+;        ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err")))))
- 
- #+ipv4-support
- (deftest simple-sockopt-test
-@@ -253,37 +253,37 @@
- ;;; to look at /etc/syslog.conf or local equivalent to find out where
- ;;; the message ended up
- 
--#-win32
--(deftest simple-local-client
--    (progn
--      ;; SunOS (Solaris) and Darwin systems don't have a socket at
--      ;; /dev/log.  We might also be building in a chroot or
--      ;; something, so don't fail this test just because the file is
--      ;; unavailable, or if it's a symlink to some weird character
--      ;; device.
--      (when (block nil
--              (handler-bind ((sb-posix:syscall-error
--                              (lambda (e)
--                                (declare (ignore e))
--                                (return nil))))
--                (sb-posix:s-issock
--                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
--        (let ((s (make-instance 'local-socket :type :datagram)))
--          (format t "Connecting ~A... " s)
--          (finish-output)
--          (handler-case
--              (socket-connect s "/dev/log")
--            (sb-bsd-sockets::socket-error ()
--              (setq s (make-instance 'local-socket :type :stream))
--              (format t "failed~%Retrying with ~A... " s)
--              (finish-output)
--              (socket-connect s "/dev/log")))
--          (format t "ok.~%")
--          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
--            (format stream
--                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
--      t)
--  t)
-+;#-win32
-+;(deftest simple-local-client
-+;    (progn
-+;      ;; SunOS (Solaris) and Darwin systems don't have a socket at
-+;      ;; /dev/log.  We might also be building in a chroot or
-+;      ;; something, so don't fail this test just because the file is
-+;      ;; unavailable, or if it's a symlink to some weird character
-+;      ;; device.
-+;      (when (block nil
-+;              (handler-bind ((sb-posix:syscall-error
-+;                              (lambda (e)
-+;                                (declare (ignore e))
-+;                                (return nil))))
-+;                (sb-posix:s-issock
-+;                 (sb-posix::stat-mode (sb-posix:stat "/dev/log")))))
-+;        (let ((s (make-instance 'local-socket :type :datagram)))
-+;          (format t "Connecting ~A... " s)
-+;          (finish-output)
-+;          (handler-case
-+;              (socket-connect s "/dev/log")
-+;            (sb-bsd-sockets::socket-error ()
-+;              (setq s (make-instance 'local-socket :type :stream))
-+;              (format t "failed~%Retrying with ~A... " s)
-+;              (finish-output)
-+;              (socket-connect s "/dev/log")))
-+;          (format t "ok.~%")
-+;          (let ((stream (socket-make-stream s :input t :output t :buffering :none)))
-+;            (format stream
-+;                    "<7>bsd-sockets: Don't panic.  We're testing local-domain client code; this message can safely be ignored"))))
-+;      t)
-+;  t)
- 
- ;;; these require that the internet (or bits of it, at least) is available
- 
-@@ -428,59 +428,59 @@
-        (format t "Received ~A bytes from ~A:~A - ~A ~%"
-                len address port (subseq buf 0 (min 10 len)))))))
- 
--#+(and ipv4-support sb-thread)
--(deftest interrupt-io
--    (let (result
--          (sem (sb-thread:make-semaphore)))
--      (labels
--          ((client (port)
--             (setf result
--                   (let ((s (make-instance 'inet-socket
--                                           :type :stream
--                                           :protocol :tcp)))
--                     (socket-connect s #(127 0 0 1) port)
--                     (let ((stream (socket-make-stream s
--                                                       :input t
--                                                       :output t
--                                                       :buffering :none)))
--                       (handler-case
--                           (prog1
--                               (catch 'stop
--                                 (sb-thread:signal-semaphore sem)
--                                 (read-char stream))
--                             (close stream))
--                         (error (c)
--                           c))))))
--           (server ()
--             (let ((s (make-instance 'inet-socket
--                                     :type :stream
--                                     :protocol :tcp)))
--               (setf (sockopt-reuse-address s) t)
--               (socket-bind s (make-inet-address "127.0.0.1") 0)
--               (socket-listen s 5)
--               (multiple-value-bind (* port)
--                   (socket-name s)
--                 (let* ((client (sb-thread:make-thread
--                                 (lambda () (client port))))
--                        (r (socket-accept s))
--                        (stream (socket-make-stream r
--                                                    :input t
--                                                    :output t
--                                                    :buffering :none)))
--                   (socket-close s)
--                   (sb-thread:wait-on-semaphore sem)
--                   (sleep 0.1)
--                   (sb-thread:interrupt-thread client
--                                               (lambda () (throw 'stop :ok)))
--                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
--                     (setf result :timeout))
--                   (write-char #\x stream)
--                   (close stream)
--                   (socket-close r)
--                   (sb-thread:join-thread client :timeout 5))))))
--        (server))
--      result)
--  :ok)
-+;#+(and ipv4-support sb-thread)
-+;(deftest interrupt-io
-+;    (let (result
-+;          (sem (sb-thread:make-semaphore)))
-+;      (labels
-+;          ((client (port)
-+;             (setf result
-+;                   (let ((s (make-instance 'inet-socket
-+;                                           :type :stream
-+;                                           :protocol :tcp)))
-+;                     (socket-connect s #(127 0 0 1) port)
-+;                     (let ((stream (socket-make-stream s
-+;                                                       :input t
-+;                                                       :output t
-+;                                                       :buffering :none)))
-+;                       (handler-case
-+;                           (prog1
-+;                               (catch 'stop
-+;                                 (sb-thread:signal-semaphore sem)
-+;                                 (read-char stream))
-+;                             (close stream))
-+;                         (error (c)
-+;                           c))))))
-+;           (server ()
-+;             (let ((s (make-instance 'inet-socket
-+;                                     :type :stream
-+;                                     :protocol :tcp)))
-+;               (setf (sockopt-reuse-address s) t)
-+;               (socket-bind s (make-inet-address "127.0.0.1") 0)
-+;               (socket-listen s 5)
-+;               (multiple-value-bind (* port)
-+;                   (socket-name s)
-+;                 (let* ((client (sb-thread:make-thread
-+;                                 (lambda () (client port))))
-+;                        (r (socket-accept s))
-+;                        (stream (socket-make-stream r
-+;                                                    :input t
-+;                                                    :output t
-+;                                                    :buffering :none)))
-+;                   (socket-close s)
-+;                   (sb-thread:wait-on-semaphore sem)
-+;                   (sleep 0.1)
-+;                   (sb-thread:interrupt-thread client
-+;                                               (lambda () (throw 'stop :ok)))
-+;                   (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
-+;                     (setf result :timeout))
-+;                   (write-char #\x stream)
-+;                   (close stream)
-+;                   (socket-close r)
-+;                   (sb-thread:join-thread client :timeout 5))))))
-+;        (server))
-+;      result)
-+;  :ok)
- 
- (defmacro with-client-and-server (((socket-class &rest common-initargs)
-                                    (listen-socket-var &rest listen-address)
-@@ -543,8 +543,8 @@
-             (define-shutdown-test ,(make-name 'shutdown.client.ub8)
-               client server (unsigned-byte 8) ,direction)))))
- 
--  (define-shutdown-tests :output)
--  (define-shutdown-tests :io))
-+;  (define-shutdown-tests :output)
-+;  (define-shutdown-tests :io))
- 
- (defun poor-persons-random-address ()
-   (let ((base (expt 36 8)))

diff --git a/dev-lisp/sbcl/sbcl-2.2.9.ebuild b/dev-lisp/sbcl/sbcl-2.2.9.ebuild
index f172b75819cb..50b9982e2bff 100644
--- a/dev-lisp/sbcl/sbcl-2.2.9.ebuild
+++ b/dev-lisp/sbcl/sbcl-2.2.9.ebuild
@@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23
 
 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
 HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.0.5.patch
 SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
 	x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
 	amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
 	ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
@@ -98,7 +100,7 @@ src_prepare() {
 	# bug #468482
 	eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
 	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch
+	eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH}
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch
 	# bug #767742

diff --git a/dev-lisp/sbcl/sbcl-2.3.5.ebuild b/dev-lisp/sbcl/sbcl-2.3.5.ebuild
index 18bc21c6ccd0..c7debd75d223 100644
--- a/dev-lisp/sbcl/sbcl-2.3.5.ebuild
+++ b/dev-lisp/sbcl/sbcl-2.3.5.ebuild
@@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23
 
 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
 HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.1.patch
 SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
 	!system-bootstrap? (
 		x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
 		amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
@@ -104,7 +106,7 @@ src_prepare() {
 	# bug #468482
 	eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
 	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/bsd-sockets-test-2.3.1.patch
+	eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH}
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch
 	# bug #767742

diff --git a/dev-lisp/sbcl/sbcl-2.3.6.ebuild b/dev-lisp/sbcl/sbcl-2.3.6.ebuild
index ad3c08648211..c6e523e7eeaf 100644
--- a/dev-lisp/sbcl/sbcl-2.3.6.ebuild
+++ b/dev-lisp/sbcl/sbcl-2.3.6.ebuild
@@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23
 
 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
 HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.6.patch
 SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
 	!system-bootstrap? (
 		x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
 		amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
@@ -104,7 +106,7 @@ src_prepare() {
 	# bug #468482
 	eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
 	# bugs #486552, #527666, #517004
-	eapply "${FILESDIR}"/bsd-sockets-test-2.3.6.patch
+	eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH}
 	# bugs #560276, #561018
 	eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch
 	# bug #767742


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2023-08-06 11:15 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2023-08-06 11:15 UTC (permalink / raw
  To: gentoo-commits

commit:     014d8209fe9d4e06bfeac40debc3dd762d59ae1c
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 11:15:02 2023 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 11:15:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=014d8209

dev-lisp/sbcl: bump to 2.3.7

Closes: https://bugs.gentoo.org/797574
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                   |   2 +
 dev-lisp/sbcl/files/build-id-2.3.6.patch |  12 ++
 dev-lisp/sbcl/sbcl-2.3.7.ebuild          | 271 +++++++++++++++++++++++++++++++
 3 files changed, 285 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index ab3b17570bd7..5df61aca6882 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -18,3 +18,5 @@ DIST sbcl-2.3.4-x86-64-linux-binary.tar.bz2 11783208 BLAKE2B 40e77c69a3df7674994
 DIST sbcl-2.3.5-source.tar.bz2 7474392 BLAKE2B 0b4f678dccbb18c18d59709aa2ce9facec3ada9f32cf1d398e1686f63615ab82781da68d6b5914294adab88e18501945d57b6d630507e02a8d89351379f769f3 SHA512 89635b6ebd18a481c56bb40b69ef58f13b2e2ebdb6b1244a1eea3b0d9e85dc1659391754b7c8ba533455575e91989889fe41be05314297f8e49bf11170001004
 DIST sbcl-2.3.6-source.tar.bz2 7483612 BLAKE2B 92428617b925a1fdd2dc0a5d8af61c2b4353bdc6305a9331fc0c945e9cec4b6119f8db0c7c611d3db82c3868a7635134496c7ba335de393abe9c055ef1ced6e3 SHA512 f71ac11b3f70c77e5b87fced73333a466dfb387bc19170330419d71aea310bc09b9918ea106eb655cb8118b203191716a7b27406bb3557640395189c36e09282
 DIST sbcl-2.3.6-x86-64-linux-binary.tar.bz2 11904608 BLAKE2B 240fee1c929b79c311f5708bb72060fc159cbe7f341cec7f98cdb2428e80d0c37f83b9d4fc7822329b794db77553d2c4293a19b3077964b728480cc2f9e9ea8d SHA512 166c348b83f20a8e66f89a22580a000afa1e0b0b14d19332823a8b4e87f9090032cf4a57ae36089eb7ed6c83777335b3823a631e716337e0833d3e84219ea1f4
+DIST sbcl-2.3.7-source.tar.bz2 7495739 BLAKE2B e0116b2f8a01cce77d177e840da23f6b2b5672ace913200e134bb5900ad299bc9dcff110ea15f47186940724722ab97add20d22a114942cbebe624c9e4d845d4 SHA512 0ff7951342d997eb6a7305d3268e27e94c9b6689c6c3fd9b115cc34378f3aa23e07d97ff4e2cfb4090a7621f313a2bbbaf50d663f8e14162f7ee315077c958cb
+DIST sbcl-2.3.7-x86-64-linux-binary.tar.bz2 11807371 BLAKE2B bfea9daa9b20aad6ab4261af4b6c05fd5fb13d1416df390d240eae8554478eb599d6beefa989ac2904108241ca1971bc33a00bdd615d88833e4a5abec6725718 SHA512 da94e7136026cfedfbb2def7ba727372bc6e7aea47de9366a706cb522031f5c08fe149fd1727db18511f89b1022c1e3790ef3e83bcbfe4a76e4336c476b80079

diff --git a/dev-lisp/sbcl/files/build-id-2.3.6.patch b/dev-lisp/sbcl/files/build-id-2.3.6.patch
new file mode 100644
index 000000000000..45d579788123
--- /dev/null
+++ b/dev-lisp/sbcl/files/build-id-2.3.6.patch
@@ -0,0 +1,12 @@
+diff -r -U3 sbcl-2.3.6.orig/make-config.sh sbcl-2.3.6/make-config.sh
+--- sbcl-2.3.6.orig/make-config.sh	2023-06-28 13:35:17.000000000 +0700
++++ sbcl-2.3.6/make-config.sh	2023-08-06 15:49:33.994027736 +0700
+@@ -801,7 +801,7 @@
+   # use /usr/xpg4/bin/id instead of /usr/bin/id
+   PATH=/usr/xpg4/bin:$PATH
+ fi
+-echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.inc
++echo "\"${PV}\"" > output/build-id.inc
+ 
+ if [ -n "$SBCL_HOST_LOCATION" ]; then
+     echo //setting up host configuration

diff --git a/dev-lisp/sbcl/sbcl-2.3.7.ebuild b/dev-lisp/sbcl/sbcl-2.3.7.ebuild
new file mode 100644
index 000000000000..f54abb98d8e8
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-2.3.7.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2023 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.3.7
+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/ http://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.6.patch
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
+	!system-bootstrap? (
+		x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+		amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+		ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+		ppc64? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 )
+		sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+		alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+		arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+		arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+		x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+		ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+		x64-solaris? ( mirror://sourceforge/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-util/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.2.9.patch
+	# bug #767742
+	eapply "${FILESDIR}"/etags-2.1.0.patch
+	# Use ${PV} as build-id, bug #797574
+	eapply "${FILESDIR}"/build-id-2.3.6.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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/
@ 2024-04-03 15:38 Andrey Grozin
  0 siblings, 0 replies; 16+ messages in thread
From: Andrey Grozin @ 2024-04-03 15:38 UTC (permalink / raw
  To: gentoo-commits

commit:     87222ea587356d7bf1bdd209569d31b4494a3c0f
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  3 15:37:40 2024 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Wed Apr  3 15:37:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87222ea5

dev-lisp/sbcl: bump to 2.4.3

Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>

 dev-lisp/sbcl/Manifest                   |   2 +
 dev-lisp/sbcl/files/build-id-2.4.3.patch |  12 ++
 dev-lisp/sbcl/sbcl-2.4.3.ebuild          | 271 +++++++++++++++++++++++++++++++
 3 files changed, 285 insertions(+)

diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
index 4c7c3efe7aed..7c4cbe8ee127 100644
--- a/dev-lisp/sbcl/Manifest
+++ b/dev-lisp/sbcl/Manifest
@@ -18,3 +18,5 @@ DIST sbcl-2.4.1-source.tar.bz2 7800453 BLAKE2B 4ac07e5d3d18d9cfa5df266207d259f6b
 DIST sbcl-2.4.1-x86-64-linux-binary.tar.bz2 12113408 BLAKE2B 608f2455590d7118986015d48d02894b07350e418c3a893eb29bf423f6b78435ebde64e91cb9ca542cf2629ad9148f0c8576ddd3e7fb4569852ae6a374c2f38e SHA512 03fdefb9f51c8ebe32878328954d574dad31bce32e2b73c41c891188ce4f2d36039820639fea65b3280d257015cd5c7074989093ba71106e8f36d8e2df545db9
 DIST sbcl-2.4.2-source.tar.bz2 8148605 BLAKE2B be59c4332a25202dd5e2fabe78a51e039ae1efbdeb41ecec5392eb1e53a4e49c406a4d3dd5a3bd5e545702f924349a326f786e67db47b31bcf5ec9a9ec3766aa SHA512 9e4abb58b87e24937b883967e36da92ff3658e3eedbce245511f20f97455212436629f885815e91481d07b10e7af89b124c787e0dc7d4e5ce2790e9ea90fdbf3
 DIST sbcl-2.4.2-x86-64-linux-binary.tar.bz2 12072658 BLAKE2B b579b847d23f569b7cef01265781457ebfb07bac6604c18d1886c471e79af672cb2ec7c7b145b65b2d3ea7796bb288725bbb066c59e972ce56e153e76577cb65 SHA512 680908f21b8697c71f5a7ce5e68846fabcd4474fe4cd99f087576e0a9f336ba2f4cba83baf987af77869dab2d29974e46edbb52abe9b336be37dd9c8acecd81b
+DIST sbcl-2.4.3-source.tar.bz2 8126417 BLAKE2B 11c304c4f28e41940e2981e6f9f3401dbc0352e8572cdcd42fddaa1387e19eb35760d8e2b734544953eaa4058f8a867b3a6e492f9d13770b80de376191ce10d1 SHA512 ac61e02af16b81cb25a806b44272956dd72875ae884a04b075c983881be70b618908bad7ebddb763358401f7207c05adde932e4a845e5b8cffccc0c7b76e7557
+DIST sbcl-2.4.3-x86-64-linux-binary.tar.bz2 12003023 BLAKE2B a833630bf3c8ceac1aab64d351d7a19b73cac4906c60c6344ba2222c17831da749bc3b5d0d5fa3246c9c2a847c60e9c78567845efdd9cba50d59f2dfaef1b186 SHA512 c884d04b317b1a7ebd4c5f00b17058819d32c59e3cab437296868bc132a77e34bb6e286e7378c7d27f2b07055f879171533273978bbda84d7de9618638219088

diff --git a/dev-lisp/sbcl/files/build-id-2.4.3.patch b/dev-lisp/sbcl/files/build-id-2.4.3.patch
new file mode 100644
index 000000000000..ff8e37ce7280
--- /dev/null
+++ b/dev-lisp/sbcl/files/build-id-2.4.3.patch
@@ -0,0 +1,12 @@
+diff -r -U3 sbcl-2.4.3.orig/make-config.sh sbcl-2.4.3/make-config.sh
+--- sbcl-2.4.3.orig/make-config.sh	2024-03-30 00:02:12.000000000 +0700
++++ sbcl-2.4.3/make-config.sh	2024-04-03 22:07:49.912404814 +0700
+@@ -807,7 +807,7 @@
+ fi
+ 
+ if [ -n "$SOURCE_DATE_EPOCH" ]; then
+-  echo '"'hostname-id-"$SOURCE_DATE_EPOCH"'"' > output/build-id.inc
++  echo "\"${PV}\"" > output/build-id.inc
+ else
+   echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.inc
+ fi

diff --git a/dev-lisp/sbcl/sbcl-2.4.3.ebuild b/dev-lisp/sbcl/sbcl-2.4.3.ebuild
new file mode 100644
index 000000000000..16397f7047e4
--- /dev/null
+++ b/dev-lisp/sbcl/sbcl-2.4.3.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.4.3
+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/ http://sbcl.sourceforge.net/"
+BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.6.patch
+SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
+	https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz
+	!system-bootstrap? (
+		x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
+		amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
+		ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
+		ppc64? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 )
+		sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
+		alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
+		arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
+		arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
+		x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
+		ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
+		x64-solaris? ( mirror://sourceforge/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.2.9.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}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-04-03 15:38 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-08 14:05 [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/files/, dev-lisp/sbcl/ Andrey Grozin
  -- strict thread matches above, loose matches on Subject: below --
2024-04-03 15:38 Andrey Grozin
2023-08-06 11:15 Andrey Grozin
2023-07-23  9:03 Andrey Grozin
2022-03-04 23:58 Sam James
2020-01-30 15:39 Andrey Grozin
2019-09-24 10:32 Andrey Grozin
2019-06-01 11:19 Andrey Grozin
2019-01-03 15:44 Andrey Grozin
2017-07-02 16:21 José María Alonso
2017-02-09 15:01 José María Alonso
2017-02-05 15:59 Andrey Grozin
2016-12-10 12:14 Andrey Grozin
2016-11-16 17:38 Andrey Grozin
2016-03-19 23:45 Ian Delaney
2015-09-22  4:54 Andrey Grozin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox