diff options
author | Andrey Grozin <grozin@gentoo.org> | 2013-04-20 14:17:21 +0000 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2013-04-20 14:17:21 +0000 |
commit | d313c9aa2050ba1e044eb240f0bf21e0e418021d (patch) | |
tree | 3ff72b21c77ba50a6c2b8e66b4400cdb94e5b678 /dev-lisp | |
parent | Fix src_configure. (diff) | |
download | gentoo-2-d313c9aa2050ba1e044eb240f0bf21e0e418021d.tar.gz gentoo-2-d313c9aa2050ba1e044eb240f0bf21e0e418021d.tar.bz2 gentoo-2-d313c9aa2050ba1e044eb240f0bf21e0e418021d.zip |
Version bump from the lisp overlay (pmasked)
(Portage version: 2.2.0_alpha173/cvs/Linux i686, signed Manifest commit with key 0x3AFFCE974D34BD8C!)
Diffstat (limited to 'dev-lisp')
-rw-r--r-- | dev-lisp/sbcl/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lisp/sbcl/files/1.1.6-fix-svref.patch | 59 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-1.1.3.ebuild | 196 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-1.1.6-r4.ebuild (renamed from dev-lisp/sbcl/sbcl-1.1.5.ebuild) | 54 |
4 files changed, 97 insertions, 220 deletions
diff --git a/dev-lisp/sbcl/ChangeLog b/dev-lisp/sbcl/ChangeLog index 62a2e3fd83a4..093e85743e00 100644 --- a/dev-lisp/sbcl/ChangeLog +++ b/dev-lisp/sbcl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lisp/sbcl # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.187 2013/03/17 15:15:46 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.188 2013/04/20 14:17:21 grozin Exp $ + +*sbcl-1.1.6-r4 (20 Apr 2013) + + 20 Apr 2013; Andrey Grozin <grozin@gentoo.org> -sbcl-1.1.3.ebuild, + -sbcl-1.1.5.ebuild, +sbcl-1.1.6-r4.ebuild, +files/1.1.6-fix-svref.patch: + Version bump from the lisp overlay (pmasked) 17 Mar 2013; Markos Chandras <hwoarang@gentoo.org> metadata.xml: Add proxy-maintainers to metadata.xml diff --git a/dev-lisp/sbcl/files/1.1.6-fix-svref.patch b/dev-lisp/sbcl/files/1.1.6-fix-svref.patch new file mode 100644 index 000000000000..95861ad7c02c --- /dev/null +++ b/dev-lisp/sbcl/files/1.1.6-fix-svref.patch @@ -0,0 +1,59 @@ +commit 66ee499237be5778b44b0d7b2de396562137228e +Author: Paul Khuong <pvk@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/sbcl-1.1.3.ebuild b/dev-lisp/sbcl/sbcl-1.1.3.ebuild deleted file mode 100644 index 7f57d59f728f..000000000000 --- a/dev-lisp/sbcl/sbcl-1.1.3.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.3.ebuild,v 1.1 2013/01/08 10:29:40 grozin Exp $ - -EAPI=3 -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.3 -BV_PPC=1.0.28 -BV_SPARC=1.0.28 -BV_ALPHA=1.0.28 -BV_MIPS=1.0.23 -BV_MIPSEL=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 ) - mips? ( !cobalt? ( mirror://sourceforge/sbcl/${PN}-${BV_MIPS}-mips-linux-binary.tar.bz2 ) ) - mips? ( cobalt? ( mirror://sourceforge/sbcl/${PN}-${BV_MIPSEL}-mipsel-linux-binary.tar.bz2 ) )" -RESTRICT="mirror" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="+asdf ldb source +threads +unicode debug doc cobalt" - -DEPEND="doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )" -RDEPEND="elibc_glibc? ( >=sys-libs/glibc-2.3 || ( <sys-libs/glibc-2.6[nptl] >=sys-libs/glibc-2.6 ) ) - asdf? ( >=dev-lisp/gentoo-init-1.0 )" - -# 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" - -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 "$(usep ldb)" ":sb-ldb" - sbcl_feature "false" ":sb-test" - sbcl_feature "$(usep unicode)" ":sb-unicode" - sbcl_feature "$(usep debug)" ":sb-xref-for-internals" - cat >> "${CONFIG}" <<'EOF' - ) - list) -EOF - cat "${CONFIG}" -} - -src_unpack() { - unpack ${A} - mv sbcl-*-linux sbcl-binary - 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 - - 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 - sed "s,/lib,/$(get_libdir),g" -i install.sh - sed "s,/usr/local/lib,/usr/$(get_libdir),g" -i src/runtime/runtime.c # #define SBCL_HOME ... - - 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}" make -C doc/manual info html || die "Cannot build manual" - env - HOME="${T}" 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/**/*.*"))) -EOF - if use asdf; then - cat >> "${D}"/etc/sbclrc <<EOF - -;;; Setup ASDF2 -(load "/etc/common-lisp/gentoo-init.lisp") -EOF - fi - - # 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}" - fi - - dodoc BUGS CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README STYLE TLA TODO - - # install the SBCL source - if use source; then - ./clean.sh - cp -av src "${D}/usr/$(get_libdir)/sbcl/" - 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.5.ebuild b/dev-lisp/sbcl/sbcl-1.1.6-r4.ebuild index f817dd72b224..838d9a7dec78 100644 --- a/dev-lisp/sbcl/sbcl-1.1.5.ebuild +++ b/dev-lisp/sbcl/sbcl-1.1.6-r4.ebuild @@ -1,18 +1,16 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.5.ebuild,v 1.1 2013/03/14 04:53:42 grozin Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.6-r4.ebuild,v 1.1 2013/04/20 14:17:21 grozin Exp $ 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_AMD64=1.1.6 BV_PPC=1.0.28 BV_SPARC=1.0.28 BV_ALPHA=1.0.28 -BV_MIPS=1.0.23 -BV_MIPSEL=1.0.28 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp." HOMEPAGE="http://sbcl.sourceforge.net/" @@ -21,19 +19,18 @@ SRC_URI="mirror://sourceforge/sbcl/${P}-source.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 ) - mips? ( !cobalt? ( mirror://sourceforge/sbcl/${PN}-${BV_MIPS}-mips-linux-binary.tar.bz2 ) ) - mips? ( cobalt? ( mirror://sourceforge/sbcl/${PN}-${BV_MIPSEL}-mipsel-linux-binary.tar.bz2 ) )" -RESTRICT="mirror" + alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~ppc ~sparc ~x86" -IUSE="+asdf cobalt debug doc ldb source +threads +unicode" +IUSE="debug doc source +threads +unicode zlib" -DEPEND="doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )" -RDEPEND="elibc_glibc? ( >=sys-libs/glibc-2.3 || ( <sys-libs/glibc-2.6[nptl] >=sys-libs/glibc-2.6 ) ) - asdf? ( >=dev-lisp/gentoo-init-1.0 )" +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" @@ -41,6 +38,10 @@ 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" } @@ -58,9 +59,10 @@ EOF if use x86 || use amd64; then sbcl_feature "$(usep threads)" ":sb-thread" fi - sbcl_feature "$(usep ldb)" ":sb-ldb" + 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' ) @@ -72,12 +74,13 @@ EOF src_unpack() { unpack ${A} mv sbcl-*-linux sbcl-binary || die - cd "${S}" || 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 @@ -85,13 +88,16 @@ src_prepare() { 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 + # 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 - sed "s,/usr/local/lib,/usr/$(get_libdir),g" -i src/runtime/runtime.c || die # #define SBCL_HOME ... + # #define SBCL_HOME ... + sed "s,/usr/local/lib,/usr/$(get_libdir),g" -i src/runtime/runtime.c || die find . -type f -name .cvsignore -delete } @@ -129,10 +135,16 @@ src_compile() { "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 + # need to set HOME because libpango(used by graphviz) complains about it if use doc; then - env - HOME="${T}" make -C doc/manual info html || die "Cannot build manual" - env - HOME="${T}" make -C doc/internals info html || die "Cannot build internal docs" + 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 } @@ -154,14 +166,10 @@ src_install() { (setf (logical-pathname-translations "SYS") '(("SYS:SRC;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/src/**/*.*") ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*"))) -EOF - if use asdf; then - cat >> "${D}"/etc/sbclrc <<EOF ;;; Setup ASDF2 (load "/etc/common-lisp/gentoo-init.lisp") EOF - fi # Install documentation unset SBCL_HOME |