diff options
Diffstat (limited to 'dev-lisp/sbcl')
-rw-r--r-- | dev-lisp/sbcl/Manifest | 18 | ||||
-rw-r--r-- | dev-lisp/sbcl/files/sbcl-1.4.9-gcc-10.patch | 13 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-1.3.11.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-1.4.9.ebuild | 5 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.0.10.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.0.11.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.1.0.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.1.1.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.1.2.ebuild | 2 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.1.3.ebuild | 248 |
10 files changed, 282 insertions, 14 deletions
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest index 207465bcad9e..6d28635e7de7 100644 --- a/dev-lisp/sbcl/Manifest +++ b/dev-lisp/sbcl/Manifest @@ -12,6 +12,7 @@ AUX sbcl-1.2.13-verbose-build.patch 835 BLAKE2B 9afec842d7130c28ebe45dd41b3668b3 AUX sbcl-1.3.11-config.patch 630 BLAKE2B 7c8abce227890314a8d9a926d33336b670e1238a2402d331824bd2438be3c90cf0e7648ad2d4dd8290c792ef6c765d71bfed54a5e818f861478d04565ce6f4e5 SHA512 f76584df3309f76510070752c356396d50114bd180142a7af120c5a6f43c1a0591644ba93d27e04aa88ca79dd13d48accbd48c371bf9e519916db81a5fc4208b AUX sbcl-1.4.0-bsd-sockets-test.patch 15625 BLAKE2B 016d9ff9ef952c0b51fc0d03670a352dc12f6d40283bd7cef2110a0c795160b07412ca117e988aad71e19dd2629666aa6b3d6b17cbc123973f33d5d44e70e281 SHA512 59120ce76dd3c24b48edebda4d4536eb570fa7fab67ef8e995d89b72c5702333943ea7f39c674091773996b67add22e6fff7abd041acbb0e83a3e0e002097d74 AUX sbcl-1.4.0-verbose-build.patch 936 BLAKE2B 2ec498fbe58e5b4ed8786f8554801ef89fa8300db7aeea45b09e1136254ca7cad92aadafa05d3d687c52267f444f7c7d2bd7b1d52ca5d502787f046f33708a4f SHA512 10b9e32a122910cca131bb5b4f1fbc098fa588a77b6cea2086a4f8458bcd70d5a7c2ad25018ac72b417d6fba8769d09e7debaffc23ef8f9a3b184d7f5729ec8d +AUX sbcl-1.4.9-gcc-10.patch 453 BLAKE2B 6d22bb9545db387ad98b7e35cfe7e99d1cf04f51dfa9992c6bf41efbe643606b1b80e4add80daeb1e999f1eb723e6d6aaaa42859a0bbee396bba1bbc965c8f60 SHA512 7df0bd616422890ba6e58238a839ecd4bd795f2cb899c51290851c907eaf9fbac47a0f228869c1c951677f8b30518a8a0370e5d08fe901883c13d6b35d001608 AUX verbose-build-2.0.3.patch 1014 BLAKE2B bdd83275e874ad0835caba34f4b97ae16d2537ccb0650aac12f874dc9344fa4b8dd56468ef8c45cca2fe570fff25026f636b2cae294116a23f9bde6523cb9efa SHA512 01b0259d8d19b5c5554bcee54756b60986d623467e3156f4ece3f0ede5d64ec75688d3ac8a41a33e55e3f80c96c3f9184e6ec208621e33fb18397e6f575d4b84 DIST sbcl-1.0.23-sparc-solaris-binary.tar.bz2 7907803 BLAKE2B 4be6831c196cfef505b411fa9ae0b9586f93309ce97fcd2b964abfb4175f00f7437da7859334973f2441592fc1a13cc5557044737659f5ef13998b593d623cda SHA512 d641d7859f0d60ce7dd684a0f21e62282a5a658ed6bb4d67d6b141b3ce22d9e27261efe7e5d0f752c30e467cf90d7c8a03ad2a04b3c60042f0ef0a4808a9c74a DIST sbcl-1.0.28-alpha-linux-binary.tar.bz2 7573824 BLAKE2B ab8e139adb4fbc0ac7b34457c3361b044d04d8d9dedba2008cb19220915900e2d1bf540b617c738145923d74fa28ab7d979fd0d1bf4b9d17c445dfb080731263 SHA512 85ceb4d3bf971777f5444a63cbabd88ccfaf16ed3b3c86cc5ea6cb3fd3189c4cd5a5ebbf785c97366afb7026604ffc34a1129936291deede5993056e158125ab @@ -41,11 +42,14 @@ DIST sbcl-2.1.1-source.tar.bz2 6543910 BLAKE2B a567e30ea03d2a19f85afeda385d1d8af DIST sbcl-2.1.1-x86-64-linux-binary.tar.bz2 10116591 BLAKE2B f9e4d2772b23cf03af6f7e8a44192bc48269990c4c7f4a89885497044855f8b637346704aafef54998942184bd58eeb1775cb2e8ef147b4d470cbbc7d44b8773 SHA512 0bf5e8e50e172debba70216e207a8b7d0caf53ccc8d2e682f52622740dfda2320d7c69fa5f966e5c4a5838252447f3704d6b31d0dfaf0b95503ec38c5d18afca DIST sbcl-2.1.2-source.tar.bz2 6539563 BLAKE2B 601331d82c00a153bf7a8e5c556aea1e03eabf9bcd6c6ff874b3e96e3cf96aa8f780297eed3c87411fc1902a0ec36ee9a6b8b8ce51a4a6a8d8f0aa3491270c7e SHA512 53b7be18753bf6e2a4811d47afee3a7b1ece9c1205f73d783880f420870b784a34c07320575a1b5c6bbaf3eca2f7a82f51382f857b6a27fc19e02348ea8bdd70 DIST sbcl-2.1.2-x86-64-linux-binary.tar.bz2 10131524 BLAKE2B 7edb4be77623ac09e650716026f1ecdc8808e9545a658b6c7ebdf0d13ea147217b65f35cfccc3682f303638ef672b822112d13c25cc809ec9b153eaaa7003085 SHA512 e491905fe4929b2dd35080acc1d67f03e7584c36580334be995f6eeec144a87d7c32f19bcc84bcb14fc3157fce0bdc37b7f1f531b1873b1bbddf365932542385 -EBUILD sbcl-1.3.11.ebuild 8275 BLAKE2B 3a54bd91f515f85f3c36eafc776fdd199001b0e576187a573c714902b1b79fae0eb552d6e7020506cba1714aed1c568b3df3a7ef43a65ac347db24ebaadc729e SHA512 4f0109295a7a17c7068636c07638da7f464032ff81221dab41e073e7dc6e8ab86268964e23b6ed97d500e0f999f3c1222b1ff836e4a3d3e045bedf25dbad26f4 -EBUILD sbcl-1.4.9.ebuild 8559 BLAKE2B 513825109663297611a5ada0a96a5f8c02d3e32d9d18721c74b1adf3a224afa1224ac7abfef4a9fbef2728a9cbe184022483ab64ce06595a55283b7b6d218d7e SHA512 5d21f6d8f3f19430cc4ffef49cf57ea6b48035e88234e2a0c69fb4e80c2607405d7c7cb4685c720736ebb39d70e6139e004334dd81e25ab5b82bbc11c00d1d2d -EBUILD sbcl-2.0.10.ebuild 8501 BLAKE2B 8f059823a9bfcbb369fae7c319331f9d986dae249d093bca964871d90a84d7b375177186a7894e8395e3f9a744912f61eef26eaaf2bdd9be6fbca1905ee1d7b6 SHA512 9db0cbd59f3156154d927384df32875925887520072a355e909f943549194faa2204a15aabbd72c25ae24ee5ab2c11d4ca6b122a87c63a5645107a15225d97f0 -EBUILD sbcl-2.0.11.ebuild 8501 BLAKE2B 78edc8b39a8ee1dbbd0864c0aa93e745bd9b1e66ec5bca5be97435223f1a669c4e2e4abd31b5b10905d9eaf9f26ebc87596e1d2b9ec25c5779ea47a912fbd9b5 SHA512 77e4034387813a089fce1724888d06e6716fe77beaf5f6a30ea1d333744d423c4d10f18dce7f32440f21be94091eefe65f2d405375bfcb271929735b3aa25cec -EBUILD sbcl-2.1.0.ebuild 8555 BLAKE2B d201561605da86ee73782d4460d82f3562f0f117f0d53414378c8abe58c4bd7cfd5bf7441e8059d6a4d3dfd1113cb81fa922c6fc83a371fe3959d27cc6fe7032 SHA512 cbcb9938c643b1c0d6be07cb2d8959a5e1669ce6255ae78cd649f8ee45ca97b55f62963bc641b82322ed9666f52d18653f010e7b9dedb80060a6992d0876aacc -EBUILD sbcl-2.1.1.ebuild 8555 BLAKE2B a007118cefb8fb856a957b6e0fd830047fa40df42332ad0c505f02612209b2ec5fa067dcb6031b95f58c749121e0c1fc60a05a4d8544d89ea43e15c47dfa8717 SHA512 6f2dd56047a26298300e94a7fd2f32e0a1ed1d6a50de596035b37bda6e90ab35eb3bc67af1e34ca13fe5a11c70be4586e428e5031dbf3c05aaa22468786ce9cc -EBUILD sbcl-2.1.2.ebuild 8555 BLAKE2B d81ce4ce030cae01d2b76f7f4a6224452942dec0f3d62371c9a582cfdf4b3975d59cbe92836da79c27fdd778f76e81be3690c886a5b6622fdae63044515b17bd SHA512 7abbfaf23d3dca40a3b5af8a2b9d8f9bc9f6689529285af124d3c140e04837e062148a09ba58f77e7a608d4922bcca5d581effe4a64e34d90912093961ccf1e8 +DIST sbcl-2.1.3-source.tar.bz2 6546338 BLAKE2B 7253a97fe57c9f3bfd3fd094d75dd1d028c077272cb3f1ae76935736ec69fc7b0d94568dfa1ec8000aaf72ececb505d84650b2a7350af617bfab5cce514ac253 SHA512 bd3d66d4257200a14fd0ac350aea8c26dcfd5d3f9d00a2175f5714ed8179e293e1687fc50b79ca111df7f24fb65804fdf220faaad5c1c76886f5c181af36b5d5 +DIST sbcl-2.1.3-x86-64-linux-binary.tar.bz2 10141041 BLAKE2B 724786d03e53b86da38cff705d3d3c3b13cbd92375a3841bbf5f1e410d765b7ca4c451e73c4f6f46dd813d4e121f4b641ac70e8cf88599c157bb66c4d3e40b9d SHA512 9209ecaedab3fc16b877970dc72f6cbf611906cb25e6980fedd7234990f5d2b4b49572942e6a11f638688802dc804b27e114877fd1d17478db9441593629e70e +EBUILD sbcl-1.3.11.ebuild 8268 BLAKE2B d2004b01de317306719ffcb88a72b7b35c30996d3d032708ca16da9f03651a13594c05b4e183260faa627b74df0c6a81abb83a405c43de5a8e7bc7ad076cf11a SHA512 9a5fa125075f16034b9f49a419059b6fa372c1fab8e59a96f3e99de34b11471910f00893cee3e9c8fc032306ea5bbcb8d46be62d1a5db884e8040b581ce051b0 +EBUILD sbcl-1.4.9.ebuild 8615 BLAKE2B 452523ca8f28020a0502b0d67fe275920bacbcb41d4dcdaade9dab30edf6fe2c8208776d55b5b5a52ee7d860449048233cadaebf2d67d4a604215910bffb86a4 SHA512 c74ac70682cc3ac2dd290b014f3767dd99ef15fa0af1f95c0eaa14f618711d3e021b9548c5783cdb034ee8d590ef25bd1f411ab113065cadf6eaaf5498a70f9a +EBUILD sbcl-2.0.10.ebuild 8494 BLAKE2B 26053dab5a278ef51d1eb41a009725e69e7a09e0f7b034c59557c7fb0b5f1905b8fe90933e0322680cb0842eedd5e84ed6b603574558f7948ca24f9503b2b1cc SHA512 f631c2e364da7eef3a6e47847fe1b187fcb1f6e0058c07c87562bc1651bc5b7b6cf827f09942ed8fb448c5b721ec2da06b2968513bca7b5c0ac469321e6a0655 +EBUILD sbcl-2.0.11.ebuild 8494 BLAKE2B 6315d5c60662d5e3cfa87f4b4d8e841e3661f102aa252bada94d794bb1c1c1c6d31c1c09d4edd683815f5a0543cabf778a8e57b06199d7337aba0dad8bca0e38 SHA512 7f5ce651ba313e0971b4f24bcace4c626a13e190aa60cc5ccc9dadc29159901d7fd891a7f02cc3155406481e6496fecdc2da79cbc7b6c144ab0ea0d1f0a60dec +EBUILD sbcl-2.1.0.ebuild 8548 BLAKE2B c75c0d2f68aeb37450efb0d5b617d9ed92e1a3856e19a253088bbc0a73807b3d47821fdd8498e395c76c51fffacae2c1460ed033ed108d534cf9cddbb5a9f685 SHA512 b49596863b48d592ece1a1bd53beb8d1f6c7297a795dc3b16865bec599648f2e2803cbdbcd1f5d92180deb8291a65f7887a941195698278614586142af29431f +EBUILD sbcl-2.1.1.ebuild 8548 BLAKE2B a38c32d2e3ab6c6095b67e626e6fdf944d27d387d0bdbef6b87b721c3abf3f870d03acbabde83d3bad62aa8a817db6999ceb01bb62b6ac51181fa69df0453758 SHA512 9a9018782e6c95a455cac37981bb88de87278939150399c8bc5f16c4f9168f390d9cd5784e2303f5458a1d6e4226b0d74c2e0a412a68b9b11dc562ef9cda5b14 +EBUILD sbcl-2.1.2.ebuild 8548 BLAKE2B 4b225ee117866437a9dc527fdac94a9763370732e7aa023be516dc8efad94f5b990bbf3af0063eda2c82312fc40186d95e39e32824e8e1f09a1570cb403db59b SHA512 60e78b800e172650b1b684eb79c30ca987791456086ec230adf2a0702717e3894bccb1ca5f24a49a62938fea6f78b0e4b435e67dbee142d5b49aac7e257c2cb0 +EBUILD sbcl-2.1.3.ebuild 8635 BLAKE2B 41415ae66dd3b9737e275166edd7ca73c8c538de29f4184af5dba0d417d44236cb09d98120e2345cb20225e5b4903b7acfa77888df5ebd7481931b2f2ba10f55 SHA512 0029ae924897f481cd4314a426c905ed5c7c10dfd7fbfa07fd62ee87213e7cd20e8991ebdaa6c242e8679a0bc9b66d3c77227e305bc8af53a87aa67716b70701 MISC metadata.xml 1312 BLAKE2B a03042bd9d39465fe7ae45d6b749571fc4d22cf9d7f81d3cd498b155729576ec1f2ddec03c2c662ecb23abfd19a627ba2cbe9798960009e998a8823902062118 SHA512 3c4463de4a8871ab56fe74c286977fda3037e953d5fa26162d07976efa00b0d99bc98295435a7c5233c43b27369e31eb5d1c0b4c66600477a307aa1a7a322e1c diff --git a/dev-lisp/sbcl/files/sbcl-1.4.9-gcc-10.patch b/dev-lisp/sbcl/files/sbcl-1.4.9-gcc-10.patch new file mode 100644 index 000000000000..216422e9a60b --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.4.9-gcc-10.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/777582 +https://src.fedoraproject.org/rpms/sbcl/blob/rawhide/f/sbcl-1.4.14-gcc10.patch +--- a/src/runtime/linux-os.c ++++ b/src/runtime/linux-os.c +@@ -64,7 +64,7 @@ int personality (unsigned long); + #include <sys/personality.h> + #endif + +-size_t os_vm_page_size; ++//size_t os_vm_page_size; + + #if defined(LISP_FEATURE_SB_THREAD) && defined(LISP_FEATURE_SB_FUTEX) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) + #include <sys/syscall.h> diff --git a/dev-lisp/sbcl/sbcl-1.3.11.ebuild b/dev-lisp/sbcl/sbcl-1.3.11.ebuild index 77aa9b25ab15..ee07b9e0c5db 100644 --- a/dev-lisp/sbcl/sbcl-1.3.11.ebuild +++ b/dev-lisp/sbcl/sbcl-1.3.11.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.2.7 diff --git a/dev-lisp/sbcl/sbcl-1.4.9.ebuild b/dev-lisp/sbcl/sbcl-1.4.9.ebuild index 69a81862dcc7..df2d06a62003 100644 --- a/dev-lisp/sbcl/sbcl-1.4.9.ebuild +++ b/dev-lisp/sbcl/sbcl-1.4.9.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 @@ -103,6 +103,9 @@ src_prepare() { eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.patch + # bug #777582 + eapply "${FILESDIR}"/${PN}-1.4.9-gcc-10.patch + eapply_user # Make sure the *FLAGS variables are sane. diff --git a/dev-lisp/sbcl/sbcl-2.0.10.ebuild b/dev-lisp/sbcl/sbcl-2.0.10.ebuild index 3f951d32d241..a98127f960c3 100644 --- a/dev-lisp/sbcl/sbcl-2.0.10.ebuild +++ b/dev-lisp/sbcl/sbcl-2.0.10.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 diff --git a/dev-lisp/sbcl/sbcl-2.0.11.ebuild b/dev-lisp/sbcl/sbcl-2.0.11.ebuild index ffdecdf13d57..7325503741de 100644 --- a/dev-lisp/sbcl/sbcl-2.0.11.ebuild +++ b/dev-lisp/sbcl/sbcl-2.0.11.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 diff --git a/dev-lisp/sbcl/sbcl-2.1.0.ebuild b/dev-lisp/sbcl/sbcl-2.1.0.ebuild index 2bd14b2981c1..0c5345f75186 100644 --- a/dev-lisp/sbcl/sbcl-2.1.0.ebuild +++ b/dev-lisp/sbcl/sbcl-2.1.0.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 diff --git a/dev-lisp/sbcl/sbcl-2.1.1.ebuild b/dev-lisp/sbcl/sbcl-2.1.1.ebuild index 3fde7e242828..5e9c763459d9 100644 --- a/dev-lisp/sbcl/sbcl-2.1.1.ebuild +++ b/dev-lisp/sbcl/sbcl-2.1.1.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 diff --git a/dev-lisp/sbcl/sbcl-2.1.2.ebuild b/dev-lisp/sbcl/sbcl-2.1.2.ebuild index 82b60facb57d..f248e85eee02 100644 --- a/dev-lisp/sbcl/sbcl-2.1.2.ebuild +++ b/dev-lisp/sbcl/sbcl-2.1.2.ebuild @@ -3,7 +3,7 @@ EAPI=6 -inherit multilib eutils flag-o-matic pax-utils toolchain-funcs +inherit multilib flag-o-matic pax-utils toolchain-funcs #same order as http://www.sbcl.org/platform-table.html BV_X86=1.4.3 diff --git a/dev-lisp/sbcl/sbcl-2.1.3.ebuild b/dev-lisp/sbcl/sbcl-2.1.3.ebuild new file mode 100644 index 000000000000..7e4ebc2afb36 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-2.1.3.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2021 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.4.3 +BV_AMD64=2.1.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_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 ) + 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-solaris" +IUSE="debug doc source +threads +unicode pax_kernel zlib" + +CDEPEND=">=dev-lisp/asdf-3.3:=" +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 + # bug #767742 + eapply "${FILESDIR}"/etags-2.1.0.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 + 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}" +} |