commit: 21e2aec9632483273ccc7d9dbfe6ecbf5aad99e0 Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org> AuthorDate: Tue Apr 4 18:10:15 2017 +0000 Commit: José María Alonso <nimiux <AT> gentoo <DOT> org> CommitDate: Tue Apr 4 18:10:15 2017 +0000 URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=21e2aec9
dev-lisp/sbcl: Drops old versions dev-lisp/sbcl/files/1.1.6-fix-svref.patch | 59 ------ dev-lisp/sbcl/files/bsd-sockets-test-1.2.patch | 24 --- dev-lisp/sbcl/files/concurrency-test-1.2.6.patch | 24 --- dev-lisp/sbcl/files/gentoo-fix_linux-os-c.patch | 14 -- .../gentoo-fix_nopie_for_hardened_toolchain.patch | 24 --- ...7-gentoo-fix_nopie_for_hardened_toolchain.patch | 22 --- dev-lisp/sbcl/sbcl-1.1.6-r3.ebuild | 205 -------------------- dev-lisp/sbcl/sbcl-1.1.7.ebuild | 204 -------------------- dev-lisp/sbcl/sbcl-1.2.6.ebuild | 206 --------------------- 9 files changed, 782 deletions(-) diff --git a/dev-lisp/sbcl/files/1.1.6-fix-svref.patch b/dev-lisp/sbcl/files/1.1.6-fix-svref.patch deleted file mode 100644 index 95861ad7..00000000 --- a/dev-lisp/sbcl/files/1.1.6-fix-svref.patch +++ /dev/null @@ -1,59 +0,0 @@ -commit 66ee499237be5778b44b0d7b2de396562137228e -Author: Paul Khuong <p...@pvk.ca> -Date: Sat Mar 30 19:22:46 2013 +0100 - - Fix a compilation failure on svref of a symbol macro - - Introduced in 0892423b (faster SVREF and (SETF SVREF) compilation) - - Thanks to James M. Lawrence for the quick report, with a reduced - test case. - -diff --git a/NEWS b/NEWS -index 0774be8..0357268 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,4 +1,8 @@ - ;;;; -*- coding: utf-8; fill-column: 78 -*- -+changes relative to sbcl-1.1.6 -+ * bug fix: svref/(setf svref) on symbol macros don't crash the compiler -+ anymore. (Minimal test case provided by James M. Lawrence on sbcl-devel) -+ - changes in sbcl-1.1.6 relative to sbcl-1.1.5: - * enhancement: the continuable error when defknown-ing over extant - fndb entries can be ignored by passing :overwrite-fndb-silently t -diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp -index a595e63..d70cdb5 100644 ---- a/src/compiler/array-tran.lisp -+++ b/src/compiler/array-tran.lisp -@@ -1023,7 +1023,7 @@ - (define-source-transform svref (vector index) - (let ((elt-type (or (when (symbolp vector) - (let ((var (lexenv-find vector vars))) -- (when var -+ (when (lambda-var-p var) - (type-specifier - (array-type-declared-element-type (lambda-var-type var)))))) - t))) -@@ -1036,7 +1036,7 @@ - (define-source-transform %svset (vector index value) - (let ((elt-type (or (when (symbolp vector) - (let ((var (lexenv-find vector vars))) -- (when var -+ (when (lambda-var-p var) - (type-specifier - (array-type-declared-element-type (lambda-var-type var)))))) - t))) -diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp -index 833c5ee..1a4fc7d 100644 ---- a/tests/compiler.pure.lisp -+++ b/tests/compiler.pure.lisp -@@ -4378,3 +4378,8 @@ - (with-test (:name :second-open-coded) - (let ((fun (compile nil `(lambda (x) (second x))))) - (assert (not (ctu:find-named-callees fun))))) -+ -+(with-test (:name :svref-of-symbol-macro) -+ (compile nil `(lambda (x) -+ (symbol-macrolet ((sv x)) -+ (values (svref sv 0) (setf (svref sv 0) 99)))))) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.patch deleted file mode 100644 index 7a7b12bd..00000000 --- a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r -U1 sbcl-1.2.2.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.2.2/contrib/sb-bsd-sockets/tests.lisp ---- sbcl-1.2.2.orig/contrib/sb-bsd-sockets/tests.lisp 2014-07-28 17:15:05.000000000 +0700 -+++ sbcl-1.2.2/contrib/sb-bsd-sockets/tests.lisp 2014-08-01 19:48:30.011931081 +0700 -@@ -31,11 +31,11 @@ - ;;; 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) - 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 b85fc168..00000000 --- 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_linux-os-c.patch b/dev-lisp/sbcl/files/gentoo-fix_linux-os-c.patch deleted file mode 100644 index b5c59305..00000000 --- a/dev-lisp/sbcl/files/gentoo-fix_linux-os-c.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/src/runtime/linux-os.c 2009-05-01 13:30:51.000000000 +0300 -+++ b/src/runtime/linux-os.c 2010-03-24 02:30:48.000000000 +0200 -@@ -56,11 +56,7 @@ - #include "cheneygc-internal.h" - #endif - --#ifdef LISP_FEATURE_X86 --/* Prototype for personality(2). Done inline here since the header file -- * for this isn't available on old versions of glibc. */ - int personality (unsigned long); --#endif - - size_t os_vm_page_size; - diff --git a/dev-lisp/sbcl/files/gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/gentoo-fix_nopie_for_hardened_toolchain.patch deleted file mode 100644 index d4f94ca2..00000000 --- a/dev-lisp/sbcl/files/gentoo-fix_nopie_for_hardened_toolchain.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -ur b/src/runtime/Config.x86-linux a/src/runtime/Config.x86-linux ---- b/src/runtime/Config.x86-linux 2012-01-09 02:08:10.000000000 +0000 -+++ a/src/runtime/Config.x86-linux 2012-02-02 14:32:56.000000000 +0000 -@@ -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 -diff -ur b/src/runtime/Config.x86_64-linux a/src/runtime/Config.x86_64-linux ---- b/src/runtime/Config.x86_64-linux 2012-01-09 02:08:10.000000000 +0000 -+++ a/src/runtime/Config.x86_64-linux 2012-02-02 14:32:44.000000000 +0000 -@@ -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.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 bf03ada5..00000000 --- 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/sbcl-1.1.6-r3.ebuild b/dev-lisp/sbcl/sbcl-1.1.6-r3.ebuild deleted file mode 100644 index 56854706..00000000 --- a/dev-lisp/sbcl/sbcl-1.1.6-r3.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# 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.5 -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 )" - -RESTRICT="mirror" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="debug doc source +threads +unicode zlib" - -CDEPEND=">=dev-lisp/asdf-2.33-r3:=" -DEPEND="${CDEPEND} - doc? ( <sys-apps/texinfo-5.0 >=media-gfx/graphviz-2.26.0 )" -RDEPEND="${CDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.3 || ( <sys-libs/glibc-2.6[nptl] >=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() { - cat > "${CONFIG}" <<'EOF' -(lambda (list) - (flet ((enable (x) (pushnew x list)) - (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" - cat >> "${CONFIG}" <<'EOF' - ) - 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 - epatch "${FILESDIR}"/1.1.6-fix-svref.patch - - # To make the hardened compiler NOT compile with -fPIE -pie - if gcc-specs-pie ; then - einfo "Disabling PIE..." - epatch "${FILESDIR}"/gentoo-fix_nopie_for_hardened_toolchain.patch - fi - - 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 - - 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 -C "${bindir}"/src/runtime/sbcl - pax-mark -mr "${bindir}"/src/runtime/sbcl - - # Hack to disable PaX on second GENESIS stage - sed -i -e '/load/!s/^echo \/\/doing warm.*$/&\npaxctl -C \.\/src\/runtime\/sbcl\npaxctl -mprexs \.\/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/ - cat > "${D}"/etc/sbclrc <<EOF -;;; The following is required if you want source location functions to -;;; work in SLIME, for example. - -(setf (logical-pathname-translations "SYS") - '(("SYS:SRC;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/src/**/*.*") - ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*"))) - -;;; 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}" -} diff --git a/dev-lisp/sbcl/sbcl-1.1.7.ebuild b/dev-lisp/sbcl/sbcl-1.1.7.ebuild deleted file mode 100644 index 1141cf8d..00000000 --- a/dev-lisp/sbcl/sbcl-1.1.7.ebuild +++ /dev/null @@ -1,204 +0,0 @@ -# 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.5 -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 )" - -RESTRICT="mirror" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="debug doc source +threads +unicode zlib" - -CDEPEND=">=dev-lisp/asdf-2.33-r3:=" -DEPEND="${CDEPEND} - doc? ( <sys-apps/texinfo-5.0 >=media-gfx/graphviz-2.26.0 )" -RDEPEND="${CDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.3 || ( <sys-libs/glibc-2.6[nptl] >=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() { - cat > "${CONFIG}" <<'EOF' -(lambda (list) - (flet ((enable (x) (pushnew x list)) - (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" - cat >> "${CONFIG}" <<'EOF' - ) - 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 - - # To make the hardened compiler NOT compile with -fPIE -pie - if gcc-specs-pie ; then - einfo "Disabling PIE..." - epatch "${FILESDIR}"/gentoo-fix_nopie_for_hardened_toolchain.patch - fi - - 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 - - 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 -C "${bindir}"/src/runtime/sbcl - pax-mark -mr "${bindir}"/src/runtime/sbcl - - # Hack to disable PaX on second GENESIS stage - sed -i -e '/load/!s/^echo \/\/doing warm.*$/&\npaxctl -C \.\/src\/runtime\/sbcl\npaxctl -mprexs \.\/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/ - cat > "${D}"/etc/sbclrc <<EOF -;;; The following is required if you want source location functions to -;;; work in SLIME, for example. - -(setf (logical-pathname-translations "SYS") - '(("SYS:SRC;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/src/**/*.*") - ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*"))) - -;;; 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}" -} diff --git a/dev-lisp/sbcl/sbcl-1.2.6.ebuild b/dev-lisp/sbcl/sbcl-1.2.6.ebuild deleted file mode 100644 index 660ba9c9..00000000 --- a/dev-lisp/sbcl/sbcl-1.2.6.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# 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.2.6 -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.1:=" -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 - # bug #468482 - epatch "${FILESDIR}/concurrency-test-${PV}.patch" - # bug #486552 - epatch "${FILESDIR}"/bsd-sockets-test-1.2.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 - - 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 - - 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 '/^[ \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}" \ - 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}" -}