* [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/
@ 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
* [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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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-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/
@ 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/
@ 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-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/
@ 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
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 --
2019-01-03 15:44 [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-06-08 14:05 Andrey Grozin
2020-01-30 15:39 Andrey Grozin
2019-09-24 10:32 Andrey Grozin
2019-06-01 11:19 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