Version bump to 1.0.36, also thanks to Stelian Ionescu (fe[nl]ix) <sionescu at cddr...
authorPanagiotis Christopoulos <pchrist@gentoo.org>
Wed, 24 Mar 2010 15:45:08 +0000 (15:45 +0000)
committerPanagiotis Christopoulos <pchrist@gentoo.org>
Wed, 24 Mar 2010 15:45:08 +0000 (15:45 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux i686

dev-lisp/sbcl/ChangeLog
dev-lisp/sbcl/Manifest
dev-lisp/sbcl/files/sbcl-1.0.36-fix_linux-os-c.patch [new file with mode: 0644]
dev-lisp/sbcl/sbcl-1.0.36.ebuild [new file with mode: 0644]

index 9648f981968fdfb30651b90a341db2074b5d4831..f5602b80c219b2ae53691a986a229ffda7de0efb 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-lisp/sbcl
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.161 2009/10/04 14:54:36 ssuominen Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.162 2010/03/24 15:45:08 pchrist Exp $
+
+*sbcl-1.0.36 (24 Mar 2010)
+
+  24 Mar 2010; Panagiotis Christopoulos <pchrist@gentoo.org>
+  +sbcl-1.0.36.ebuild, +files/sbcl-1.0.36-fix_linux-os-c.patch:
+  Version bump to 1.0.36, also thanks to Stelian Ionescu (fe[nl]ix)
+  <sionescu at cddr.org>, fixes bugs 292830,308869
 
   04 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> sbcl-1.0.19.ebuild,
   sbcl-1.0.26-r10.ebuild, sbcl-1.0.27-r10.ebuild, sbcl-1.0.28.ebuild,
index 6c5f86bdc9cf4bdaef56c80b3a453c6f702f2000..7306167ce2aeaed403ec20cf676cc55d6bf19507 100644 (file)
@@ -1,4 +1,5 @@
 AUX disable-tests-gentoo.patch 2398 RMD160 65a45c07af77b042da859fb00d6f19c7d3354289 SHA1 3f970fdc360b081e51b82a92debd5b2522b73707 SHA256 503fb71f962097025375cdbb6e2a80d734f107d7c13148319f7cf9170a6f65d2
+AUX sbcl-1.0.36-fix_linux-os-c.patch 418 RMD160 558a7cc1c212729e39f746d7db9cc7324d23a64f SHA1 5ff812499525ec51c0debdac78fc6d39bc4d55a0 SHA256 50b310b3d72b380b91828730a5539638decb6a4df6d28f93dff84ddad824b2ae
 AUX vanilla-module-install-source-gentoo.patch 471 RMD160 6eace9d24ddade1e53900880c944f332b32e3b10 SHA1 f70d4c097926ca6c61b8601dbb2b672571c5e1fe SHA256 af86a188c77abc5624744683ee91e4414554ebd0f83b9d1b7dcb01468316cd52
 DIST sbcl-0.9.12-alpha-linux-binary.tar.bz2 7147697 RMD160 09fa934242a9da6c765056420f694c8f23bba925 SHA1 07c5f14ae27ab2558b3ee845570487dfc0ca5942 SHA256 3a16825480ca476c986bc18d1a1a2c5cad5a1e71ff6ba21d5c5011f69b119245
 DIST sbcl-0.9.17-sparc-linux-binary.tar.bz2 7322996 RMD160 b9887c767ddc693fade88b04cc919859aef1b79a SHA1 45a01e64e8bbda991c0f252c344acf3c5f27ec69 SHA256 9238d9de88be3d05c3369cd15f52ae2819a82e7e55f9b85133c947d102ce4059
@@ -23,11 +24,15 @@ DIST sbcl-1.0.28-source.tar.bz2 3307445 RMD160 eb381d546dfdf5bb686d756f241459c65
 DIST sbcl-1.0.28-sparc-linux-binary.tar.bz2 8032042 RMD160 ca965bd20980f9f9b528a1c39be4979ad2941660 SHA1 6dea2a9637c272fd9406cd290cbfdbdbf3b0b8dc SHA256 a2e848ac11b0f16bb91866bd187949d908ad94fabb958a0b56320fc0e8b8923e
 DIST sbcl-1.0.28-x86-64-linux-binary.tar.bz2 8159304 RMD160 641a6848a1436ac3b748b21edb8a51aec48165de SHA1 5a8ad915cbe3bf3ec35a299bdbe48babe793c21f SHA256 cbb729bdf8a3517ead305f6d0f3a2c45d8ce1a2a1e30e881731f505adc30997e
 DIST sbcl-1.0.28-x86-linux-binary.tar.bz2 8370430 RMD160 b77461d82484fdf5e251a929fbd797b3256a1de1 SHA1 b57bd4ab78c98766993711ab16e8493e815cbc99 SHA256 68aed5ed7e1fb6f64b789bfa722efe82b23dbee72853ad60d35503e67792b8e4
+DIST sbcl-1.0.29-x86_64-linux-binary-r2.tar.bz2 8170272 RMD160 3d345e6795679bb2663bfd2d9e60146c7e35e178 SHA1 9093922bbb9da8f117985e75c6bc381b6533a329 SHA256 c449bd76f3ad1efb5aa2c23d9512567fd6004456895871b042e01d0c091699ac
 DIST sbcl-1.0.31-source.tar.bz2 3354506 RMD160 e94c9097ff4138471c179bfe1f1e2c33e6f2e169 SHA1 4a4b74de174f97050a2785ac4559aa6dd48a3d09 SHA256 d0264d6e4a49e6d181c27348f07de733c09860c9cd74a1fbe8e6e3cb7ca289dc
+DIST sbcl-1.0.36-source.tar.bz2 3393142 RMD160 160e2adf42557a12879e0476aa8e46d6c255e6aa SHA1 58263e0f6d17833bc722846e1be01c2a9af90228 SHA256 bbd878562ba36feb21b591e7165cc8feeabf51271a56b139640dfb1fb482bac5
+DIST sbcl-1.0.36-x86-linux-binary.tar.bz2 8812467 RMD160 000f73bf31e04a591fdef4484dd5897362cd0041 SHA1 7f642fb0ee6ab0043a415f8424e2f3d8a98e85d3 SHA256 d25eecb2ea92e6758597b35568a33c43e9c4ce10841160d6753d2b54e5428148
 EBUILD sbcl-1.0.19.ebuild 6449 RMD160 10e3a28954a2994c795d8e831f8c690aeded0cc9 SHA1 01bd8e3478db428fbe1dc33986c7cb20cdf599e0 SHA256 f778b399ff789568f16e2bac83b1f7cb9f4ec4f1e20aea4e7d2d0be46b5bf3cb
 EBUILD sbcl-1.0.26-r10.ebuild 6120 RMD160 0698a55571190bb4be6af985844d54b5d95cd752 SHA1 3d29307b920ad420954a049d59af1986c212378a SHA256 09f864cc6fe7f83ffd2595285a4308e82d07a980470b58c8b7eaa8e27e468637
 EBUILD sbcl-1.0.27-r10.ebuild 6120 RMD160 c33df8dbce93c2cd15043d96a4f6d0aa816871b9 SHA1 11fd21a0be4a53523cbee7af7b47922f35ad040f SHA256 569fa4ac0c57822cfd544da3af62516a2674d5ee9a479196664da463e8b6e2ac
 EBUILD sbcl-1.0.28.ebuild 6051 RMD160 c4c473ba25210cf820266e74abc985840afa3f3b SHA1 da52d153eee8941194ef725b108cd6fa3073c648 SHA256 02bed859aded48cca3129a596997356c0315a41b2cd5c62a8f916092321428aa
 EBUILD sbcl-1.0.31.ebuild 6043 RMD160 6ccb818ed133ebceccfaeca294fbb4a63ed9ac51 SHA1 6878b153a112b8e2f8ab73763d8588af8cd11019 SHA256 e4c371013498a9d0b23eaa110ec3da7e8fbce38a896616a9991f7346b3d2e64a
-MISC ChangeLog 46439 RMD160 e718bbfcde7db2c4401988258c014b38415c6239 SHA1 23f65fd809bde6b01c701653af8fe3c749d24fc8 SHA256 73f69dd09b8004555c11687bf9d6efb791e34198ae652c7b0a7476a30b8deb52
+EBUILD sbcl-1.0.36.ebuild 6131 RMD160 259925409676aa075ae4427cad5a738232ef18fb SHA1 3c7a1b48f457fb394adf0f5be83cd8fd3b632a9b SHA256 522f1508df80005e93191fa65dc0dc70ac0b6db76491f25401076f12f89b95db
+MISC ChangeLog 46710 RMD160 665d232e5af889e0545ef0cddca18009811e5f7e SHA1 b712843b0644d7461c9d845a6848cfbf7d7c7303 SHA256 344795d8105ac54923b403581f56c0b3a49c3a122fb0461430d416dc8efe230c
 MISC metadata.xml 1192 RMD160 cc9ef1f835468d8901a7fac96ff183cffaa8448f SHA1 d628ab8da2e19ab42b6df9dcd1afc09e3efdcd05 SHA256 b5fb21d6b7020a9ebde8793cfb7209ee1db5c5d6ee0b1c8fd6c7b7e3a3db27b1
diff --git a/dev-lisp/sbcl/files/sbcl-1.0.36-fix_linux-os-c.patch b/dev-lisp/sbcl/files/sbcl-1.0.36-fix_linux-os-c.patch
new file mode 100644 (file)
index 0000000..b5c5930
--- /dev/null
@@ -0,0 +1,14 @@
+--- 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/sbcl-1.0.36.ebuild b/dev-lisp/sbcl/sbcl-1.0.36.ebuild
new file mode 100644 (file)
index 0000000..edffcf7
--- /dev/null
@@ -0,0 +1,188 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.0.36.ebuild,v 1.1 2010/03/24 15:45:08 pchrist Exp $
+
+EAPI=2
+
+inherit multilib eutils
+
+#same order as http://www.sbcl.org/platform-table.html
+BV_X86=1.0.36
+BV_AMD64=1.0.29
+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-r2.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 ) )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~ppc ~sparc ~x86"
+IUSE="ldb source +threads +unicode 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 ) )"
+PDEPEND="dev-lisp/gentoo-init"
+
+PROVIDE="virtual/commonlisp"
+
+# Disable warnings about executable stacks, as this won't be fixed soon by upstream
+QA_EXECSTACK="usr/bin/sbcl"
+
+pkg_setup() {
+       if built_with_use sys-devel/gcc hardened && gcc-config -c | grep -qv vanilla; then
+               eerror "So-called \"hardened\" compiler features are incompatible with SBCL. You"
+               eerror "must use gcc-config to select a profile with non-hardened features"
+               eerror "(the \"vanilla\" profile) and \"source /etc/profile\" before continuing."
+               die
+       fi
+       ewarn "This is a new ebuild, based on older ones, but with some internal"
+       ewarn "changes. If it fails, please, file a bug without hesitation."
+}
+
+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"
+       cat >> "${CONFIG}" <<'EOF'
+       )
+  list)
+EOF
+       cat "${CONFIG}"
+}
+
+src_unpack() {
+       unpack ${A}
+       mv sbcl-*-linux sbcl-binary
+       cd "${S}"
+}
+
+src_prepare() {
+       use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
+
+       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
+       epatch  "${FILESDIR}/${P}-fix_linux-os-c.patch"
+       #fix CFLAGS and LDFLAGS
+       pushd src/runtime
+       sed -i -e "s/CFLAGS = -g -Wall -Wsign-compare -O3/CFLAGS =${CFLAGS}/g" GNUmakefile
+       sed -i -e "s/CPPFLAGS = -I./CPPFLAGS = -I. ${CXXFLAGS}/g" GNUmakefile
+       sed -i -e "s/LINKFLAGS = -g/LINKFLAGS = -g ${LDFLAGS}/g" GNUmakefile
+       sed -i -e 's/-fno-omit-frame-pointer/ /g' Config*
+       popd
+}
+
+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
+
+       # clear the environment to get rid of non-ASCII strings, see bug 174702
+       # set HOME for paludis
+       env - HOME="${T}" \
+               PATH="${bindir}/src/runtime:${PATH}" SBCL_HOME="${bindir}/output" GNUMAKE=make ./make.sh \
+               "sbcl --no-sysinit --no-userinit --disable-debugger --core ${bindir}/output/sbcl.core" \
+               || 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/**/*.*")))
+
+;;; Setup ASDF
+(load "/etc/gentoo-init.lisp")
+EOF
+
+       # Install documentation
+       unset SBCL_HOME
+       INSTALL_ROOT="${D}/usr" DOC_DIR="${D}/usr/share/doc/${PF}" \
+               sh install.sh || die "install.sh failed"
+
+       # rm empty directories lest paludis complain about this
+       # rmdir "${D}"/usr/$(get_libdir)/sbcl/{site-systems,sb-posix/test-lab,sb-cover/test-output} 2>/dev/null
+       find "${D}" -empty -type d -exec rmdir -v {} +
+
+       doman doc/sbcl-asdf-install.1
+
+       if use doc; then
+               dodoc OPTIMIZATIONS PRINCIPLES README STYLE TLA TODO STYLE
+               pushd doc
+               dohtml -r internals/sbcl-internals
+               dodoc internals-notes/*
+               doinfo internals/sbcl-internals.info
+               popd
+       else
+               rm -Rv "${D}/usr/share/doc/${PF}"
+       fi
+
+       # install the SBCL source
+       if use source; then
+               ./clean.sh
+               cp -a -v 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}"
+}