diff options
Diffstat (limited to 'dev-lisp/cmucl')
-rw-r--r-- | dev-lisp/cmucl/ChangeLog | 13 | ||||
-rw-r--r-- | dev-lisp/cmucl/Manifest | 23 | ||||
-rw-r--r-- | dev-lisp/cmucl/cmucl-20b_p001.ebuild | 89 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch | 16 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/20b-execstack-fixes.patch | 118 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/20b-nositeinit-build.patch | 18 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/20b-patch001.patch | 119 | ||||
-rw-r--r-- | dev-lisp/cmucl/files/site-init.lisp.in | 4 | ||||
-rw-r--r-- | dev-lisp/cmucl/metadata.xml | 5 |
9 files changed, 386 insertions, 19 deletions
diff --git a/dev-lisp/cmucl/ChangeLog b/dev-lisp/cmucl/ChangeLog index 4063600242d9..bce9d164c9c1 100644 --- a/dev-lisp/cmucl/ChangeLog +++ b/dev-lisp/cmucl/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-lisp/cmucl -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/ChangeLog,v 1.35 2010/12/17 20:17:43 ulm Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/ChangeLog,v 1.36 2011/04/28 20:21:33 grozin Exp $ + +*cmucl-20b_p001 (29 Apr 2011) + + 29 Apr 2011; Andrey Grozin <grozin@gentoo.org> + +files/20b-customize-lisp-implementation-version.patch, + +cmucl-20b_p001.ebuild, +files/20b-execstack-fixes.patch, + +files/20b-nositeinit-build.patch, +files/20b-patch001.patch, + files/site-init.lisp.in, metadata.xml: + Version bump from the lisp overlay 17 Dec 2010; Ulrich Mueller <ulm@gentoo.org> cmucl-19c.ebuild, cmucl-19d_p2.ebuild, cmucl-20a.ebuild: diff --git a/dev-lisp/cmucl/Manifest b/dev-lisp/cmucl/Manifest index 952640d67163..168c414e3a96 100644 --- a/dev-lisp/cmucl/Manifest +++ b/dev-lisp/cmucl/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX 19c/README.Gentoo 848 RMD160 c4ba0ce6cf147a8b339302856fbac6590609e343 SHA1 16b6415ea63fc546a02c5de99e9e3a789f8efbfc SHA256 99dae09d2159ddf599a39cdc21168c300dd3c56d7ca454565f08076fb83ae064 AUX 19c/cmucl.sh 2701 RMD160 31cf025b4345e7670b3b895023d1bb00d4f6fc3d SHA1 5789679a4fa1125de61855a3b3447f33dabee3b6 SHA256 61c4084a280e44c86b0d2e915ba79151c44b3934ed894d2256402d850b78dc25 AUX 19c/herald-save.lisp-gentoo.patch 830 RMD160 7a9da1b5bc5190a9d44f691bd1b5ca433532083b SHA1 1f4484ded58c1a6ce24cc7f352cfe41e5bdf5b7d SHA256 cd6b45f4b981dafd00ca86fd5a76313adc21ffd8d9b30aaadd72819eb40b7a8e @@ -10,25 +7,25 @@ AUX 19d-cmucl-patch-002.patch 1289 RMD160 677e67369392e2d0d77c3e75d50964984897e1 AUX 19d-gentoo.patch 1331 RMD160 e78cf4588976d363f52959e7f4a8afc9d814b917 SHA1 20de05f939a3ef79243c92b575b3d5c2602b579b SHA256 4c661395dd633c51099ef833f79af868fb8188af1e519c7308182ecf03a5ce30 AUX 20a-multiplefixes.patch 3990 RMD160 5311892ba7aa33e2dc0cfe82c4c48547000914be SHA1 abe23ea6d0e0da5b890062240191d9590f5db811 SHA256 4894e2088e0745cb8ad55b8ec4852d04d2949837e6f5d7ca2d8fe340ece6f554 AUX 20a-patch000.patch 679 RMD160 c371ed28a06c652b433e1b2c3c3052650a9c224b SHA1 8a44aa62d96cfc5befe1656db2bc0c6bac87439b SHA256 ab375f40369d0c7e7d7cc8593405ce2b8b88397ec7faf2a6c7035f55a51fe4f3 +AUX 20b-customize-lisp-implementation-version.patch 697 RMD160 24c08df29a98eb73af53c01535722007551c560c SHA1 b60e043e21a94df6cd071ecc7073493102f8fa3d SHA256 5bf77957f916508e383e6b6aac7e1b5f3518c399cf1ebf70395360cc122623a2 +AUX 20b-execstack-fixes.patch 3990 RMD160 ffdd6a680f6c81d56c67211bb4506d1424b83226 SHA1 65cd11aba2630db79529719a69e28fe7a4348c58 SHA256 f507d48eef3ae55e9f38ef96964d2179a3a328837420e866be4509c5fdde9131 +AUX 20b-nositeinit-build.patch 772 RMD160 96e5126db63f1b045304ac4507e9f61b54c094f2 SHA1 b44e89b06d6ee563e1c3ab9eccc9b24b4b650d3c SHA256 ab3a1bc613e390097dd08148b3d887aa8c92eab833e2413c1bf440dba082ff17 +AUX 20b-patch001.patch 4266 RMD160 c9bc18718d6699b778eaa6b3cd858cad23a2bf53 SHA1 0ff706aff731ac723d60def49c43b5b2b1624ad0 SHA256 6075ac099b9717fdfb0de70265d1dcb7317a0c1335bb90a101b88ccbe895eef1 AUX cmuclrc 305 RMD160 f3cb3cde18b7c5acc087d278d133a0c4ae0efc82 SHA1 ed3b1cfb3f4e702d1d87584e6a3bf5d4ffe4d080 SHA256 4f1f050f8dcbf261c9ee33075d5546a43fd14f7f0cd0ad486b175081bd4b27d2 AUX fix-man-and-doc-installation.patch 1671 RMD160 9bbc857219ae45170c41974967bd111c02d8121c SHA1 accb39eb4a9879830ce55dbb9dc6c91102757757 SHA256 77b9844670345e4c79510969b2676db1b0a366ed0f1e5c07ac74c477cdf65819 -AUX site-init.lisp.in 1971 RMD160 a30f444bb6b35623654dbd729bbaa86f6d2215ff SHA1 906a45575872e6e612f0a528930345f8ca3a52dd SHA256 3e0c6a8ed24658a61b39879b5f83915bed211a62b3832f153958530f272bc020 +AUX site-init.lisp.in 1839 RMD160 cf5673c06c3e6f63782ab77a5a92377579a853ab SHA1 98a719850fd658a312ab72c7fd0af6d2552ce6e3 SHA256 6164e40b50a0a0e7175089f0b55d549b8f24ef602c1c0c41f9433f5c61c512e7 DIST cmucl-19c-x86-linux.tar.bz2 7305922 RMD160 9731fb0fa5f3b47afb89f16c79378324ca8a79b3 SHA1 098c13a7120499a7ff68d4992a76ef7b9442f8c0 SHA256 4f8e1a819e69be176dd03efbd7cc282261d8ddc70b22ffdba1136853f58a30e7 DIST cmucl-19d-x86-linux.tar.bz2 7600189 RMD160 43a6d3e2637a74dad3155923f6771c213e09f54a SHA1 3e32c5f204974fdb68570f885cd0ae3ee5de5504 SHA256 5d459213f37dac8f633377d1c64901d1e9fe9c5774a7b1d5f914c306fb48dadc DIST cmucl-20a-x86-linux.tar.bz2 16390027 RMD160 5bb559f12fcd78cdc5d0c7cb9d89420094dd0f5d SHA1 f9b3141f9298abe1f69cbb88938ff96a12445eb6 SHA256 920db6d07427fae919b1b936fea88d242bb664d5e1fbbce3b8ee6bbe98744d1a +DIST cmucl-20b-x86-linux.tar.bz2 17612706 RMD160 ecc41c357f0db335d989d07383f3d0046cc20ce8 SHA1 73aca21ec8ee3b8119c34883d884808466de89a2 SHA256 b6c9e1c25abb69fbe08892e3e58e7dc24accb8c0e5a37a7685bfccaf67c800e8 DIST cmucl-src-19d.tar.bz2 3780254 RMD160 5f691d74f4263e33142f478616a8c09524f2318b SHA1 8fac36916987c37f1092168d56aaf16c562af843 SHA256 027a86d3e2729e14cb8101d088716a61fb62b5197af66a4f80457f13134514bf DIST cmucl-src-20a.tar.bz2 6203135 RMD160 27042678cf4653e0a0a7be32dd3cadc9fd7aa118 SHA1 4381905b212678f7953920abb49bf24e822d1ace SHA256 a1821808fb2906a3f6fc7229fd7bc558b0896a08d2a227d1b9e726db09c3777d +DIST cmucl-src-20b.tar.bz2 5834128 RMD160 bb0e19437faacbf99dfa0cd087ef89b2c7f5ddee SHA1 ea2fa41bbba3e8b51d55d7c5fc787baa537e8648 SHA256 42dcb9851e692b18d1f544bcdcb3ae18704cc9726ba42780c9677bac700cf5ab DIST cmucl_19c-release-20051115-1.diff.gz 1506111 RMD160 4b74b89e4deaa1dff1e8d003e06a82f59a0c77a3 SHA1 4c8a131e027fe35503add94adc469942d6e42fa2 SHA256 65ef4018294b6fed388c39643782e6e611ee87bdb944c639da648522a4c2d336 DIST cmucl_19c-release-20051115.orig.tar.gz 4654304 RMD160 1c6b165a8427839d48639047020ee7c9c368da65 SHA1 4d95482e94b55e93a7efb148c63f1f2fe0a5449e SHA256 4eebac35decc23449f4cf79996c31ea674df7136e08b829210d352c5d20d2407 EBUILD cmucl-19c.ebuild 4643 RMD160 b0fc85b96e282f5899fefbfee5f0f6668bfe9bda SHA1 959fab7f0bae309371f87d84d3d85ecaf5e8380a SHA256 3759181867335f834ca46991d15181ee63424bb8c711171f88b2f50fa7e88177 EBUILD cmucl-19d_p2.ebuild 1828 RMD160 2e67d3946b01ceb4b3a779810404f512bd23c383 SHA1 e28ea36c88002d04190f8b021e6da59cf9effc3b SHA256 955c0485c761798b97076e767c7b502294e226360c53ba92b1ffde427195594b EBUILD cmucl-20a.ebuild 2246 RMD160 23c0e1b5ff8bfc684fe6ea823977e0b2604bbe5f SHA1 7e96f38c92996bd31914491616a2a1aa2f32e42e SHA256 0398e14b6991cbe4c7c834ed89e0dcf048faa53410f4e07c2a38e6837572dedd -MISC ChangeLog 7070 RMD160 014edaab2ad274d25816e9c78c29c8618caecb84 SHA1 58d231c273d718b421568871d7e5ca6bfd4e434c SHA256 d413c3b4f6aa7d80171a4ba724805c0b676522330bf62971f9596fa6af806d17 -MISC metadata.xml 1201 RMD160 a53109298a26c111b24bccabac8c5fa8084d2756 SHA1 4bc50d74b522f84bfaaec751b935b0cffe872ff1 SHA256 e0d0e5aef67b7b9cb0aae16ac7b92fa8279a5e3a9b658a87ce4d8d20eea94edb ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEARECAAYFAk0LxmAACgkQOeoy/oIi7uxPpgCgg1jzc9Vfu1DPbKkgNM1805nC -9XUAn2LAuwBHkbmzZB5EZOh23XOAvLYS -=dRWW ------END PGP SIGNATURE----- +EBUILD cmucl-20b_p001.ebuild 2901 RMD160 def5448f2c99daa04ec0dcf204754f0bd73b4969 SHA1 b755c6fec8d486745f66e13395bad8d4571d6d8c SHA256 2c137b520ac713d25decb16efac99c9976bfc51923295bef72a1cea865569331 +MISC ChangeLog 7414 RMD160 57f88fae04d439d98637eed00480e61aee860f64 SHA1 dff2f0d8b36453395e036265e714e975e6cb8486 SHA256 c94d9d9cf4ef4b0f23cefcc5680748bc63b1d1e7e673b964ef37c771c216a02e +MISC metadata.xml 1361 RMD160 44f5e6e7bbebb887545a7acb7b45603b9f8114f1 SHA1 bd23e8ad97db5f9f350eded14d333f309f53698b SHA256 f4b7f1014988c330913565e96209b71c5a765e28237c66f72cc0fb5d93b06b68 diff --git a/dev-lisp/cmucl/cmucl-20b_p001.ebuild b/dev-lisp/cmucl/cmucl-20b_p001.ebuild new file mode 100644 index 000000000000..b4c2a53f7658 --- /dev/null +++ b/dev-lisp/cmucl/cmucl-20b_p001.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/cmucl-20b_p001.ebuild,v 1.1 2011/04/28 20:21:33 grozin Exp $ + +EAPI=3 +inherit eutils toolchain-funcs + +MY_PV=${PV:0:3} + +DESCRIPTION="CMU Common Lisp is an implementation of ANSI Common Lisp" +HOMEPAGE="http://www.cons.org/cmucl/" +SRC_URI="http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-src-${MY_PV}.tar.bz2 + http://common-lisp.net/project/cmucl/downloads/release/${MY_PV}/cmucl-${MY_PV}-x86-linux.tar.bz2" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~x86" +IUSE="X source sse2" + +RDEPEND="x11-libs/openmotif" +DEPEND="${RDEPEND} + sys-devel/bc" +PDEPEND="dev-lisp/gentoo-init" + +S="${WORKDIR}" + +# glo_usev flagname [<if_yes> [<if_no>]] +# If $(use FLAGNAME) return true, echo IF_YES to standard output, +# otherwise echo IF_NO. IF_YES defaults to FLAGNAME if not specified +glo_usev() { + if [[ $# < 1 || $# > 3 ]]; then + echo "Usage: ${0} flag [if_yes [if_no]]" + die "${0}: wrong number of arguments: $#" + fi + local if_yes="${2:-${1}}" if_no="${3}" + if useq ${1} ; then + printf "%s" "${if_yes}" + return 0 + else + printf "%s" "${if_no}" + return 1 + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${MY_PV}-patch001.patch + epatch "${FILESDIR}"/fix-man-and-doc-installation.patch + epatch "${FILESDIR}"/${MY_PV}-execstack-fixes.patch + epatch "${FILESDIR}"/${MY_PV}-customize-lisp-implementation-version.patch + epatch "${FILESDIR}"/${MY_PV}-nositeinit-build.patch +} + +src_compile() { + local cmufpu=$(glo_usev sse2 sse2 x87) + local cmuopts="$(glo_usev !X -u) -f ${cmufpu}" + local buildimage="bin/lisp -core lib/cmucl/lib/lisp-${cmufpu}.core -noinit -nositeinit -batch" + env CC="$(tc-getCC)" src/tools/build.sh -v "-gentoo-${PR}" -C "" -o "${buildimage}" ${cmuopts} || die "Cannot build the compiler" +} + +src_install() { + env MANDIR=share/man/man1 DOCDIR=share/doc/${PF} \ + src/tools/make-dist.sh -S -g -G root -O root build-4 ${MY_PV} x86 linux \ + || die "Cannot build installation archive" + # Necessary otherwise tar will fail + dodir /usr + pushd "${D}"/usr + tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.tar.gz \ + || die "Cannot install main system" + if use X ; then + tar xzpf "${WORKDIR}"/cmucl-${MY_PV}-x86-linux.extra.tar.gz \ + || die "Cannot install extra files" + fi + if use source; then + # Necessary otherwise tar will fail + dodir /usr/share/common-lisp/source/${PN} + cd "${D}"/usr/share/common-lisp/source/${PN} + tar --strip-components 1 -xzpf "${WORKDIR}"/cmucl-src-${MY_PV}.tar.gz \ + || die "Cannot install sources" + fi + popd + + # Install site config file + sed "s,@PF@,${PF},g ; s,@VERSION@,$(date +%F),g" \ + < "${FILESDIR}"/site-init.lisp.in \ + > "${D}"/usr/$(get_libdir)/cmucl/site-init.lisp \ + || die "Cannot fix site-init.lisp" + insinto /etc + doins "${FILESDIR}"/cmuclrc || die "Failed to install cmuclrc" +} diff --git a/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch b/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch new file mode 100644 index 000000000000..41da86d014ff --- /dev/null +++ b/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch @@ -0,0 +1,16 @@ +diff -ur cmucl.orig/src/code/misc.lisp cmucl/src/code/misc.lisp +--- cmucl.orig/src/code/misc.lisp 2010-04-20 19:57:45.000000000 +0200 ++++ cmucl/src/code/misc.lisp 2010-10-15 02:15:53.064623104 +0200 +@@ -181,8 +181,10 @@ + + (defun lisp-implementation-version () + "Returns a string describing the implementation version." +- (format nil "~A (~X~A)" *lisp-implementation-version* c:byte-fasl-file-version +- #+unicode (intl:gettext " Unicode") #-unicode "")) ++ (format nil "~X~A~A" ++ c:byte-fasl-file-version ++ #+unicode "-unicode" #-unicode "" ++ *lisp-implementation-version*)) + + (defun machine-instance () + "Returns a string giving the name of the local machine." diff --git a/dev-lisp/cmucl/files/20b-execstack-fixes.patch b/dev-lisp/cmucl/files/20b-execstack-fixes.patch new file mode 100644 index 000000000000..034848d64a26 --- /dev/null +++ b/dev-lisp/cmucl/files/20b-execstack-fixes.patch @@ -0,0 +1,118 @@ +diff -Naur work.old/src/lisp/alpha-assem.S work/src/lisp/alpha-assem.S +--- work.old/src/lisp/alpha-assem.S 2003-03-06 11:13:09.000000000 -0300 ++++ work/src/lisp/alpha-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -297,3 +297,7 @@ + function_end_breakpoint_end: + + ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/amd64-assem.S work/src/lisp/amd64-assem.S +--- work.old/src/lisp/amd64-assem.S 2004-07-27 19:03:53.000000000 -0300 ++++ work/src/lisp/amd64-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -1051,3 +1051,7 @@ + .end + + #endif /* LINKAGE_TABLE */ ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/backtrace.c work/src/lisp/backtrace.c +--- work.old/src/lisp/backtrace.c 2009-06-11 13:04:01.000000000 -0300 ++++ work/src/lisp/backtrace.c 2010-05-10 00:06:22.000000000 -0300 +@@ -3,6 +3,8 @@ + * Simple backtrace facility. More or less from Rob's lisp version. + */ + ++#include "os-common.h" ++ + #include <stdio.h> + #include <signal.h> + #include "lisp.h" +diff -Naur work.old/src/lisp/hppa-assem.S work/src/lisp/hppa-assem.S +--- work.old/src/lisp/hppa-assem.S 2002-08-23 14:05:35.000000000 -0300 ++++ work/src/lisp/hppa-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -460,3 +460,7 @@ + + .export function_end_breakpoint_end + function_end_breakpoint_end ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/linux-stubs.S work/src/lisp/linux-stubs.S +--- work.old/src/lisp/linux-stubs.S 2005-08-17 00:40:16.000000000 -0300 ++++ work/src/lisp/linux-stubs.S 2010-05-10 00:06:34.000000000 -0300 +@@ -995,3 +995,7 @@ + /* doe(yperr_string) */ + /* doe(ypprot_err) */ + #endif /* defined(LINKAGE_TABLE) && !defined(__FreeBSD__) */ ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/lisp.c work/src/lisp/lisp.c +--- work.old/src/lisp/lisp.c 2009-07-13 16:41:54.000000000 -0300 ++++ work/src/lisp/lisp.c 2010-05-10 00:05:55.000000000 -0300 +@@ -5,6 +5,9 @@ + * + */ + ++#include "os-common.h" ++#include <time.h> ++ + #include <stdio.h> + #include <stdlib.h> + #include <limits.h> +diff -Naur work.old/src/lisp/mips-assem.S work/src/lisp/mips-assem.S +--- work.old/src/lisp/mips-assem.S 2002-08-23 14:01:02.000000000 -0300 ++++ work/src/lisp/mips-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -402,3 +402,7 @@ + move v0, a1 + j _restore_state + .end save_state ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/os-common.h work/src/lisp/os-common.h +--- work.old/src/lisp/os-common.h 1969-12-31 21:00:00.000000000 -0300 ++++ work/src/lisp/os-common.h 2010-05-10 00:06:22.000000000 -0300 +@@ -0,0 +1 @@ ++char* convert_lisp_string(char *c_string, void *lisp_string, int len); +diff -Naur work.old/src/lisp/ppc-assem.S work/src/lisp/ppc-assem.S +--- work.old/src/lisp/ppc-assem.S 2006-02-25 01:35:58.000000000 -0300 ++++ work/src/lisp/ppc-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -721,3 +721,7 @@ + SET_SIZE(fpu_restore) + + #endif ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/sparc-assem.S work/src/lisp/sparc-assem.S +--- work.old/src/lisp/sparc-assem.S 2003-10-23 23:57:00.000000000 -0300 ++++ work/src/lisp/sparc-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -837,3 +837,7 @@ + * End: + */ + ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff -Naur work.old/src/lisp/x86-assem.S work/src/lisp/x86-assem.S +--- work.old/src/lisp/x86-assem.S 2008-12-24 02:36:40.000000000 -0200 ++++ work/src/lisp/x86-assem.S 2010-05-10 00:06:34.000000000 -0300 +@@ -798,3 +798,7 @@ + ENDFUNC(undefined_foreign_symbol_trap) + + #endif /* LINKAGE_TABLE */ ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/dev-lisp/cmucl/files/20b-nositeinit-build.patch b/dev-lisp/cmucl/files/20b-nositeinit-build.patch new file mode 100644 index 000000000000..3aea006d159d --- /dev/null +++ b/dev-lisp/cmucl/files/20b-nositeinit-build.patch @@ -0,0 +1,18 @@ +Author: Stelian Ionescu <sionescu@cddr.org> +Date: 2010-11-03 +Status: Upstream +Description: Avoids loading the site init during build + +diff -ur cmucl.orig//src/tools/build.sh cmucl/src/tools/build.sh +--- cmucl.orig//src/tools/build.sh 2010-09-02 18:16:18.000000000 +0200 ++++ cmucl/src/tools/build.sh 2010-11-03 15:57:06.615611658 +0100 +@@ -126,7 +126,8 @@ + fi + $TOOLDIR/load-world.sh $TARGET "$VERSION" || { echo "Failed: $TOOLDIR/load-world.sh"; exit 1; } + +- $TARGET/lisp/lisp -batch -noinit $FPU_MODE < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; } ++ $TARGET/lisp/lisp -batch -noinit -nositeinit $FPU_MODE < /dev/null || \ ++ { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; } + return 0; + fi + } diff --git a/dev-lisp/cmucl/files/20b-patch001.patch b/dev-lisp/cmucl/files/20b-patch001.patch new file mode 100644 index 000000000000..f9464221e365 --- /dev/null +++ b/dev-lisp/cmucl/files/20b-patch001.patch @@ -0,0 +1,119 @@ +Author: Raymond Toy <rtoy@common-lisp.net> +Date: 2010-11-02 +Status: Upstream +Description: Fixes bug in SSE2 VOP for COMPLEX arrays + +diff -ru cmucl.orig//src/compiler/x86/float-sse2.lisp cmucl/src/compiler/x86/float-sse2.lisp +--- cmucl.orig//src/compiler/x86/float-sse2.lisp 2010-08-15 17:09:41.000000000 +0200 ++++ cmucl/src/compiler/x86/float-sse2.lisp 2010-11-01 13:41:54.860889371 +0100 +@@ -7,7 +7,7 @@ + ;;; Scott Fahlman or slisp-group@cs.cmu.edu. + ;;; + (ext:file-comment +- "$Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/files/20b-patch001.patch,v 1.1 2011/04/28 20:21:33 grozin Exp $") ++ "$Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/files/20b-patch001.patch,v 1.1 2011/04/28 20:21:33 grozin Exp $") + ;;; + ;;; ********************************************************************** + ;;; +@@ -1390,13 +1390,19 @@ + (:arg-types complex-single-float) + (:results (r :scs (single-reg))) + (:result-types single-float) ++ (:temporary (:sc single-reg) temp) + (:policy :fast-safe) + (:note _N"complex float realpart") + (:generator 3 + (sc-case x + (complex-single-reg +- (inst xorps r r) ; temp = 0|0|0|0 +- (inst movss r x)) ; r = 0|0|0|x ++ (cond ((location= r x) ++ (inst xorps temp temp) ; temp = 0|0|0|0 ++ (inst movss temp x) ; temp = 0|0|0|x ++ (inst movss r temp)) ; r = temp ++ (t ++ (inst xorps r r) ; temp = 0|0|0|0 ++ (inst movss r x)))) ; r = 0|0|0|x + (complex-single-stack + (inst movss r (ea-for-csf-real-stack x))) + (descriptor-reg +@@ -1408,13 +1414,19 @@ + (:arg-types complex-double-float) + (:results (r :scs (double-reg))) + (:result-types double-float) ++ (:temporary (:sc double-reg) temp) + (:policy :fast-safe) +- (:note _N"complex float realpart") ++ (:note "complex float realpart") + (:generator 3 + (sc-case x + (complex-double-reg +- (inst xorpd r r) ; temp = 0|0 +- (inst movsd r x)) ; r = 0|x ++ (cond ((location= r x) ++ (inst xorpd temp temp) ; temp = 0|0 ++ (inst movsd temp x) ; temp = 0|x ++ (inst movsd r temp)) ; r = temp ++ (t ++ (inst xorpd r r) ; r = 0|0 ++ (inst movsd r x)))) ; r = 0|x + (complex-double-stack + (inst movsd r (ea-for-cdf-real-stack x))) + (descriptor-reg +@@ -1457,8 +1469,13 @@ + (:generator 3 + (sc-case x + (complex-double-reg +- (inst xorpd r r) ; r = 0|0 +- (inst movhlps r x)) ; r = 0|b ++ (cond ((location= r x) ++ (inst xorpd temp temp) ; temp = 0|0 ++ (inst movhlps temp x) ; temp = 0|b ++ (inst movsd r temp)) ; r = temp ++ (t ++ (inst xorpd r r) ; r = 0|0 ++ (inst movhlps r x)))) ; r = 0|b + (complex-double-stack + (inst movsd r (ea-for-cdf-imag-stack x))) + (descriptor-reg +@@ -1835,7 +1852,7 @@ + (convert-complex %complex-single-float cvtpd2ps complex-single complex-double)) + + (macrolet +- ((convert-complex (trans op base-ea to from) ++ ((convert-complex (trans op base-ea to from movinst) + (let ((name (symbolicate to "/" from)) + (from-sc (symbolicate from "-REG")) + (from-sc-stack (symbolicate from "-STACK")) +@@ -1849,21 +1866,27 @@ + (:arg-types ,from-type) + (:results (r :scs (,to-sc))) + (:result-types ,to-type) ++ (:temporary (:sc ,to-sc) temp) + (:policy :fast-safe) + (:generator 1 + (sc-case x + (,from-sc + ;; Need to make sure the imaginary part is zero +- (inst xorps r r) +- (inst ,op r x)) ++ (cond ((location= x r) ++ (inst xorps temp temp) ++ (inst ,op temp x) ++ (inst ,movinst r temp)) ++ (t ++ (inst xorps r r) ++ (inst ,op r x)))) + (,from-sc-stack + (inst xorps r r) + (inst ,op r (,(symbolicate "EA-FOR-" base-ea "-STACK") x))) + (descriptor-reg + (inst xorps r r) + (inst ,op r (,(symbolicate "EA-FOR-" base-ea "-DESC") x))))))))) +- (convert-complex %complex-double-float cvtss2sd sf complex-double single) +- (convert-complex %complex-single-float cvtsd2ss df complex-single double)) ++ (convert-complex %complex-double-float cvtss2sd sf complex-double single movapd) ++ (convert-complex %complex-single-float cvtsd2ss df complex-single double movaps)) + + ;; Add and subtract for two complex arguments + (macrolet diff --git a/dev-lisp/cmucl/files/site-init.lisp.in b/dev-lisp/cmucl/files/site-init.lisp.in index 7a1010102003..1b232166c889 100644 --- a/dev-lisp/cmucl/files/site-init.lisp.in +++ b/dev-lisp/cmucl/files/site-init.lisp.in @@ -12,10 +12,6 @@ (in-package "SYSTEM") -(ext:without-package-locks - (defun lisp-implementation-version () - (format nil "~X-~A" c:byte-fasl-file-version "@VERSION@"))) - (if (probe-file "/etc/cmuclrc") (load "/etc/cmuclrc") (format t "~%;;; Warning: There is no /etc/cmuclrc file (which should have been created during emerge")) diff --git a/dev-lisp/cmucl/metadata.xml b/dev-lisp/cmucl/metadata.xml index 495851f3f501..87a6440bc0e3 100644 --- a/dev-lisp/cmucl/metadata.xml +++ b/dev-lisp/cmucl/metadata.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> +<maintainer> +<email>grozin@gentoo.org</email> +<name>Andrey Grozin</name> +</maintainer> <herd>common-lisp</herd> <longdescription> CMUCL is a free implementation of the Common Lisp programming language @@ -28,5 +32,6 @@ ANSI Common Lisp standard. Here is a summary of its main features: </longdescription> <use> <flag name='nosource'>Don't include source code for CMUCL in installation</flag> +<flag name='source'>Include source code for CMUCL in installation</flag> </use> </pkgmetadata> |