diff options
Diffstat (limited to 'dev-lisp')
163 files changed, 10435 insertions, 0 deletions
diff --git a/dev-lisp/abcl/Manifest b/dev-lisp/abcl/Manifest new file mode 100644 index 000000000000..5ea690713d72 --- /dev/null +++ b/dev-lisp/abcl/Manifest @@ -0,0 +1,8 @@ +DIST abcl-0.0.9.tar.gz 592410 SHA256 ee634443a4a77b2bb9324fa4ff900b15aea5081042fde039045b535d28a8049b SHA512 d822f099ab73f1f62f14bfa3991b88573587d90a8c31e97933549bd19fabaa4d9337963ba33f6ef59f65c259f374bbabb5263c2c3fda3d99a19a645756f80a1c WHIRLPOOL dc405429363bb5a06cc49ad2368451048c83a2eb481e8e8b3d0e9659754d4fdaf5d1a98ba93f9aff647c0e82dff71c41f3e3d75023ab6b02c6142f7062163e82 +DIST abcl-src-0.20.0.tar.gz 735614 SHA256 050e9f6eac7714a39fadafcf5a98893a7926322505c564b1d355748e47c06b48 SHA512 73b033883149b1083a03d87ed5c41b5b6e790cb02978a82f1b57274e6744b66c7b05c5a708077f354ee46ce0780327dfc728bbd9cd9c4f87bd69b730ead8e81b WHIRLPOOL a160ff7d436354fd66bfb467a57ffe3b41c6c08a6a1d02b775979d5955470eac15512737d32003b8d6c73428c655f1f33750a65f5288ecdf06bbfe21e52e9fe0 +EBUILD abcl-0.0.9-r1.ebuild 2004 SHA256 8f631cc98d5250cdbaa765319e586d13213475d3cd234ebd10b4ed27af6e7227 SHA512 07d39aaa6f35ebcfa454b8a28527bd79a10693fb111afb45683f7ae04b5e8b38d4ab65426b45df3c99fe194f53c528d40a547a91fe689b96d24701e8ecc1527d WHIRLPOOL 5b14649bf6bdd5a3e2fe24d32bf9f81232a44b1ed6aad895b8b8bdb8dace3a00092f551bf0dd6354d276d76b5d8417894c088fc3f131a5bb5724684083242605 +EBUILD abcl-0.20.0-r1.ebuild 1059 SHA256 e0072c45cf2dce37f270d248b44f7cb61ebeb27a7d87de051dc5307622908637 SHA512 c336fb09ad29372dcb344e1c784c3e2b03122f541f38418b3100a5a9f6b34df97c45be230aad81772b4c692447c4148adebbb5ba775af54c83143aba93b44d0c WHIRLPOOL f4fe76a1da97c740f30f8a6f8af6378953a407205b6faac642ce6fe632c0060edf3aaf28fb1e7280f789ce0069f3bc0f0485a6af101c110eeecee1ad0aaadb55 +EBUILD abcl-0.20.0.ebuild 841 SHA256 b84d173124c1b5f10f21c47a32cbd95a48e64c36023961ec3468a75374f0e6c1 SHA512 4d9ec141c654c4bc08fb40028dd1bf3b95eb77a8bbf879a32b47ae7fda9e2b8825f16355c268321280c2fd07d16cdd4f4142b0db85e8fd84dc1769805ecd7870 WHIRLPOOL 1e94372e804247b5ba681b4594e31a4bd8e058aaf2b7565a72576045cb2ac408c3ff60cbe4a71eb9d0c455760d4273e848e92f3fc67992db275b783d9c89b5c8 +MISC ChangeLog 2865 SHA256 68d5eacc31fee06cf931027522fbab8e2a570e662fa49c2fd6046759eb826f32 SHA512 4967aa65855dde45e8d5dd0daa93bbbe9fd4cb8c857c57370305219011f58eeed689f56c77d31466bd5654c3bde01fa17627e5d069373de1b6bd9311df650e2c WHIRLPOOL 7ef0fd7bf588db82d17ec67212e7ec98de97b10da95871e54d82e226e09efd1bc2108cd906181788f9e763566608716c2de365a37658ac3bbcc767e51e0c3fba +MISC ChangeLog-2015 1647 SHA256 a787f8443c98d63653f866553265c64bb490eb0a3fe976592cbe4bde4ee0d720 SHA512 c6bb35f29660e655ddcf66969548c2df0dec8c6cb2595f425033f4d3f785cb3410ee1b282a5086a869e4f4b770059971ec51b8dd0c079ed638917cf08a783fb3 WHIRLPOOL 3dec715845e89ae256ab74375cb8b1cec1fb2213616f90174d6b4f53b6b587368d74b684a2c7e74bbe1c8bd2835ce46a181121b69de3d20fe60adfc07be6c0d2 +MISC metadata.xml 756 SHA256 6330b42fde76b79fd7a2df8fc80b7459801a13f53f3be915e11029198bc9c23c SHA512 5b04db4f6e680850b17493db2973bff0b260194fc7f4e9252c4250b58bfe7eea1398df2fe703a49106e5c7c8b5c1bb31bd8b18296767b164566b02f6673ab860 WHIRLPOOL 8f1e9e295425ebd6dc78279c0abfb250b930a768744e5c3698161ced8755da52bb730296d582e43c534a6e3532a3d785499db6e76a9b95dee67e08c90aa0ba35 diff --git a/dev-lisp/abcl/abcl-0.0.9-r1.ebuild b/dev-lisp/abcl/abcl-0.0.9-r1.ebuild new file mode 100644 index 000000000000..6698eaa4a04e --- /dev/null +++ b/dev-lisp/abcl/abcl-0.0.9-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils java-pkg-2 + +DESCRIPTION="ABCL is an implementation of ANSI Common Lisp that runs in a Java VM" +HOMEPAGE="http://armedbear.org/abcl.html" +SRC_URI="http://armedbear.org/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="jad clisp cmucl" + +RDEPEND=">=virtual/jre-1.4 + jad? ( dev-java/jad-bin )" + +DEPEND=">=virtual/jdk-1.4 + dev-lang/python + !cmucl? ( !clisp? ( dev-lisp/sbcl ) ) + cmucl? ( dev-lisp/cmucl ) + clisp? ( dev-lisp/clisp )" + +src_unpack() { + unpack ${A} + cat > "${S}/customizations.lisp" <<EOF +(in-package #:build-abcl) +(setf +*javac-options* "-g $(java-pkg_javac-args)" +*jikes-options* "+D -g $(java-pkg_javac-args)" +*jdk* "${JAVA_HOME}/" +*java-compiler* "${JAVAC}" +*jar* "jar") +EOF + einfo "Building with the following customizations.lisp:" + cat "${S}/customizations.lisp" + cat >"${S}/build.lisp" <<'EOF' +(progn (load "build-abcl") (funcall (intern "BUILD-ABCL" "BUILD-ABCL") :clean t :full t) #+sbcl (sb-ext:quit) #+clisp (ext:quit) #+cmu (extensions:quit)) +EOF +} + +getutfvars() { +python << EOF +import os +for key,value in os.environ.iteritems(): + try: + value.encode() + except UnicodeDecodeError: + print key +EOF +} + +src_compile() { + local lisp_compiler lisp_compiler_args + if use clisp; then + lisp_compiler="clisp" + lisp_compiler_args="-ansi build.lisp" + elif use cmucl; then + lisp_compiler="lisp" + lisp_compiler_args="-noinit -nositeinit -batch -load build.lisp" + else + lisp_compiler="sbcl" + lisp_compiler_args="--sysinit /dev/null --userinit /dev/null --disable-debugger --load build.lisp" + fi + + einfo "Filtering non ASCII environment variables" + for var in $(getutfvars); do + einfo " ${var}" + unset ${var} + done + $lisp_compiler $lisp_compiler_args || die +} + +src_install() { + java-pkg_dolauncher ${PN} --java_args "-Xmx256M -Xrs" --main org.armedbear.lisp.Main + java-pkg_doso src/org/armedbear/lisp/libabcl.so + java-pkg_dojar abcl.jar + dodoc README || die +} diff --git a/dev-lisp/abcl/abcl-0.20.0-r1.ebuild b/dev-lisp/abcl/abcl-0.20.0-r1.ebuild new file mode 100644 index 000000000000..b8b725f655fd --- /dev/null +++ b/dev-lisp/abcl/abcl-0.20.0-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +JAVA_PKG_IUSE="doc" + +MY_P="${PN}-src-${PV}" + +inherit java-pkg-2 java-ant-2 + +DESCRIPTION="Common Lisp implementation for the JVM" +HOMEPAGE="http://common-lisp.net/project/armedbear/" +SRC_URI="http://common-lisp.net/project/armedbear/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=">=virtual/jdk-1.6" +RDEPEND=">=virtual/jre-1.6" + +S="${WORKDIR}/${MY_P}" + +JAVADOC_FILES="java-${PN}" +JAVADOC_DIR="javadoc-${PN}" + +src_compile() { + eant abcl.compile + eant abcl.jar + if use doc; then + find "${S}/src" -type f -name \*.java > "${JAVADOC_FILES}" || die + mkdir -p "${JAVADOC_DIR}" || die + ejavadoc \ + -d "${JAVADOC_DIR}" \ + -docencoding UTF-8 \ + -charset UTF-8 \ + -quiet \ + $(<"${JAVADOC_FILES}") || die + fi +} + +src_install() { + java-pkg_dojar dist/abcl.jar + java-pkg_dolauncher ${PN} --java_args "-server -Xrs" --main org.armedbear.lisp.Main + use doc && java-pkg_dojavadoc "${JAVADOC_DIR}" + einstalldocs +} diff --git a/dev-lisp/abcl/abcl-0.20.0.ebuild b/dev-lisp/abcl/abcl-0.20.0.ebuild new file mode 100644 index 000000000000..cd9abcd39b0c --- /dev/null +++ b/dev-lisp/abcl/abcl-0.20.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit java-pkg-2 java-ant-2 + +MY_P=${PN}-src-${PV} + +DESCRIPTION="Armed Bear Common Lisp is a Common Lisp implementation for the JVM" +HOMEPAGE="http://common-lisp.net/project/armedbear/" +SRC_URI="http://common-lisp.net/project/armedbear/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="jad" + +DEPEND=">=virtual/jdk-1.5" +RDEPEND=">=virtual/jre-1.5 + jad? ( dev-java/jad-bin )" + +S="${WORKDIR}"/${MY_P} + +src_compile() { + eant abcl.compile || die "Can't compile ABCL" + eant abcl.jar || die "Can't make ABCL jar archive" +} + +src_install() { + java-pkg_dojar dist/abcl.jar + java-pkg_dolauncher ${PN} --java_args "-server -Xrs" --main org.armedbear.lisp.Main + dodoc README || die "Can't install README" +} diff --git a/dev-lisp/abcl/metadata.xml b/dev-lisp/abcl/metadata.xml new file mode 100644 index 000000000000..47cec66cb9a1 --- /dev/null +++ b/dev-lisp/abcl/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <maintainer type="project"> + <email>java@gentoo.org</email> + <name>Java</name> + </maintainer> + <longdescription> + Armed Bear Common Lisp (ABCL) is an implementation of ANSI Common + Lisp that runs in a Java virtual machine. + </longdescription> + <use> + <flag name="clisp">Build Armed Bear Common Lisp using GNU CLISP</flag> + <flag name="cmucl">Build Armed Bear Common Lisp using CMU Common Lisp</flag> + <flag name="jad">Enable support for disassembling compiled code using JAD</flag> + </use> +</pkgmetadata> diff --git a/dev-lisp/asdf-binary-locations/Manifest b/dev-lisp/asdf-binary-locations/Manifest new file mode 100644 index 000000000000..1a0de7df5f1b --- /dev/null +++ b/dev-lisp/asdf-binary-locations/Manifest @@ -0,0 +1,5 @@ +DIST asdf-binary-locations_20061018.tar.gz 7504 SHA256 1ffc3473792cf383e7860551eaacb67fcf5a5421d371be2605ed3258f0f55f45 SHA512 3ce92f85763f65331debabd2fd6e2874e331552fda8a6657630b5696bacdb7282f00a5d98ecf2768087a7502a883582abc468de38a6d7aeef8ae0f03423653e0 WHIRLPOOL a9a7c61a267ad91ec4dec1dee7b5999c1e1b33685d244832595b4e4ee258e68882e0c9662139e7a3fdcbc9cedc568bf62eeb9f8ec94db3e7de4afc570e7827ec +EBUILD asdf-binary-locations-20061018.ebuild 754 SHA256 69f26c2546728d3912b3cd1cf301dab4c30f9ebafffe31068bb6829c71298786 SHA512 0b125a4a324dd0de6ef1509530e9562eb80d525e494b26b01404e1b8054c614c8e7c9d8ecb66697388f3ffa66c2989c4fb8610a4d46642132046914086d17a86 WHIRLPOOL 9be957f6b65986a217672ab308b38b7551efdd145900ce173365752a8962c6668f71398bf02d5603637113d927962eca275301c219ea5bfd5ab3b6c803f2ee04 +MISC ChangeLog 2475 SHA256 551f751e34ef13f72ac9eb3bf032acc6245beb7ab6b27b95e3f82825fc5357c2 SHA512 1d17a507c88deecda1a2bb36c65fbf991df12d542b786b1f92504f3aa213e2ef39f03c9aaee023262e8ca1bfea5d3e01af235ee5f1665a5ae91a2d03ed7c7932 WHIRLPOOL 0138dd0df3e72a523ef1fb6f82d54b58892b5d933bcfa2c4a3d03806ffbc03436cb80e7dbb26d0365dedb5f0430fe882347f570df30e7a8af281f233a5fe61d9 +MISC ChangeLog-2015 2171 SHA256 3a55c5a0135f86e1c2594502ec7a006bea627760d33ea73822e8fa476ecff2d0 SHA512 d4c828f6f9027606acbdfacd2acf9106ff678039a8b46e0536954a62fb26407bd9b21fe7e45b98e71062b34b7a69f9fb5388673884bfe73d04aa646718e99ea3 WHIRLPOOL f2ced79615b35f9846d802f768ad54910dff017471b43e700c6dc7801bd687784f21fcba41ef560d504b33a7c16f7a2d105229b6f16223fc2f39f78ab34d4dfd +MISC metadata.xml 261 SHA256 627a8fb846aff40f2f1e29e77040baa5b21fd7663158ab97b84012e0b5e2f742 SHA512 fb754c4ed3579db5dbe303197a05647b7cfab0a3fe47fd2140d5f77641be752d10ccf49a9c267406a0f3ba3dcda8831f778b9596d723f65aff10142bfad60d3d WHIRLPOOL 02fb9a9a64cd705025462ef7601b9b452954c62e41f57422a5a74e6e0c84695aca510635335b0cf35031dfbe75142c0feb06ce1ba4f2794c6230378d772c3ae3 diff --git a/dev-lisp/asdf-binary-locations/asdf-binary-locations-20061018.ebuild b/dev-lisp/asdf-binary-locations/asdf-binary-locations-20061018.ebuild new file mode 100644 index 000000000000..4459b60001c5 --- /dev/null +++ b/dev-lisp/asdf-binary-locations/asdf-binary-locations-20061018.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="3" +inherit common-lisp + +DESCRIPTION="ASDF-Extension to specify where Common Lisp binaries (FASL files) should go" +HOMEPAGE="http://common-lisp.net/project/cl-containers/asdf-binary-locations/" +SRC_URI="http://common-lisp.net/project/portage-overlay/distfiles/${PN}_${PV}.tar.gz" +LICENSE="MIT" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +DEPEND="dev-lisp/asdf" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${PN}" +CLPACKAGE=${PN} + +src_install() { + insinto $CLSOURCEROOT/$CLPACKAGE/dev + doins dev/*.lisp + common-lisp-install *.asd + common-lisp-system-symlink +} diff --git a/dev-lisp/asdf-binary-locations/metadata.xml b/dev-lisp/asdf-binary-locations/metadata.xml new file mode 100644 index 000000000000..7ea645c67e72 --- /dev/null +++ b/dev-lisp/asdf-binary-locations/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +</pkgmetadata> diff --git a/dev-lisp/asdf/Manifest b/dev-lisp/asdf/Manifest new file mode 100644 index 000000000000..7bd59e130205 --- /dev/null +++ b/dev-lisp/asdf/Manifest @@ -0,0 +1,24 @@ +AUX gentoo-init.lisp 354 SHA256 57503e093da27c94443c620ce0fa173326d8718c1aca0e1641b4a3b3bb5266b6 SHA512 28a24bdc25b7f2304b1c837eb1ca44d5006de6bae1d8e5cfd2bc4bac800dfad9c9c7b3964fd0667c89da95051a42da9054bda3f94202867dbae7b02dfd2b03e4 WHIRLPOOL 18649605d204e78cc1fd1b83b465a141233c82c1a18af16f8b04d275ce0e903e6b22b13283ca719cfefe45fd8698a57a99339d19c8acaf429f0902f054eeea44 +AUX source-registry.conf 138 SHA256 bf0b60f988249c21e5977718dfb28cef405a5968df9dda97db7e8458e05fdfee SHA512 244ce3e7cd9c5f483f99c8e43f2d62d16ea35b25897029b7b9038fe5412752f7d8c7ea11396fd87c218e77c63c5efe2f27c2a11fe49ffb79908f8e7b85bf64c9 WHIRLPOOL ab8f36d3534c46c00fc7db73fd881daf6fef5b85e774eceb52f211c114ebda399f05c54e99e8d6f0104930707f6271485591f06181bdacaba3370678c6f8913e +DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190c3b1f22bc63208d8d5f47 SHA512 d9d8d466c7b6aa6beb1c22da4fd10499fa784c39ab138bea7ecb8cdccf769766572ebe91c89db2d5c53e493096248f82a224be95c1fcac8b7beebe1b57f34883 WHIRLPOOL 3503250361350b59d095b743dcc627e9ec1e3ec469066287b80d97924d54ea254fed94f77596ed71b4c9974e4c9b97de8b6a35b3c6529f559d6ba392b695ccf4 +DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24 +DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212 +DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb +DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0 +DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6 +DIST asdf-3.3.0.tar.gz 498451 SHA256 685bc6252feb2120c6d66aa73a0a0e4217da7bb64b9a913fbd44371a8584179b SHA512 4e8b3434d9eb504af253fa39ac759cceb7ea0c3e2c364875d7259b32a9818b051fb2a3c94c188c7f38e43825e2a18107f1732211534a8b1fbbaa77b6c7f90486 WHIRLPOOL da640ea3f99a6a2bee89ebb004fdca700bffe9f719c45233be9e26952fab0ae2b7461ad1078913e224e2fc63e3e7c9970690510e8631dab7a23f77dd3df005d2 +DIST cl-asdf_1.89-1.diff.gz 395 SHA256 1ad2de4d9bb494f58e69f327d02cd86100967371c93727393b99b3b6fd20d567 SHA512 0d5ac51e69914b58497815971f1736712bd65988944fff5966f854c2dd22d1969d9237c996bfd44a6195d2765db9af07c3055c9bf126ba25059eccdbf8da20b4 WHIRLPOOL 20bc02a86d3645bedf1952ef70193f3b52250dcab5720e21940f0721e2c8be330f8452d4f77c82cc7bb105afb935c3b255e435b5d99ac40965c49621082c0f4b +DIST cl-asdf_1.89.orig.tar.gz 60134 SHA256 617853e512a0e6bdfa269811c3b9866af3878d40c7e4e8bab4ebf5374bd5a0ec SHA512 eb20877bb6acb6cab5874229290605aaef19d2501d8011473b66d0c9609d0b4d12f2951c39e4a3d2d07a3f0a7862c7e6beb6073514bb8b36189049bb96ba0e9a WHIRLPOOL 23636e9db0d351f88cec352a2c85489f41c5dc1085af75d2a3f4b460c462ff1115a0fb0408dcb21e2dc66d2ac773053c3586067aeaeca19615a2b22fcc3b384b +EBUILD asdf-1.89.ebuild 954 SHA256 db41eafed151d1910cfc0ad5aa2135399a1123c4b5aa08a93c5b46629a9ae218 SHA512 35cf4118af9e0fe878702bffe87e1cf49abde2e2dac0797a75f70e52c65dc5aafc3c5424acee282b5fedfdbaeede956cfdcd5bb6843fc6c3463350df897ca250 WHIRLPOOL 8d7c9f85fde49448a5527ac8ce34822da27f7aee6b5a4f57e061e9df8f19ca5784409b53a27ab93be31df9812e36976c378fb1ee85a653f022aa917a7566102d +EBUILD asdf-3.0.3.ebuild 1116 SHA256 1c75a5f2eaf6f384deaa856c8ad575854449a999b9efa52c450edb8ab594b9e2 SHA512 4eb651965855678df5d210bbce8022677de9cfb134ce3e616da11fa7edcb48dbb17987bca4f870e003e85f956cceab6820aa85c36d6692ec1015d13b46fa7201 WHIRLPOOL bf58c698f2be778dffa16b4ee6daef9b9fa938016f354879633b2678b9fe208cb8499a20f1d29dfd1704d3a96fcfc0e4f069646d2c18d2b72b91cdf062e81942 +EBUILD asdf-3.1.5.ebuild 1176 SHA256 6023152342a901ad7a82fffabbd9b90c6d6f2295d4b8c483ccaeed4d43abba21 SHA512 68360c67d66cceee65087e6450a4f18250d10024cac11b7652176f40a2774eebfb6910a06620d41062d9c1b3bd267eee468cfa25e036b61b239ddfcb5f8a9c4f WHIRLPOOL 9825a6122bd979f0554a197f47348e127a476e700a746b9fbce5d2846efe680a8c131198ec914f553747f1dba4063d98a9eba2a8bb97649d7a37c70620b414d5 +EBUILD asdf-3.1.6.ebuild 1180 SHA256 0c18e49f85ece4083bf61709cee42cbe53abd1e04bafde4d77fc31490621e17c SHA512 429009487f7b97cdd7dd9c9868bfb4a200aa0d7a3e21d5f40d574c6f6c03efb27e7da3033d5a9e1198bb3fb0484dfe91e9c01d5cf91bfc0b002319bd9d5bc0c0 WHIRLPOOL ecf8fcaa288702386cdc2d3a8cd347461fd96b2b10eb8e9c79c4059f7d739806665199c0f9bf86e9546b90dbf6ef7fb74b4e91abe8eeb5a5af67d5693f95ad22 +EBUILD asdf-3.1.7.ebuild 1176 SHA256 5ae07f0442fb9f894b2dc0c7fd3dfe0823c82535688bbc659172e0526b75d961 SHA512 ffa2180e39645c19559b2e1bd116a858e8b052ce2f162edd02f7a5f62db92f3ef1d222126569ac10294f9a29aa1711225d4f217e8529748895ba2f1aabf6de7e WHIRLPOOL bd7143c032c9766fe4b9176fdd38945fbf8d2e2a8ef39ee5d38cc54d2bf93cb47b00d5e5998fddac8c720a7f4ba54ce4a042dd41fa6b04a4cfde22a70c33ed93 +EBUILD asdf-3.2.0-r1.ebuild 1217 SHA256 6a330421ea7a4186943f46a1bdff008dd5ac563a94f3e038dc8ae2b4bcbba154 SHA512 324b8406d9955edda267ab00f34d6e97fd490d48184d8c8bc925b63f73737d207b85a7b29770eb02388bdb07a9ef8d77fb7633b8cccc48dea43bcf1b4067725b WHIRLPOOL ade6a3f2c7f86f3700f392de58fd46ca9a049185a9d53d0e19cd8ab8f6c37960485ed24c81dab4f1b5bdd995aaf44633cc0354237f7c03eb6e33c79dbfa06cc6 +EBUILD asdf-3.2.0.ebuild 1180 SHA256 dca374f2f464fb8128062d9a4a7cfd29ca20f805c5a63ba137660db9ee3233e9 SHA512 7b8ba0ddf907f715c34f296f88fe0332cbe69b051304b5a61647411c7c3ca9d0fb8267d18d8301472a4152e10d3e65281cd616f92746dbd888ed379cd0dc1cb8 WHIRLPOOL 2502ab62e7dce45b06f0cc378a464ea1d83b82c68451b940d7e7c4df8e47b53e481f50caafe4dace57784789344b3cf2debc6939299afba3649216f294227dcc +EBUILD asdf-3.2.1-r1.ebuild 1565 SHA256 6574c1e0c4d265433f4e5ab4252fa5a8f72e61ed57081bbf0818b578a0ffef58 SHA512 3832123b0ae4f5e99aa8603aa3165a61537ebd807ab9755dd7136d1adbe1fe593bfe2988f4e26814171909dd16923b77e1f445a42b5e2739e15cec0869076617 WHIRLPOOL cf1a07dd31d80e4e87d1efa0ff668adf030cfbf52ed8833550e82d2744a336e4547bbc682a742ff94a9a8ebf687a7492c8871c4b6b9b57361d22f1d51c197655 +EBUILD asdf-3.2.1.ebuild 1217 SHA256 6a330421ea7a4186943f46a1bdff008dd5ac563a94f3e038dc8ae2b4bcbba154 SHA512 324b8406d9955edda267ab00f34d6e97fd490d48184d8c8bc925b63f73737d207b85a7b29770eb02388bdb07a9ef8d77fb7633b8cccc48dea43bcf1b4067725b WHIRLPOOL ade6a3f2c7f86f3700f392de58fd46ca9a049185a9d53d0e19cd8ab8f6c37960485ed24c81dab4f1b5bdd995aaf44633cc0354237f7c03eb6e33c79dbfa06cc6 +EBUILD asdf-3.3.0.ebuild 1356 SHA256 f606e58088abdb478bef9ea4dacf7c9fad829eaafe2ef04e4fdd6cf9dd146523 SHA512 00e051520132161f72d3df0ace9d71871416363d81d393c7e78eb6119833a5c84422665fdb0554e336d5b30ee651bdce0d55d1f80b877af567cb992fa3587c89 WHIRLPOOL 1a72e5e8aa3f4aec8c756dae0d02631e5373a0837854b4bd4797b594a5d80eedeb0138ad75e9f8088dc09de3bf57c2abda935526eeb23b886fe6a9b7975af62f +MISC ChangeLog 3794 SHA256 8dd8375a341d0887e5e5f7c698b8f4483fd9da73927cdbb11a3093a04fac167d SHA512 ea5e83f11849e64b1390f0f33dbe9e5a2ee4266aa90cd94a188bb9cf9a4fc9044b483d4c0879e81bcbe2199027ceed46a2522e7b486484143cc9f6c8fe92a38e WHIRLPOOL ba5b6e9222b3b912c5f86c8ebd572fafdcb92ae82125d05d0c1c78c56620d4aab0824161eb4da711a232a71fc93bcdc17e44732d731471b9e090b59003074291 +MISC ChangeLog-2015 7148 SHA256 7e32561a57899ee6e5bb5f43d6db4d9a208a6aaabf018e233edfa8adb009d83e SHA512 0c0d65ecbd4b82f4c82fa52370cb2d6813eda9ef8ed2f9a956340da7e19e947eb181e5ac4297903b2c4fbfea099970a4c2b8a24446ab50b96ca6e0d626afed8d WHIRLPOOL 73084a5ac71679827d448b98497b6c78026aef4056a649724c2c9a08bfb8c1f6b1fe5608644d6bb76927d4c359db5da36c3c17a68c4ce7dcbe5bd2b04a40ef1f +MISC metadata.xml 261 SHA256 627a8fb846aff40f2f1e29e77040baa5b21fd7663158ab97b84012e0b5e2f742 SHA512 fb754c4ed3579db5dbe303197a05647b7cfab0a3fe47fd2140d5f77641be752d10ccf49a9c267406a0f3ba3dcda8831f778b9596d723f65aff10142bfad60d3d WHIRLPOOL 02fb9a9a64cd705025462ef7601b9b452954c62e41f57422a5a74e6e0c84695aca510635335b0cf35031dfbe75142c0feb06ce1ba4f2794c6230378d772c3ae3 diff --git a/dev-lisp/asdf/asdf-1.89.ebuild b/dev-lisp/asdf/asdf-1.89.ebuild new file mode 100644 index 000000000000..63159cfeec99 --- /dev/null +++ b/dev-lisp/asdf/asdf-1.89.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="3" +DEB_PV="1" +MY_PN="cl-${PN}" +MY_P="${MY_PN}-${PV}" + +inherit eutils + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://packages.debian.org/unstable/devel/cl-asdf" +SRC_URI="mirror://gentoo/${MY_PN}_${PV}.orig.tar.gz + mirror://gentoo/${MY_PN}_${PV}-${DEB_PV}.diff.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" +IUSE="examples" + +DEPEND="" +RDEPEND="${DEPEND}" + +EPATCH_SOURCE="${WORKDIR}" +S="${WORKDIR}"/${MY_P}.orig + +src_prepare() { + epatch ${MY_PN}_${PV}-${DEB_PV}.diff || die +} + +src_install() { + insinto /usr/share/common-lisp/source/asdf + doins asdf.lisp wild-modules.lisp asdf-install.lisp + dodoc README + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins test/* + fi +} diff --git a/dev-lisp/asdf/asdf-3.0.3.ebuild b/dev-lisp/asdf/asdf-3.0.3.ebuild new file mode 100644 index 000000000000..09f459a15ec2 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.0.3.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86" +IUSE="doc test" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi ) + test? ( dev-lisp/sbcl )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +S="${WORKDIR}" + +src_compile() { + make + use doc && make doc +} + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r build version.lisp-expr + dodoc README TODO + dohtml doc/*.{html,css,ico,png} + if use doc; then + insinto /usr/share/doc/${PF} + doins doc/${PN}.pdf + fi + + insinto /etc/common-lisp + cd "${T}" + cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf . + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.1.5.ebuild b/dev-lisp/asdf/asdf-3.1.5.ebuild new file mode 100644 index 000000000000..089db5106c57 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.1.5.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +#S="${WORKDIR}" + +src_compile() { + make + use doc && make doc +} + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r build version.lisp-expr + dodoc README.md TODO + dohtml doc/*.{html,css,ico,png} + if use doc; then + dohtml -r doc/index.html + insinto /usr/share/doc/${PF} + #doins doc/${PN}.pdf + fi + + insinto /etc/common-lisp + cd "${T}" + cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf . + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.1.6.ebuild b/dev-lisp/asdf/asdf-3.1.6.ebuild new file mode 100644 index 000000000000..26c3321cf7d7 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.1.6.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +#S="${WORKDIR}" + +src_compile() { + make + use doc && make doc +} + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r build version.lisp-expr + dodoc README.md TODO + dohtml doc/*.{html,css,ico,png} + if use doc; then + dohtml -r doc/index.html + insinto /usr/share/doc/${PF} + #doins doc/${PN}.pdf + fi + + insinto /etc/common-lisp + cd "${T}" + cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf . + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.1.7.ebuild b/dev-lisp/asdf/asdf-3.1.7.ebuild new file mode 100644 index 000000000000..315ee1a70f0a --- /dev/null +++ b/dev-lisp/asdf/asdf-3.1.7.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tgz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +S="${WORKDIR}" + +src_compile() { + make + use doc && make doc +} + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r build version.lisp-expr + dodoc README.md TODO + dohtml doc/*.{html,css,ico,png} + if use doc; then + dohtml -r doc/index.html + insinto /usr/share/doc/${PF} + #doins doc/${PN}.pdf + fi + + insinto /etc/common-lisp + cd "${T}" + cp "${FILESDIR}"/gentoo-init.lisp "${FILESDIR}"/source-registry.conf . + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.2.0-r1.ebuild b/dev-lisp/asdf/asdf-3.2.0-r1.ebuild new file mode 100644 index 000000000000..dd43202a8395 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.2.0-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +install_docs() { + # Not installing info file at the moment, see bug #605752 + (cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf) +} + +src_compile() { + make + use doc && make -C doc +} + +src_install() { + insinto "/usr/share/common-lisp/source/${PN}" + doins -r build version.lisp-expr + dodoc README.md TODO + use doc && install_docs + insinto /etc/common-lisp + cd "${T}" || die + cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.2.0.ebuild b/dev-lisp/asdf/asdf-3.2.0.ebuild new file mode 100644 index 000000000000..4de3958b980a --- /dev/null +++ b/dev-lisp/asdf/asdf-3.2.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +install_docs() { + (cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf ; doinfo "${PN}.info") +} + +src_compile() { + make + use doc && make -C doc +} + +src_install() { + insinto "/usr/share/common-lisp/source/${PN}" + doins -r build version.lisp-expr + dodoc README.md TODO + use doc && install_docs + insinto /etc/common-lisp + cd "${T}" || die + cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.2.1-r1.ebuild b/dev-lisp/asdf/asdf-3.2.1-r1.ebuild new file mode 100644 index 000000000000..248ed0f7689e --- /dev/null +++ b/dev-lisp/asdf/asdf-3.2.1-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils prefix common-lisp-3 + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +COMMONLISPS="sbcl clisp clozurecl cmucl ecls" + +find-lisp-impl() { + for lisp in ${COMMONLISPS} ; do + [[ "$(best_version dev-lisp/${lisp})" ]] && echo "${lisp}" && return + done + die "No CommonLisp implementation found" +} + +install_docs() { + (cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf ) + if has_version ">=dev-lisp/sbcl-1.4.0" ; then + (cd doc ; doinfo "${PN}.info" ) + fi +} + +src_compile() { + emake + use doc && emake -C doc +} + +src_test() { + common-lisp-export-impl-args "$(find-lisp-impl)" + test/run-tests.sh ${CL_BINARY} +} + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r build version.lisp-expr + dodoc README.md TODO + use doc && install_docs + insinto /etc/common-lisp + cd "${T}" || die + cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.2.1.ebuild b/dev-lisp/asdf/asdf-3.2.1.ebuild new file mode 100644 index 000000000000..dd43202a8395 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.2.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils prefix + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +install_docs() { + # Not installing info file at the moment, see bug #605752 + (cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf) +} + +src_compile() { + make + use doc && make -C doc +} + +src_install() { + insinto "/usr/share/common-lisp/source/${PN}" + doins -r build version.lisp-expr + dodoc README.md TODO + use doc && install_docs + insinto /etc/common-lisp + cd "${T}" || die + cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/asdf-3.3.0.ebuild b/dev-lisp/asdf/asdf-3.3.0.ebuild new file mode 100644 index 000000000000..c0f4d13930f9 --- /dev/null +++ b/dev-lisp/asdf/asdf-3.3.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils prefix common-lisp-3 + +DESCRIPTION="ASDF is Another System Definition Facility for Common Lisp" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/${PN}/archives/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="doc" + +SLOT="0/${PVR}" + +DEPEND="!dev-lisp/cl-${PN} + !dev-lisp/asdf-binary-locations + !dev-lisp/gentoo-init + !<dev-lisp/asdf-2.33-r3 + doc? ( virtual/texi2dvi )" +RDEPEND="" +PDEPEND="~dev-lisp/uiop-${PV}" + +install_docs() { + (cd doc ; dodoc *.{html,css,ico,png} "${PN}.pdf" ; dodoc -r asdf ) + if has_version ">=dev-lisp/sbcl-1.4.0" ; then + (cd doc ; doinfo "${PN}.info" ) + fi +} + +src_compile() { + emake + use doc && emake -C doc +} + +src_test() { + common-lisp-export-impl-args "$(common-lisp-find-lisp-impl)" + test/run-tests.sh ${CL_BINARY} +} + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r build version.lisp-expr + dodoc README.md TODO + use doc && install_docs + insinto /etc/common-lisp + cd "${T}" || die + cp "${FILESDIR}/gentoo-init.lisp" "${FILESDIR}/source-registry.conf" . || die + eprefixify gentoo-init.lisp source-registry.conf + doins gentoo-init.lisp source-registry.conf +} diff --git a/dev-lisp/asdf/files/gentoo-init.lisp b/dev-lisp/asdf/files/gentoo-init.lisp new file mode 100644 index 000000000000..1a855466a23a --- /dev/null +++ b/dev-lisp/asdf/files/gentoo-init.lisp @@ -0,0 +1,12 @@ +(in-package #:cl-user) + +#-(or cmu ccl ecl sbcl) +(let ((*compile-print* nil) + (*compile-verbose* nil) + #+cmu (ext:*gc-verbose* nil)) + (handler-bind ((warning #'muffle-warning)) + (load #p"@GENTOO_PORTAGE_EPREFIX@/usr/share/common-lisp/source/asdf/build/asdf.lisp" + :print nil :verbose nil))) + +#+(or cmu ccl ecl sbcl) +(require :asdf) diff --git a/dev-lisp/asdf/files/source-registry.conf b/dev-lisp/asdf/files/source-registry.conf new file mode 100644 index 000000000000..d8cfd7146df9 --- /dev/null +++ b/dev-lisp/asdf/files/source-registry.conf @@ -0,0 +1,5 @@ +;; -*- Mode: Lisp; -*- + +(:source-registry + (:directory "@GENTOO_PORTAGE_EPREFIX@/usr/share/common-lisp/systems") + :inherit-configuration) diff --git a/dev-lisp/asdf/metadata.xml b/dev-lisp/asdf/metadata.xml new file mode 100644 index 000000000000..7ea645c67e72 --- /dev/null +++ b/dev-lisp/asdf/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +</pkgmetadata> diff --git a/dev-lisp/cl-ppcre-unicode/Manifest b/dev-lisp/cl-ppcre-unicode/Manifest new file mode 100644 index 000000000000..2d2312fd52ff --- /dev/null +++ b/dev-lisp/cl-ppcre-unicode/Manifest @@ -0,0 +1,4 @@ +DIST cl-ppcre-2.0.11.tar.gz 158418 SHA256 ed8571915216788dc4f6cdb44e49b0e0782e203ed547fe2e58cd5b0e5c57edc4 SHA512 c693c568065c0571e5509599018e58951425a857cec3793312af0d22e248e32233f924eafc8ba67fbedad38cb3f4efa11343b785b073eaac53c31871422488b1 WHIRLPOOL 85e0bda97b1bea3da32fbe9a56dd45eb6926fccb7546ee41528a4c6b7b079a94f0d30c59d98cd0288ea26efe6b004b6856cabaaeb3cb93e441cdebc5d588bdf7 +EBUILD cl-ppcre-unicode-2.0.11.ebuild 639 SHA256 f2d148212b2c73e37757d0f108529460707b5917673c00c2d2bc24005ae105df SHA512 2cd35a3f05ca5e96febb6886abce59229c65abf7b662b32deb8ed47f560606b6e6030a94bb9d19a2ebd43b6bbca1a989b78861dbaa2b82240c9f3162809bbe80 WHIRLPOOL 08d1c6d4ce26ff6d3c896689ef5640c6b3e7b14aa98c825823a9f044a0d1aa0650e9eb6a6acb84324c2d442eee1ccae39df917059b1ceb9a700753fb6d9e29be +MISC ChangeLog 1275 SHA256 e6d1c9f7ac0fac5248b7b3316970fd1a3fb3f1b47c118df8cb8dbe9e95c2c3e8 SHA512 59c9e26dbc2d9bf0aa218f786ef0d44e91e40cfd921d091934f8e3543664d790f21bc7f5dc6b60158736d7bc8860b6ee38ef461b164e49779c26c2f444a4159f WHIRLPOOL a6b51637a560379bb1ae5d49e7b33fbd132f3c232da46200cab5f69e2198e90eceb50055b0c450e1025e541d2d721a8d0b363cadbac78e4097421eb0b0114013 +MISC metadata.xml 647 SHA256 ac67172a518ab40207ee6eaab0f5dd493972aac7ed18e90df3cccb56d677a680 SHA512 297e93b9bb8205c5729834dcb3f5686001f0f1aeedc1df83701c1350a853104463b37dc902013cd6cbaeddc1b83b1102f29ae55ab7b8f0ad98b6fccecef2ef28 WHIRLPOOL 07501e60ed59d149ef5eecf5d6826feb410ef11cde623b349b40ccbc5a51fe0fbfd057c092234f42d6019f3e5b6592987bdce4f152047e56d9b2babdd9850341 diff --git a/dev-lisp/cl-ppcre-unicode/cl-ppcre-unicode-2.0.11.ebuild b/dev-lisp/cl-ppcre-unicode/cl-ppcre-unicode-2.0.11.ebuild new file mode 100644 index 000000000000..34ef1cfdf678 --- /dev/null +++ b/dev-lisp/cl-ppcre-unicode/cl-ppcre-unicode-2.0.11.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="CL-PPCRE is a portable regular expression library for Common Lisp." +HOMEPAGE="http://weitz.de/cl-ppcre/ + http://www.cliki.net/cl-ppcre" +SRC_URI="https://github.com/edicl/cl-ppcre/archive/v${PV}.tar.gz -> cl-ppcre-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +RDEPEND="=dev-lisp/cl-ppcre-${PV} + dev-lisp/cl-unicode" + +S="${WORKDIR}/cl-ppcre-${PV}" + +src_install() { + common-lisp-install-sources ${PN}/ test/unicode* + common-lisp-install-asdf ${PN} +} diff --git a/dev-lisp/cl-ppcre-unicode/metadata.xml b/dev-lisp/cl-ppcre-unicode/metadata.xml new file mode 100644 index 000000000000..f7036b0f160e --- /dev/null +++ b/dev-lisp/cl-ppcre-unicode/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> + CL-PPCRE is a portable regular expression library for Common Lisp + which has the following features: + + * compatible with Perl + * fast (outperforms Perl) + * portable (ANSI Common Lisp) + * thread-safe + * includes convenience features + * well-documented. + </longdescription> + <upstream> + <remote-id type="github">edicl/cl-ppcre</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/cl-ppcre/Manifest b/dev-lisp/cl-ppcre/Manifest new file mode 100644 index 000000000000..3a396216ed35 --- /dev/null +++ b/dev-lisp/cl-ppcre/Manifest @@ -0,0 +1,5 @@ +DIST cl-ppcre-2.0.11.tar.gz 158418 SHA256 ed8571915216788dc4f6cdb44e49b0e0782e203ed547fe2e58cd5b0e5c57edc4 SHA512 c693c568065c0571e5509599018e58951425a857cec3793312af0d22e248e32233f924eafc8ba67fbedad38cb3f4efa11343b785b073eaac53c31871422488b1 WHIRLPOOL 85e0bda97b1bea3da32fbe9a56dd45eb6926fccb7546ee41528a4c6b7b079a94f0d30c59d98cd0288ea26efe6b004b6856cabaaeb3cb93e441cdebc5d588bdf7 +EBUILD cl-ppcre-2.0.11.ebuild 714 SHA256 33d48d989f4ed5103ba1f3c0711df2ce194704755baf8d65d61fbea5bc312126 SHA512 989a3f6dbf2468d8bf3dfb8e70a6189acd7fc63cee69bea26a81519d777a96b03d7722a2d9651f7cf82d1933dba1a5a912d0782bb520300dbc78e875caf551cc WHIRLPOOL e70e386d42066b4806579b866bf4fe8826c75d754056149f14a818b5073df03e304b7e21cc9562a1d98bd9549d2ab8ceb327f0f186fde581de772e85466f3b2e +MISC ChangeLog 3495 SHA256 204cc93ab70e1afe745d8f8f313fa2e3120127b3e2b7e468c6883e7d2afd339c SHA512 71ae6e3fd7b706c66a8e8ef5c22a744e925c48b71d4dd3274b1c05ceb99da04f44bb93c71f05b23d1eaf9bc6e98234019da5c994cae9e62c5abca1f07745fd5b WHIRLPOOL 8212f9314fe77d80ac95ead5016025c43835afca742f9f6ce3a64e12f24a7224065b24fbc081e722dafafb176147a11068a268ed553c36e97fda24e6c3d65f4b +MISC ChangeLog-2015 7124 SHA256 2da45388c7c646e7d55d728ac722032cd0ea28eff243230e440d16dbc063a0b6 SHA512 9f8073cfa2143bf6b795cc87d55e6bb47704483e1b636a7c6d9e5c154245001bd48b5764f9affff13f26998fb1f464cc448ada1faf6defbf2819ad2e172f6a62 WHIRLPOOL 2fc97f56a0a1319ad17f7207b5205f39c901c28f3f7bce137ef06b9bad9c368107422154b2e7d7bb9095dbf0c205b2e5c09b87dcfbc3231d54101ac665e647b7 +MISC metadata.xml 1092 SHA256 8aa394172868692025ca5b46efabe599f6c965d05fc1d897616e33392ac8b1c7 SHA512 c6c79bed5c6b888bfa98619b152ab3f3f59eae561ea3d94afd00b907c36bae3bcfe814cc299445e787517dafcbceb64a05b6586f07a7681f6dae4680e5329e2d WHIRLPOOL e8ec4e81e34b1724144a0d7d3de65db626f3136ae2de559c27f6921e60041b0336bd141decf595a38e79e0354df490de653f209eb8af3949a04be217d733591d diff --git a/dev-lisp/cl-ppcre/cl-ppcre-2.0.11.ebuild b/dev-lisp/cl-ppcre/cl-ppcre-2.0.11.ebuild new file mode 100644 index 000000000000..df216d535ff0 --- /dev/null +++ b/dev-lisp/cl-ppcre/cl-ppcre-2.0.11.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="CL-PPCRE is a portable regular expression library for Common Lisp." +HOMEPAGE="http://weitz.de/cl-ppcre/ + http://www.cliki.net/cl-ppcre" +SRC_URI="https://github.com/edicl/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +RDEPEND="dev-lisp/flexi-streams" +PDEPEND="dev-lisp/cl-ppcre-unicode" + +src_unpack() { + unpack ${A} && cd "${S}" + rm -rf cl-ppcre-unicode test/unicode* +} + +src_install() { + common-lisp-install-sources *.lisp test/ + common-lisp-install-asdf ${PN} + dodoc CHANGELOG doc/index.html +} diff --git a/dev-lisp/cl-ppcre/metadata.xml b/dev-lisp/cl-ppcre/metadata.xml new file mode 100644 index 000000000000..80cabfa13150 --- /dev/null +++ b/dev-lisp/cl-ppcre/metadata.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription lang="en"> + CL-PPCRE is a portable regular expression library for Common Lisp + which has the following features: + + * compatible with Perl + * fast (outperforms Perl) + * portable (ANSI Common Lisp) + * thread-safe + * includes convenience features + * well-documented + </longdescription> + <longdescription lang="es"> + CL-PPCRE es una biblioteca de expressiones regulares portable + para Common Lisp que tiene las siguientes características: + + * Compatible con Perl + * Rápida (más rápida que la versión para Perl) + * Portable (ANSI Common Lisp) + * Segura en la ejecución de hilos (thread-safe) + * Incluye características para hacerla cómoda + * Bien documentada + </longdescription> + <upstream> + <remote-id type="github">edicl/cl-ppcre</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/cl-unicode/Manifest b/dev-lisp/cl-unicode/Manifest new file mode 100644 index 000000000000..847dd260a863 --- /dev/null +++ b/dev-lisp/cl-unicode/Manifest @@ -0,0 +1,4 @@ +DIST cl-unicode-0.1.5.tar.gz 485666 SHA256 9e9f1dda5133c3c94e09f638fec01410254c0020b89cc7342416d8ed1d377ee3 SHA512 0b66c0e711f7e37423aa638b43017adff648189a32032702b082dff140b2255847a15572a20f21e6f82a2e8cbd547f7f99bf9176e4fa464aa1d938575d8a2390 WHIRLPOOL e0b973416ff76f4e66b203ea5545c782a4bf59dccbbc7f1d26c6a78870efa31a4fe0b2e7eae17be25f49efc06272201ce9472fbb9e22d5332de8014aea1bc14c +EBUILD cl-unicode-0.1.5.ebuild 1068 SHA256 620042dc20eafc655eafea3c4dd193a042d58d8c209637e4851d50b23d646203 SHA512 0b314acfac0367f59ec5690e71052a78a400f7e1631845a82152eff78328322b5f065ad227a3c74174385fe1ef4387361a9048dcc0e65bd6bb736daf48bc0a7a WHIRLPOOL 4ac9fae1a80c04b2317b6a333be9aac246ee3d42a9e43b354207b9d8115ce5932451cb52900919929562febbd0be7909ceb9656b26d656bd4bc242012ec6abd9 +MISC ChangeLog 1587 SHA256 bfdaf7c7e841b2a1667088e1ee5b5230d04c2527b38c8333743b8f93458ba592 SHA512 e9ab642c8b104e8994f92231a9c764dc33548ec5fb03cbaeee6468b7f229d6c2eb8b5224aa4dd5eced8903d07311a7e8153c1e26680b1c26bb7430615a0e1707 WHIRLPOOL 704b5d220ac91eb77f9357fb30650ac97fcd3d6f6483e7b86783c189e5a0b3f6a4a054e76882c2735f09d10dd695565dd55525ac0722c014e7aa2e4105fbbc25 +MISC metadata.xml 1362 SHA256 8ae81c164ceb64ca0b8c367ae0e0717d572c491543541b41c3646994aacfc83a SHA512 cde1545cbd82dbe5758fca85783022153f2f19a187128082c0f58f10740af62eae8be0abf800bb9c58a1037868fb6eaeab7ba7e3f52aae5eafd0f8a1a226a0bb WHIRLPOOL d9dd90b0c8cdb3af5591821bb21ff939eaaf5e929e2dc9953b80097ae15aef93b8d0c94b3b5322111163f4a4aeaa70aed1f6ee5b3d77d1f7302adce8cf63efff diff --git a/dev-lisp/cl-unicode/cl-unicode-0.1.5.ebuild b/dev-lisp/cl-unicode/cl-unicode-0.1.5.ebuild new file mode 100644 index 000000000000..bff440548364 --- /dev/null +++ b/dev-lisp/cl-unicode/cl-unicode-0.1.5.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 xdg-utils + +MY_P="v${PV}" + +DESCRIPTION="Provides Common Lisp implementations with knowledge about Unicode characters." +HOMEPAGE="http://weitz.de/cl-unicode/" +SRC_URI="https://github.com/edicl/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +DEPEND="virtual/commonlisp + dev-lisp/flexi-streams" +RDEPEND="dev-lisp/cl-ppcre" + +src_configure() { + xdg_environment_reset +} + +src_compile() { + # cl-unicode builds parts of its source code automatically the first time it + # is compiled, so we compile it here. + local initclunicode="(progn (push \"${S}/\" asdf:*central-registry*) (require :${PN}))" + + common-lisp-export-impl-args "$(common-lisp-find-lisp-impl)" + ${CL_BINARY} ${CL_EVAL} "${initclunicode}" +} + +src_install() { + common-lisp-install-sources *.lisp test/ + common-lisp-install-sources -t all build/ + common-lisp-install-asdf + dodoc CHANGELOG + dodoc doc/index.html +} diff --git a/dev-lisp/cl-unicode/metadata.xml b/dev-lisp/cl-unicode/metadata.xml new file mode 100644 index 000000000000..739846335fdf --- /dev/null +++ b/dev-lisp/cl-unicode/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription lang="en"> + CL-UNICODE is a library which provides Common Lisp implementations + with knowledge about Unicode characters including their name, their + general category, the scripts and blocks they belong to, their + numerical value, and several other properties. It also provides the + ability to replace the standard syntax for reading Lisp characters + with one that is Unicode-aware and is used to enhance CL-PPCRE with + Unicode properties. + </longdescription> + <longdescription lang="es"> + CL-UNICODE es una biblioteca que ofrece implmentaciones de Common + Lisp que reconoce caracteres Unicode incluyendo su nombre, categoría + general, los guiones y bloques a los que pertenecen, su valor + numérico y algunas otras propiedades. También ofrece la capacidad + de reemplazar la sintaxis estándar para la lectura de caracteres + Lisp por otra que reconoce Unicode y se utiliza para mejorar + CL-PPCRE con propiedades Unicode. + </longdescription> + <upstream> + <remote-id type="github">edicl/cl-unicode</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/clisp/Manifest b/dev-lisp/clisp/Manifest new file mode 100644 index 000000000000..dcac5fbd8436 --- /dev/null +++ b/dev-lisp/clisp/Manifest @@ -0,0 +1,14 @@ +AUX clisp-2.48-bits_ipctypes_to_sys_ipc.patch 784 SHA256 ab6a22717b5139a24d3c4f810d18222d7fd314efb26aecc69fee2f70bbcc7cbe SHA512 7b48abf1a7c8a0bff7946f310c4a1f8ca5add5a6aef5b69379cb52b17b5ad279fa264a50b1017453a902dc3e7e1e4db09730cef1cb1abc20bf0694d674da33b0 WHIRLPOOL 63342c08d1e48762e53896798ecda18cad507765132570dff7ffb62e4b081e5185895c22f5d84a175e21a9e5685f6280a5607409783f69aeaa8ceee71932e776 +AUX clisp-2.49-bits_ipctypes_to_sys_ipc.patch 784 SHA256 3d52a7ebc7d2ca34654f6be33b2958e609f2a3a8fc0f9681fe4c2739d2358e08 SHA512 163d9e29135268272ae3316709c60a25408158dda6649b79bedd07bd0f2e216d8eef113418230e983ad1115ecd1870f9e6c52ce94f02c09eff484f709ed3cd3f WHIRLPOOL 0946405d3df92760c1011680a6acea7784c7f08c3959091d06fe531651b8b158c803569112bf0583bbb46f7fa3d54154befb875a0c03133729b830cdc5f52e2f +AUX clisp-2.49-get_hostname.patch 2356 SHA256 1e45bd6aa7e520e12ca9d08c038f23de20cd249da8bfb1ddd0d307897bec7fa0 SHA512 5e9dfc70f017fef08c24ede15c2312a2a54a5c8433a5a952ad4e41113ee0ce01febc631818c4cb506883d9992ef4468c429752e4924b8d1ce00f21b33a209a9b WHIRLPOOL 57b03de1e5ef6828138808561a9118f0af1475b754eaa8c037a22cb2105c16b4c8582d23d7b5f74e63e7e6c766a7e7c76ea4e293138e7513c120e74653d7e179 +AUX clisp-2.49-readline-7.patch 690 SHA256 1ce78bde0384bed2aa36b82718763aefdf1ead1362d0edba98834492ee6b8cdb SHA512 c5c1dd093d19d2d62db29808d418d8fce6233ad226a6b7414223e0cf8e9777231cdd69f4625ac1535a9bbc831b5a3e4fd4baad91a880f3992cd6d98220f887c4 WHIRLPOOL 16e6b88a04d64e4a7fd26dcd9f0739732ecf68510f410b9c845b74da32a1282550448426c6f33ac66dd971515acf19f809a3efd3e781f6e38509ce1df5853453 +AUX clisp-2.49-tinfo.patch 404 SHA256 e39aa722caecffda474d936b508ace270306f1dca6e847583ce8c301b7d5600d SHA512 10f27e205557cb48fe0165bd5ee7e3a33b0dbe403fa2d10df62854c44eb762a44ef005c78e8c23a67f7ed6d3c6317c893c7760f9c2ca72b6b088adae5f03247c WHIRLPOOL 0e580e59877bb97f247cc7ce15a85c0b89d7daa8f43a7bb8ff7774cb6c3e459f278641b09b6680376c73b58dcc6534661e38ea34209cd50fbf1295d75aa9f186 +DIST clisp-2.48.tar.bz2 7885098 SHA256 05b83f560859a23679ccfc073a128a5377fe9489d734431a3dc32ef88f0c3dc2 SHA512 3288b6a2973c924006b14bbed1e8e3e688276a187ac2a6c7851dc7ae699e7832d30e5e7eecdabc76c08c7e8e8ce1b562eb97a44570d3035e558ea2310de2b719 WHIRLPOOL 6be21d4e3e88a1abf4536e1dfc01f99b714b0543494e214647c6d292a5ce355119a415ecfeae32823670bd8ddb918621531b2c8b43edcbbb33313312acfa28ab +DIST clisp-2.49.tar.bz2 8091011 SHA256 8132ff353afaa70e6b19367a25ae3d5a43627279c25647c220641fed00f8e890 SHA512 eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81 WHIRLPOOL fe14d3cd09ad5768c72470b71068331623239a9d5c7247267be25bc4fc97d91ca6c53dd0a495b3d2a8c45faeaa01060aa135a19fea5f76d2968ffc505f5b6416 +EBUILD clisp-2.48-r1.ebuild 4797 SHA256 30900bce239fdbe966353ff355f55404c88daeaf617d2b538c803f3b19e85e1e SHA512 130ffc47b63c934aa8556ea3e5d5eb8a81300d98bbbff503bdb84a1c7ad1dcbf97b092124bd841bd9b2009df5588aa78c2bda7cea34a461526199957cf44862d WHIRLPOOL e45d1a07ec78c5151ea5fe4a173ce63944dc49134a5fe6fdd7084aa2fd5cc1efdaa1d8e093a315bb2714084d7fdfe58215fab8d77a9c3e8ec201b763d42d36f0 +EBUILD clisp-2.48-r2.ebuild 4726 SHA256 9ec46a4abd0bff90d85348f6593d6fe99817215f7246b6c1011d1639cfddf179 SHA512 afce7666a82e947f48e2eeed5ceba5f4cbe981e8f37d6e35beab4dc973a6077b8eecfebb2d1336f2476b6cfc252f5aaef552354d8dfc153920ac2d3291f76de3 WHIRLPOOL 7e3d38247b1c2d7cb18f4eda5f5a853540e03d8f5a04273b63d4fecc5d8089fb67d50c8ca48243f2ddc7e3d0d9edbe31d823bc20588129effd5b842663634aba +EBUILD clisp-2.49-r100.ebuild 4495 SHA256 34088fb45660f30dccb1960fdfb577566c8970480cb591a37a96c237a2638d5c SHA512 c022a0b1c704d9d252fdbc741ef6fe6a44ae26b1047c7e8d334aeb171f4bfa836b043432294d508725d429a43bfbca3c413be35b6a38fd02ab8be79506c43dd0 WHIRLPOOL 2320eaa519d90878e2eb23f27d9409778cb08bdee5c528fe917a4ac7e51aad1e2e838cf23282091eab3496d5a008586f42aa0bf9305d3c2420d6ff78dacb48c8 +EBUILD clisp-2.49-r8.ebuild 4394 SHA256 f211b05b2bc503e85fa63f36837b1f377baa44102925ef40b08e9a8372a05b19 SHA512 7548cca817b47bfb9b09812c9564e86f2b5092d1263919d563172555d1371c86bdd0aa7f2f4b3315237a154b911f8c025f62917f434973a608f86728873e97f5 WHIRLPOOL ed75d54fa125ec188a6e7384fd83f70be3e546de62c342609d34e2d37ab0775731c0824ad9bfce0e290c1ec36ef3b7af64dde9dbbdf9ed3722aa87a634af0af5 +MISC ChangeLog 3546 SHA256 a4173a4dbce808c75b45c4c8bc5174500f264612abaa2af2bb1f1e511d4b8bf1 SHA512 200c94a4f5849a27b742feb527b1ab36d26d073f657f56d72251b2f554699ce9bca5d700c056a7f1eecfe98cc144fccfda38637f98c8ae07697989e79a64d5d4 WHIRLPOOL e49c5859b17305001fb5be8bfc315130e910dd0b2c654285de708ed2f8def534b29767ad124b96a63d2c94956d527a1be103c87015ede2820c61d5fe760e9689 +MISC ChangeLog-2015 26951 SHA256 9fee24e373f2de40091b6d14d75fb41151f9ccbfb3d30065e65eaa0b865785a0 SHA512 2b915208866c9e4b96c08dfa8aaab597c0fa71f047a6ee211556d457c25c295ae1655e84613ec059d546c3a5d4ef7ac67b29ea9ac9a9bb344ab301630fd52e0e WHIRLPOOL 7ce9f07c527d2f1d2aa8ec029eced4670582d94e76dd451b4d2da9216f3511b3c39f1f90f41d73dfc5601b967bc901038b47f9e71d7b536e1679b53f77fbbd4e +MISC metadata.xml 1450 SHA256 fb1beffc987511752c3c92551952b01d80bda8c5290046f8f73b55013278b011 SHA512 08cd4868b9d6f2600b13add32c2fffda8d59be7190779ef4d3bfc64ab10f13c2644b925cef0ca8f3aa06cd5c8473ef399dfaa3c3ac2cae88d627a6ad83e54128 WHIRLPOOL 7898b56232188707a5ce46434eb69351022c7175fc9b678cf932d8766dd1b68d3680d07f33baf37d24e8d060f8d28797837ca728dd1998b526a04e787229d5b3 diff --git a/dev-lisp/clisp/clisp-2.48-r1.ebuild b/dev-lisp/clisp/clisp-2.48-r1.ebuild new file mode 100644 index 000000000000..a91495a40b8e --- /dev/null +++ b/dev-lisp/clisp/clisp-2.48-r1.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit flag-o-matic eutils toolchain-funcs multilib + +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp" +HOMEPAGE="http://clisp.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="alpha amd64 ia64 ppc -sparc x86" +IUSE="berkdb hyperspec X new-clx dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib" + +RDEPEND="virtual/libiconv + >=dev-libs/libsigsegv-2.4 + >=dev-libs/ffcall-1.10 + dbus? ( sys-apps/dbus ) + fastcgi? ( dev-libs/fcgi ) + gdbm? ( sys-libs/gdbm ) + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6:2.0 ) + pari? ( >=sci-mathematics/pari-2.3.0 ) + postgres? ( >=dev-db/postgresql-8.0 ) + readline? ( >=sys-libs/readline-5.0 ) + pcre? ( dev-libs/libpcre ) + svm? ( sci-libs/libsvm ) + zlib? ( sys-libs/zlib ) + X? ( new-clx? ( x11-libs/libXpm ) ) + hyperspec? ( dev-lisp/hyperspec ) + berkdb? ( sys-libs/db:4.5 )" + +DEPEND="${RDEPEND} + X? ( new-clx? ( x11-misc/imake x11-proto/xextproto ) )" + +PDEPEND="dev-lisp/gentoo-init" + +enable_modules() { + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument" + for m in "$@" ; do + einfo "enabling module $m" + myconf+=" --with-module=${m}" + done +} + +BUILDDIR="builddir" + +# modules not enabled: +# * berkdb: must figure out a way to make the configure script pick up the +# currect version of the library and headers +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs +# * matlab, netica: not in portage +# * oracle: can't install oracle-instantclient + +src_prepare() { + # More than -O1 breaks alpha/ia64 + if use alpha || use ia64; then + sed -i -e 's/-O2//g' src/makemake.in || die + fi +} + +src_configure() { + # We need this to build on alpha/ia64 + if use alpha || use ia64; then + replace-flags -O? -O1 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP' + fi + + # QA issue with lisp.run + append-flags -Wa,--noexecstack + + # built-in features + local myconf="--with-ffcall --without-dynamic-modules" +# There's a problem with jit_allocai function +# if use jit; then +# myconf+=" --with-jitc=lightning" +# fi + if use threads; then + myconf+=" --with-threads=POSIX_THREADS" + fi + + # default modules + enable_modules wildcard rawsock + # optional modules + use elibc_glibc && enable_modules bindings/glibc + if use X; then + if use new-clx; then + enable_modules clx/new-clx + else + enable_modules clx/mit-clx + fi + fi + if use postgres; then + enable_modules postgresql + append-flags -I$(pg_config --includedir) + fi + if use berkdb; then + enable_modules berkeley-db + append-flags -I/usr/include/db4.5 + fi + use dbus && enable_modules dbus + use fastcgi && enable_modules fastcgi + use gdbm && enable_modules gdbm + use gtk && enable_modules gtk2 + use pari && enable_modules pari + use pcre && enable_modules pcre + use svm && enable_modules libsvm + use zlib && enable_modules zlib + + if use hyperspec; then + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/" + else + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/" + fi + + # configure chokes on --sysconfdir option + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \ + $(use_with readline) $(use_with unicode) \ + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}" + einfo "${configure}" + ${configure} || die "./configure failed" + + sed -i 's,"vi","nano",g' "${BUILDDIR}"/config.lisp || die + + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html" + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \ + "${BUILDDIR}"/config.lisp || die +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + cd "${BUILDDIR}" + # parallel build fails + emake -j1 || die "emake failed" +} + +src_install() { + pushd "${BUILDDIR}" + make DESTDIR="${D}" prefix=/usr install-bin || die + doman clisp.1 || die + dodoc SUMMARY README* NEWS MAGIC.add ANNOUNCE || die + fperms a+x /usr/$(get_libdir)/clisp-${PV/_*/}/clisp-link || die + # stripping them removes common symbols (defined but uninitialised variables) + # which are then needed to build modules... + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*" + popd + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png || die + dodoc doc/{CLOS-guide,LISP-tutorial}.txt || die +} + +pkg_postinst() { + if use threads || use jit; then + while read line; do elog ${line}; done <<EOF + +Upstream considers threads to be of Alpha quality, therefore +it is likely that you will encounter bugs in using them. If you do, +please report bugs upstream: + +Mailing list: https://lists.sourceforge.net/lists/listinfo/clisp-devel +Bug tracker: https://sourceforge.net/tracker/?atid=101355&group_id=1355 + +EOF + fi +} diff --git a/dev-lisp/clisp/clisp-2.48-r2.ebuild b/dev-lisp/clisp/clisp-2.48-r2.ebuild new file mode 100644 index 000000000000..95be00d3779b --- /dev/null +++ b/dev-lisp/clisp/clisp-2.48-r2.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit flag-o-matic eutils toolchain-funcs multilib + +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp" +HOMEPAGE="http://clisp.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="~alpha amd64 ~ia64 ~ppc -sparc x86" +IUSE="berkdb hyperspec X new-clx dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib" + +RDEPEND="virtual/libiconv + >=dev-libs/libsigsegv-2.4 + >=dev-libs/ffcall-1.10 + dbus? ( sys-apps/dbus ) + fastcgi? ( dev-libs/fcgi ) + gdbm? ( sys-libs/gdbm ) + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6:2.0 ) + pari? ( >=sci-mathematics/pari-2.3.0 ) + postgres? ( >=dev-db/postgresql-8.0 ) + readline? ( >=sys-libs/readline-5.0 ) + pcre? ( dev-libs/libpcre ) + svm? ( sci-libs/libsvm ) + zlib? ( sys-libs/zlib ) + X? ( new-clx? ( x11-libs/libXpm ) ) + hyperspec? ( dev-lisp/hyperspec ) + berkdb? ( sys-libs/db:4.7 )" + +DEPEND="${RDEPEND} + X? ( new-clx? ( x11-misc/imake x11-proto/xextproto ) )" + +PDEPEND="dev-lisp/gentoo-init" + +enable_modules() { + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument" + for m in "$@" ; do + einfo "enabling module $m" + myconf+=" --with-module=${m}" + done +} + +BUILDDIR="builddir" + +# modules not enabled: +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs +# * matlab, netica: not in portage +# * oracle: can't install oracle-instantclient + +src_prepare() { + # More than -O1 breaks alpha/ia64 + if use alpha || use ia64; then + sed -i -e 's/-O2//g' src/makemake.in || die + fi + epatch "${FILESDIR}/${P}-bits_ipctypes_to_sys_ipc.patch" +} + +src_configure() { + # We need this to build on alpha/ia64 + if use alpha || use ia64; then + replace-flags -O? -O1 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP' + fi + + # QA issue with lisp.run + append-flags -Wa,--noexecstack + + # built-in features + local myconf="--with-ffcall --without-dynamic-modules" +# There's a problem with jit_allocai function +# if use jit; then +# myconf+=" --with-jitc=lightning" +# fi + if use threads; then + myconf+=" --with-threads=POSIX_THREADS" + fi + + # default modules + enable_modules wildcard rawsock + # optional modules + use elibc_glibc && enable_modules bindings/glibc + if use X; then + if use new-clx; then + enable_modules clx/new-clx + else + enable_modules clx/mit-clx + fi + fi + if use postgres; then + enable_modules postgresql + append-flags -I$(pg_config --includedir) + fi + if use berkdb; then + enable_modules berkeley-db + append-flags -I/usr/include/db4.7 + fi + use dbus && enable_modules dbus + use fastcgi && enable_modules fastcgi + use gdbm && enable_modules gdbm + use gtk && enable_modules gtk2 + use pari && enable_modules pari + use pcre && enable_modules pcre + use svm && enable_modules libsvm + use zlib && enable_modules zlib + + if use hyperspec; then + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/" + else + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/" + fi + + # configure chokes on --sysconfdir option + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \ + $(use_with readline) $(use_with unicode) \ + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}" + einfo "${configure}" + ${configure} || die "./configure failed" + + sed -i 's,"vi","nano",g' "${BUILDDIR}"/config.lisp || die + + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html" + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \ + "${BUILDDIR}"/config.lisp || die +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + cd "${BUILDDIR}" + # parallel build fails + emake -j1 || die "emake failed" +} + +src_install() { + pushd "${BUILDDIR}" + make DESTDIR="${D}" prefix=/usr install-bin || die + doman clisp.1 || die + dodoc SUMMARY README* NEWS MAGIC.add ANNOUNCE || die + fperms a+x /usr/$(get_libdir)/clisp-${PV/_*/}/clisp-link || die + # stripping them removes common symbols (defined but uninitialised variables) + # which are then needed to build modules... + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*" + popd + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png || die + dodoc doc/{CLOS-guide,LISP-tutorial}.txt || die +} + +pkg_postinst() { + if use threads || use jit; then + while read line; do elog ${line}; done <<EOF + +Upstream considers threads to be of Alpha quality, therefore +it is likely that you will encounter bugs in using them. If you do, +please report bugs upstream: + +Mailing list: https://lists.sourceforge.net/lists/listinfo/clisp-devel +Bug tracker: https://sourceforge.net/tracker/?atid=101355&group_id=1355 + +EOF + fi +} diff --git a/dev-lisp/clisp/clisp-2.49-r100.ebuild b/dev-lisp/clisp/clisp-2.49-r100.ebuild new file mode 100644 index 000000000000..8210edc75f43 --- /dev/null +++ b/dev-lisp/clisp/clisp-2.49-r100.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp" +HOMEPAGE="http://clisp.sourceforge.net/" +SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2/7" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib" +# "jit" disabled ATM + +RDEPEND=">=dev-lisp/asdf-2.33-r3 + virtual/libiconv + >=dev-libs/libsigsegv-2.4 + >=dev-libs/ffcall-1.10 + dbus? ( sys-apps/dbus ) + fastcgi? ( dev-libs/fcgi ) + gdbm? ( sys-libs/gdbm ) + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 ) + pari? ( <sci-mathematics/pari-2.5.0 ) + postgres? ( >=dev-db/postgresql-8.0:* ) + readline? ( >=sys-libs/readline-7.0:0= ) + pcre? ( dev-libs/libpcre:3 ) + svm? ( sci-libs/libsvm ) + zlib? ( sys-libs/zlib ) + X? ( x11-libs/libXpm ) + hyperspec? ( dev-lisp/hyperspec ) + berkdb? ( sys-libs/db:4.8 )" +# jit? ( >=dev-libs/lightning-1.2 ) + +DEPEND="${RDEPEND} + X? ( x11-misc/imake x11-proto/xextproto )" + +enable_modules() { + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument" + for m in "$@" ; do + einfo "enabling module $m" + myconf+=" --with-module=${m}" + done +} + +BUILDDIR="builddir" + +# modules not enabled: +# * berkdb: must figure out a way to make the configure script pick up the +# currect version of the library and headers +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs +# * matlab, netica: not in portage +# * oracle: can't install oracle-instantclient + +src_prepare() { + # More than -O1 breaks alpha/ia64 + if use alpha || use ia64; then + sed -i -e 's/-O2//g' src/makemake.in || die + fi + epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch + epatch "${FILESDIR}"/${P}-get_hostname.patch + epatch "${FILESDIR}"/${P}-tinfo.patch + # bug #594552 + epatch "${FILESDIR}"/${P}-readline-7.patch +} + +src_configure() { + # We need this to build on alpha/ia64 + if use alpha || use ia64; then + replace-flags -O? -O1 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP' + fi + + if use x86; then + append-flags -falign-functions=4 + fi + + # QA issue with lisp.run + append-flags -Wa,--noexecstack + + # built-in features + local myconf="--with-ffcall --without-dynamic-modules" +# There's a problem with jit_allocai function +# if use jit; then +# myconf+=" --with-jitc=lightning" +# fi + if use threads; then + myconf+=" --with-threads=POSIX_THREADS" + fi + + # default modules + enable_modules wildcard rawsock + # optional modules + use elibc_glibc && enable_modules bindings/glibc + use X && enable_modules clx/new-clx + if use postgres; then + enable_modules postgresql + append-cppflags -I$(pg_config --includedir) + fi + if use berkdb; then + enable_modules berkeley-db + append-cppflags -I/usr/include/db4.8 + fi + use dbus && enable_modules dbus + use fastcgi && enable_modules fastcgi + use gdbm && enable_modules gdbm + use gtk && enable_modules gtk2 + use pari && enable_modules pari + use pcre && enable_modules pcre + use svm && enable_modules libsvm + use zlib && enable_modules zlib + + if use hyperspec; then + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/" + else + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/" + fi + + # configure chokes on --sysconfdir option + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \ + $(use_with readline) $(use_with unicode) \ + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}" + einfo "${configure}" + ${configure} || die "./configure failed" + + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html" + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \ + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes" +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + cd "${BUILDDIR}" + # parallel build fails + emake -j1 +} + +src_install() { + pushd "${BUILDDIR}" + make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed" + doman clisp.1 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE + # stripping them removes common symbols (defined but uninitialised variables) + # which are then needed to build modules... + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*" + popd + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png + dodoc doc/{CLOS-guide,LISP-tutorial}.txt +} diff --git a/dev-lisp/clisp/clisp-2.49-r8.ebuild b/dev-lisp/clisp/clisp-2.49-r8.ebuild new file mode 100644 index 000000000000..e19e47f63f6c --- /dev/null +++ b/dev-lisp/clisp/clisp-2.49-r8.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp" +HOMEPAGE="http://clisp.sourceforge.net/" +SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2/${PV}" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib" +# "jit" disabled ATM + +RDEPEND=">=dev-lisp/asdf-2.33-r3 + virtual/libiconv + >=dev-libs/libsigsegv-2.4 + >=dev-libs/ffcall-1.10 + dbus? ( sys-apps/dbus ) + fastcgi? ( dev-libs/fcgi ) + gdbm? ( sys-libs/gdbm ) + gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 ) + pari? ( <sci-mathematics/pari-2.5.0 ) + postgres? ( >=dev-db/postgresql-8.0 ) + readline? ( >=sys-libs/readline-5.0 <sys-libs/readline-7.0 ) + pcre? ( dev-libs/libpcre ) + svm? ( sci-libs/libsvm ) + zlib? ( sys-libs/zlib ) + X? ( x11-libs/libXpm ) + hyperspec? ( dev-lisp/hyperspec ) + berkdb? ( sys-libs/db:4.8 )" +# jit? ( >=dev-libs/lightning-1.2 ) + +DEPEND="${RDEPEND} + X? ( x11-misc/imake x11-proto/xextproto )" + +enable_modules() { + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument" + for m in "$@" ; do + einfo "enabling module $m" + myconf+=" --with-module=${m}" + done +} + +BUILDDIR="builddir" + +# modules not enabled: +# * berkdb: must figure out a way to make the configure script pick up the +# currect version of the library and headers +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs +# * matlab, netica: not in portage +# * oracle: can't install oracle-instantclient + +src_prepare() { + # More than -O1 breaks alpha/ia64 + if use alpha || use ia64; then + sed -i -e 's/-O2//g' src/makemake.in || die + fi + epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch + epatch "${FILESDIR}"/${P}-get_hostname.patch + epatch "${FILESDIR}"/${P}-tinfo.patch +} + +src_configure() { + # We need this to build on alpha/ia64 + if use alpha || use ia64; then + replace-flags -O? -O1 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP' + fi + + # QA issue with lisp.run + append-flags -Wa,--noexecstack + + # built-in features + local myconf="--with-ffcall --without-dynamic-modules" +# There's a problem with jit_allocai function +# if use jit; then +# myconf+=" --with-jitc=lightning" +# fi + if use threads; then + myconf+=" --with-threads=POSIX_THREADS" + fi + + # default modules + enable_modules wildcard rawsock + # optional modules + use elibc_glibc && enable_modules bindings/glibc + use X && enable_modules clx/new-clx + if use postgres; then + enable_modules postgresql + append-cppflags -I$(pg_config --includedir) + fi + if use berkdb; then + enable_modules berkeley-db + append-cppflags -I/usr/include/db4.8 + fi + use dbus && enable_modules dbus + use fastcgi && enable_modules fastcgi + use gdbm && enable_modules gdbm + use gtk && enable_modules gtk2 + use pari && enable_modules pari + use pcre && enable_modules pcre + use svm && enable_modules libsvm + use zlib && enable_modules zlib + + if use hyperspec; then + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/" + else + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/" + fi + + # configure chokes on --sysconfdir option + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \ + $(use_with readline) $(use_with unicode) \ + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}" + einfo "${configure}" + ${configure} || die "./configure failed" + + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html" + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \ + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes" +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + cd "${BUILDDIR}" + # parallel build fails + emake -j1 +} + +src_install() { + pushd "${BUILDDIR}" + make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed" + doman clisp.1 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE + # stripping them removes common symbols (defined but uninitialised variables) + # which are then needed to build modules... + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*" + popd + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png + dodoc doc/{CLOS-guide,LISP-tutorial}.txt +} diff --git a/dev-lisp/clisp/files/clisp-2.48-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.48-bits_ipctypes_to_sys_ipc.patch new file mode 100644 index 000000000000..4711a86decbe --- /dev/null +++ b/dev-lisp/clisp/files/clisp-2.48-bits_ipctypes_to_sys_ipc.patch @@ -0,0 +1,21 @@ +diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp +--- a/modules/bindings/glibc/linux.lisp 2008-10-10 16:15:49.000000000 +0300 ++++ b/modules/bindings/glibc/linux.lisp 2013-04-22 11:12:59.148502615 +0300 +@@ -67,7 +67,7 @@ + (def-c-type __daddr_t) ; int + (def-c-type __caddr_t) ; c-pointer + (def-c-type __time_t) ; long +-(def-c-type __swblk_t) ; long ++;(def-c-type __swblk_t) ; long + + (def-c-type __fd_mask ulong) + (eval-when (load compile eval) +@@ -86,7 +86,7 @@ + + (def-c-type __key_t) ; int + +-(c-lines "#include <bits/ipctypes.h>~%") ++(c-lines "#include <sys/ipc.h>~%") + (def-c-type __ipc_pid_t) ; ushort + + ; --------------------------- <sys/types.h> ----------------------------------- diff --git a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch new file mode 100644 index 000000000000..8037157c9512 --- /dev/null +++ b/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch @@ -0,0 +1,21 @@ +diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp +--- a/modules/bindings/glibc/linux.lisp 2008-10-08 19:36:19.000000000 +0300 ++++ b/modules/bindings/glibc/linux.lisp 2013-04-08 00:05:06.028305248 +0300 +@@ -67,7 +67,7 @@ + (def-c-type __daddr_t) ; int + (def-c-type __caddr_t) ; c-pointer + (def-c-type __time_t) ; long +-(def-c-type __swblk_t) ; long ++;(def-c-type __swblk_t) ; long + + (def-c-type __fd_mask ulong) + (eval-when (load compile eval) +@@ -86,7 +86,7 @@ + + (def-c-type __key_t) ; int + +-(c-lines "#include <bits/ipctypes.h>~%") ++(c-lines "#include <sys/ipc.h>~%") + (def-c-type __ipc_pid_t) ; ushort + + ; --------------------------- <sys/types.h> ----------------------------------- diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch new file mode 100644 index 000000000000..5db3a71efbc3 --- /dev/null +++ b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch @@ -0,0 +1,56 @@ +diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d +--- clisp-2.49.orig/src/socket.d 2009-10-08 21:45:13.000000000 +0700 ++++ clisp-2.49/src/socket.d 2013-04-20 16:24:11.133895050 +0700 +@@ -59,5 +59,5 @@ + Fetches the machine's host name. +- get_hostname(host =); +- The name is allocated on the stack, with dynamic extent. +- < const char* host: The host name. ++ get_hostname(hostname); ++ where hostname is an array of MAXHOTNAMELEN+1 characters. ++ < const char host[]: The host name. + (Note: In some cases we could get away with less system calls by simply +@@ -69,10 +69,8 @@ + /* present on all supported unix systems and on woe32 */ +- #define get_hostname(host_assignment) \ +- do { var char hostname[MAXHOSTNAMELEN+1]; \ +- begin_system_call(); \ +- if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \ +- end_system_call(); \ +- hostname[MAXHOSTNAMELEN] = '\0'; \ +- host_assignment &hostname[0]; \ +- } while(0) ++static void get_hostname (char *hostname) { ++ begin_system_call(); ++ if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); } ++ end_system_call(); ++ hostname[MAXHOSTNAMELEN] = '\0'; ++} + #else +@@ -209,4 +207,4 @@ + (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */ +- var const char* host; +- get_hostname(host =); ++ var char host[MAXHOSTNAMELEN+1]; ++ get_hostname(host); + result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */ +@@ -391,4 +389,4 @@ + if (eq(arg,S(Kdefault))) { +- var char* host; +- get_hostname(host =); ++ var char host[MAXHOSTNAMELEN+1]; ++ get_hostname(host); + begin_system_call(); +@@ -726,3 +724,4 @@ + if (host[0] == '\0') { +- get_hostname(host =); ++ var char host[MAXHOSTNAMELEN+1]; ++ get_hostname(host); + fd = with_host_port(host,port,&connect_to_x_via_ip,NULL); +@@ -800,4 +799,4 @@ + if (resolve_p) { /* Fill in hd->truename. */ +- var const char* host; +- get_hostname(host =); /* was: host = "localhost"; */ ++ var char host[MAXHOSTNAMELEN+1]; ++ get_hostname(host); + ASSERT(strlen(host) <= MAXHOSTNAMELEN); diff --git a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch new file mode 100644 index 000000000000..0be5bd8ccc20 --- /dev/null +++ b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch @@ -0,0 +1,10 @@ +diff -r -U2 clisp-2.49.orig/modules/readline/readline.lisp clisp-2.49/modules/readline/readline.lisp +--- clisp-2.49.orig/modules/readline/readline.lisp 2010-01-07 04:18:03.000000000 +0600 ++++ clisp-2.49/modules/readline/readline.lisp 2016-09-29 22:23:53.837631568 +0700 +@@ -425,5 +425,5 @@ + (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int) + (:documentation "True if this is real GNU readline.")) +-(def-c-var readline-state (:name "rl_readline_state") (:type int) ++(def-c-var readline-state (:name "rl_readline_state") (:type ulong) + (:documentation "Flags word encapsulating the current readline state.")) + (def-c-var editing-mode (:name "rl_editing_mode") (:type int) diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch new file mode 100644 index 000000000000..72f40d585b5b --- /dev/null +++ b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch @@ -0,0 +1,15 @@ +clisp does not need a full blown ncurses, but it does require a termcap or tinfo +I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR + + +--- a/src/configure ++++ b/src/configure +@@ -28613,7 +28613,7 @@ + return 0; + } + _ACEOF +-for ac_lib in '' ncurses termcap; do ++for ac_lib in '' tinfo ncurses termcap; do + if test -z "$ac_lib"; then + ac_res="none required" + else diff --git a/dev-lisp/clisp/metadata.xml b/dev-lisp/clisp/metadata.xml new file mode 100644 index 000000000000..256106c8ea32 --- /dev/null +++ b/dev-lisp/clisp/metadata.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> +CLISP is a Common Lisp implementation. It mostly supports the Lisp +described in the ANSI Common Lisp standard. It includes an +interpreter, a compiler, almost all of CLOS, a foreign language +interface and a socket interface. An X11 interface is available +through CLX and Garnet. Command line editing is provided by readline. +CLISP runs on microcomputers (OS/2, Windows 95/98/NT/2000/XP, Amiga +500-4000, Acorn RISC PC) as well as on Unix workstations (GNU/Linux, +BSD, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and +others) and needs only 2 MB of RAM. The user interface comes in +German, English, French, Spanish, Dutch and Russian, and can be +changed at run time. +</longdescription> + <use> + <flag name="hyperspec">Use local hyperspec instead of online version</flag> + <flag name="new-clx">Build CLISP with support for the NEW-CLX module which is a +C binding to the Xorg libraries</flag> + <flag name="pari">Build CLISP with support for the PARI Computer Algebra System</flag> + <flag name="svm">Build CLISP with support for the Support Vector Machine module</flag> + </use> + <upstream> + <remote-id type="sourceforge">clisp</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/clozurecl/Manifest b/dev-lisp/clozurecl/Manifest new file mode 100644 index 000000000000..599b53f4b3ca --- /dev/null +++ b/dev-lisp/clozurecl/Manifest @@ -0,0 +1,13 @@ +AUX ccl-format.patch 4281 SHA256 3b1c1d2cec58270c8286da7153e0d9710258aa657238a9e6e55b3f5ff317dde8 SHA512 61bc053d0b7bdfcb9d81fd472e2569bb3d2805f87afff57855ba5a86f745141190b1804067628d2e70ec399585a66289c10fdaf3ffdc81bd2b442b1873c75e1a WHIRLPOOL 046c7ddba6c09c10dddd0cfa96fda15bd21c97de951c0a52c7e41196897de2097f8b785e37b323afaf878de2f324241500687907ebc641ae23b39e9adebc1a03 +DIST ccl-1.10-linuxx86.tar.gz 43796090 SHA256 8ca272656214837b57746b9b84395987bc524329b38a1f42a605f45bf0282657 SHA512 10504e2569a99ba8b6fc4ac745312435c6be646c86ec3916a3750f823f79b3b8ec87fe53ba2410151feeaaed0609e1760ee3d37a77f01d815d1ec13c2394258e WHIRLPOOL 75c7516eba92ad0fc603301e958dc5ba8271b0819ab46af7f61e97edeb405098c4d84a8f8e8ed73ee85462b6ab7c4805bbcbf0a0f354fb62f077cf8cf10bffa4 +DIST ccl-1.11-darwinx86.tar.gz 14270464 SHA256 cf488651315638246ecdb9b7e8d58d78e0ce3222318044a115533e9b536fd94e SHA512 c2d320872c402405d2972898c77401b1c046685af95e75e0646be989fe91d2ff458a29eaa9c1475cb73531f30858c57a075a23bdf95b9bbf269d63399aea9ea1 WHIRLPOOL 9435cc26c854cd1044178c26e1f6836d4edbfd1763dfc6216017d892c999d8d46ca969c94bb3e7f3503cfad2edfc588ae45716c1c9c5fcd283669110633f45db +DIST ccl-1.11-linuxarm.tar.gz 23044178 SHA256 64a1911fbe516b73964b377df360c3a40695c6155e0730a6590c67f1953a88f4 SHA512 b8034569f0c47106107fee6bd859051052d43c3bcd625a1956eae467ef0225425d5429678e3584136adc929ccfbbe4b800bffa66ea758cd2b734aa3ed55a9dda WHIRLPOOL bdd4e01fbfb1a5e2ac8b1d2ba9b85dd5e01e94ea0b99718e757b1e1c0b1c5dbc6ffd988ca5d7a7ac494b8cdb8ff4ca36260d61a32e39b6314fc4aec3253f9ff7 +DIST ccl-1.11-linuxx86.tar.gz 42482877 SHA256 08e885e8c2bb6e4abd42b8e8e2b60f257c6929eb34b8ec87ca1ecf848fac6d70 SHA512 34008654fd3ceca55a33413a768c398395141e26b9ea09204739ca7e998fdbe94ab92507eda14cf9bcbb9f76e6c3cae3006d7f2c9f48749c66e1f1281febb409 WHIRLPOOL 4a0d1e6495be62f04f48d6923f95468ca1d1c8bafb3c00d4a5b1f705eb70fac52b7d8ed3b248b698707cd89f1eb4a0196b94d869e9bea52ea895fb8fae00bb41 +DIST ccl-1.11-solarisx86.tar.gz 46926817 SHA256 8b983ec3968e987bae6109dbb12d912ea8f050983dcd3eb9e8a5e91f45f683aa SHA512 f35df9e9c7644331a0f6b77e7b0a6f0b2e297f6249ef7a669932ab6685ca426f87423faf01c64cc1f7eb7fcd0dd4fb7c0d70d039bbcadca5d9201b0a348a36be WHIRLPOOL 11e37a489cf51bff1084cacb33c91aa952f3552b2dac0d23c744d5371f45b8bd41fdb39bfdb5fc40bfc2f2467e5aa6224067f8b8a0ecf01ad9eddbc0d3fded7b +DIST ccl.html 962003 SHA256 10fe7bf2818a2a029dcd53b274124f84713bed32b24170d09134feee470a5c6e SHA512 0cb9ee8f7eb6007e08241a0797519ff3bfc3d3adc0b5ac86e6a2e9e8b2e316fc421bea3b04159decc0a2b37ff7098147e25266946cc3c1ac367b93e4821a8b64 WHIRLPOOL ce93bb1537fd5c03050b5aa7f14414188a3cacf881ff0fcb87c532a43e51bd6139a11dd58c28397e7981ab120ce85e8303762c5f418f995b1c545f436b4d6abe +EBUILD clozurecl-1.10.ebuild 2603 SHA256 a154a1328c05771a6dd0a7b5d9ae81831688f803e274a6f4cbb3dd6b7434c825 SHA512 3e7ed98b174f93835bea922e0ce58b60027d6fb920d515b5e108933e64fedee1380524ce0abb30daa7468813eeaf75cb9c0fc47bbfb63ae0e311ccf4df0a66ab WHIRLPOOL fc8c20ae1b8bbd8e860e38d1741182a16c440b9391018c532be9a23ea8ee766a36684dc3a9d4dc0e376a35a80aa919abbad5ee67141593ac87a7f020d2d604bf +EBUILD clozurecl-1.11-r1.ebuild 2701 SHA256 069e1484a5758f6e461c184bc53184351f004fff80f0329525440c04aa870697 SHA512 91cbf704a82d5672fc9cd51f9b08e5df4eb4335b00f944d85cf60b60e8ddff9f4464cbe72f99d5dfebce237fcd2df1431fc78210a59ee33a6e6d36ee84766b2f WHIRLPOOL 858f61bae5e5421105c0d39bf6dc7415fc7ad2b55a30712db43802cbda3cfe53408d0432872b5836a8e195c5b7e05552424c7d9bb3158b1178862304b7e36a33 +EBUILD clozurecl-1.11-r2.ebuild 3291 SHA256 7d4bd970ea2b05118791f47b243675f25742673f5c594b5bc7639f17ac47fb38 SHA512 6d6b62b08c9a81a82a1c75ace997409eaa48644cac79b9eee90e117d22324594b3a0f57d842393085f4ef43969bac6032768a4f0ef20f98fbd10fe523f67b765 WHIRLPOOL 50f12c265d57d2f810c1c33095e9307bfd9aef0f78b9179019550dd0413ab4e284dd2860f320b9adee165117f422978e8a15d040df2bbaab8fa4cc769dadbaaf +MISC ChangeLog 4443 SHA256 a62600347c4f788a823892454849bc2fed43ed7db3bd36a9e879aeaa05ebeafb SHA512 75ebfbd69d80b756a72568839f4c6c7af191fb2c05b7711841661d06c7f7ee97709037b5d214cdac45ac445b60c9f3c5ffe43bdf6bbc14bebc484fcdf939fd24 WHIRLPOOL c8c8d54d01b9d7553518011a8b47cc2df26e19adf291fe38908c524c28ab295be3aeac0daf1954399e18a1264e33b1c33b9e89a8d56250d03b777f16780b0eb8 +MISC ChangeLog-2015 2253 SHA256 2dba678a269bac26f5381dc6243387186f10b9d39dde484819b6f3fd1f974182 SHA512 661f6c431698b744df57acf2ceb31857160ea0bdbfa8491d980bf38b8f7096ff94d965b315aaf395a70d733f39531743ff42ee7864b55eac35f0a9472cde0174 WHIRLPOOL 6da6c8de3b9cb271dc71037a5949ca18ae1bab5f840020c51135330e2d3b25955789300174b52761a3fdcfc99984dda3eb2f574d699574d8804df640b9a2613c +MISC metadata.xml 370 SHA256 6424b7e838c0fdba4696a99d70b302b461d946672d171ee62b334f15e7ef91ff SHA512 d961c24b6532aa9e5b8a2727b3ada479743434549a9aaf9ac9c7cdd4d2414a4ba078fd153537afd0daa940eb435fcfb7852bed594ad807f5bbc62a99b8503d12 WHIRLPOOL ec684d9a71539ac2ffe4f1af3bf6f4627fd103e46944c7564be5e805cd479b69dcfc5dd9ba074bae7a5c111c629869bb2ebcf6786d876f60bb6f1d76ea0a9a3b diff --git a/dev-lisp/clozurecl/clozurecl-1.10.ebuild b/dev-lisp/clozurecl/clozurecl-1.10.ebuild new file mode 100644 index 000000000000..a9b11fd14aa7 --- /dev/null +++ b/dev-lisp/clozurecl/clozurecl-1.10.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils multilib toolchain-funcs + +MY_PN=ccl +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Common Lisp implementation, derived from Digitool's MCL product" +HOMEPAGE="http://ccl.clozure.com/" +SRC_URI=" + x86? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxx86.tar.gz ) + amd64? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxx86.tar.gz )" + # ppc? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxppc.tar.gz ) + # ppc64? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxppc.tar.gz )" + +LICENSE="LLGPL-2.1" +SLOT="0" +# KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +RDEPEND=">=dev-lisp/asdf-2.33-r3:=" +DEPEND="${RDEPEND} + !dev-lisp/openmcl" + +S="${WORKDIR}"/${MY_PN} + +ENVD="${T}"/50ccl + +src_configure() { + if use x86; then + CCL_RUNTIME=lx86cl; CCL_HEADERS=x86-headers; CCL_KERNEL=linuxx8632 + elif use amd64; then + CCL_RUNTIME=lx86cl64; CCL_HEADERS=x86-headers64; CCL_KERNEL=linuxx8664 + elif use ppc; then + CCL_RUNTIME=ppccl; CCL_HEADERS=headers; CCL_KERNEL=linuxppc + elif use ppc64; then + CCL_RUNTIME=ppccl64; CCL_HEADERS=headers64; CCL_KERNEL=linuxppc64 + fi +} + +src_prepare() { + cp /usr/share/common-lisp/source/asdf/build/asdf.lisp tools/ || die +} + +src_compile() { + emake -C lisp-kernel/${CCL_KERNEL} clean + emake -C lisp-kernel/${CCL_KERNEL} all CC="$(tc-getCC)" + + unset CCL_DEFAULT_DIRECTORY + ./${CCL_RUNTIME} -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)' || die "Compilation failed" + + # remove non-owner write permissions on the full-image + chmod go-w ${CCL_RUNTIME}{,.image} || die + + esvn_clean +} + +src_install() { + local install_dir=/usr/$(get_libdir)/${PN} + + exeinto ${install_dir} + # install executable + doexe ${CCL_RUNTIME} + # install core image + cp ${CCL_RUNTIME}.image "${D}"/${install_dir} || die + # install optional libraries + dodir ${install_dir}/tools + cp tools/*fsl "${D}"/${install_dir}/tools || die + + # until we figure out which source files are necessary for runtime + # optional features and which aren't, we install all sources + find . -type f -name '*fsl' -delete || die + rm -f lisp-kernel/${CCL_KERNEL}/*.o || die + cp -a compiler level-0 level-1 lib library \ + lisp-kernel scripts tools xdump contrib \ + "${D}"/${install_dir} || die + cp -a ${CCL_HEADERS} "${D}"/${install_dir} || die + + make_wrapper ccl "${install_dir}/${CCL_RUNTIME}" + + echo "CCL_DEFAULT_DIRECTORY=${install_dir}" > "${ENVD}" + doenvd "${ENVD}" + + dodoc doc/release-notes.txt + dohtml doc/ccl-documentation.html + use doc && dohtml -r examples +} diff --git a/dev-lisp/clozurecl/clozurecl-1.11-r1.ebuild b/dev-lisp/clozurecl/clozurecl-1.11-r1.ebuild new file mode 100644 index 000000000000..6c355750f542 --- /dev/null +++ b/dev-lisp/clozurecl/clozurecl-1.11-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib toolchain-funcs + +MY_PN=ccl +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Common Lisp implementation, derived from Digitool's MCL product" +HOMEPAGE="http://ccl.clozure.com/" +SRC_URI=" + x86? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxx86.tar.gz ) + amd64? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxx86.tar.gz ) + doc? ( http://ccl.clozure.com/docs/ccl.html )" + # ppc? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxppc.tar.gz ) + # ppc64? ( ftp://ftp.clozure.com/pub/release/${PV}/${MY_P}-linuxppc.tar.gz )" + +LICENSE="LLGPL-2.1" +SLOT="0" +# KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +RDEPEND=">=dev-lisp/asdf-2.33-r3:=" +DEPEND="${RDEPEND} + !dev-lisp/openmcl" + +S="${WORKDIR}"/${MY_PN} +ENVD="${T}"/50ccl + +src_configure() { + if use x86; then + CCL_RUNTIME=lx86cl; CCL_HEADERS=x86-headers; CCL_KERNEL=linuxx8632 + elif use amd64; then + CCL_RUNTIME=lx86cl64; CCL_HEADERS=x86-headers64; CCL_KERNEL=linuxx8664 + elif use ppc; then + CCL_RUNTIME=ppccl; CCL_HEADERS=headers; CCL_KERNEL=linuxppc + elif use ppc64; then + CCL_RUNTIME=ppccl64; CCL_HEADERS=headers64; CCL_KERNEL=linuxppc64 + fi +} + +src_prepare() { + default + epatch "${FILESDIR}"/ccl-format.patch + cp /usr/share/common-lisp/source/asdf/build/asdf.lisp tools/ || die +} + +src_compile() { + emake -C lisp-kernel/${CCL_KERNEL} clean + emake -C lisp-kernel/${CCL_KERNEL} all CC="$(tc-getCC)" + + unset CCL_DEFAULT_DIRECTORY + ./${CCL_RUNTIME} -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)' || die "Compilation failed" + + # remove non-owner write permissions on the full-image + chmod go-w ${CCL_RUNTIME}{,.image} || die + + esvn_clean +} + +src_install() { + local install_dir=/usr/$(get_libdir)/${PN} + + exeinto ${install_dir} + # install executable + doexe ${CCL_RUNTIME} + # install core image + cp ${CCL_RUNTIME}.image "${D}"/${install_dir} || die + # install optional libraries + dodir ${install_dir}/tools + cp tools/*fsl "${D}"/${install_dir}/tools || die + + # until we figure out which source files are necessary for runtime + # optional features and which aren't, we install all sources + find . -type f -name '*fsl' -delete || die + rm -f lisp-kernel/${CCL_KERNEL}/*.o || die + cp -a compiler level-0 level-1 lib library \ + lisp-kernel scripts tools xdump contrib \ + "${D}"/${install_dir} || die + cp -a ${CCL_HEADERS} "${D}"/${install_dir} || die + + make_wrapper ccl "${install_dir}/${CCL_RUNTIME}" + + echo "CCL_DEFAULT_DIRECTORY=${install_dir}" > "${ENVD}" + doenvd "${ENVD}" + + dodoc doc/release-notes.txt + use doc && dodoc "${DISTDIR}"/ccl.html + use doc && dodoc -r examples +} diff --git a/dev-lisp/clozurecl/clozurecl-1.11-r2.ebuild b/dev-lisp/clozurecl/clozurecl-1.11-r2.ebuild new file mode 100644 index 000000000000..8c1c342d8706 --- /dev/null +++ b/dev-lisp/clozurecl/clozurecl-1.11-r2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib toolchain-funcs + +MY_PN=ccl +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Common Lisp implementation, derived from Digitool's MCL product" +HOMEPAGE="https://ccl.clozure.com" +SRC_URI=" + x86? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-linuxx86.tar.gz ) + amd64? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-linuxx86.tar.gz ) + arm? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-linuxarm.tar.gz ) + x86-macos? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-darwinx86.tar.gz ) + x64-macos? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-darwinx86.tar.gz ) + x86-solaris? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-solarisx86.tar.gz ) + x64-solaris? ( ${HOMEPAGE}/ftp/pub/release/${PV}/${MY_P}-solarisx86.tar.gz ) + doc? ( ${HOMEPAGE}/docs/ccl.html )" + +LICENSE="LLGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc" + +RDEPEND=">=dev-lisp/asdf-2.33-r3:=" +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/${MY_PN} +ENVD="${T}/50ccl" + +src_configure() { + if use x86-macos; then + CCL_RUNTIME=dx86cl; CCL_HEADERS=darwin-x86-headers; CCL_KERNEL=darwinx8632 + elif use x64-macos; then + CCL_RUNTIME=dx86cl64; CCL_HEADERS=darwin-x86-headers64; CCL_KERNEL=darwinx8664 + elif use x86-solaris; then + CCL_RUNTIME=sx86cl; CCL_HEADERS=solarisx86-headers; CCL_KERNEL=solarisx86 + elif use x64-solaris; then + CCL_RUNTIME=sx86cl64; CCL_HEADERS=solarisx64-headers; CCL_KERNEL=solarisx64 + elif use x86; then + CCL_RUNTIME=lx86cl; CCL_HEADERS=x86-headers; CCL_KERNEL=linuxx8632 + elif use amd64; then + CCL_RUNTIME=lx86cl64; CCL_HEADERS=x86-headers64; CCL_KERNEL=linuxx8664 + elif use arm; then + CCL_RUNTIME=armcl; CCL_HEADERS=arm-headers; CCL_KERNEL=linuxarm + elif use ppc; then + CCL_RUNTIME=ppccl; CCL_HEADERS=headers; CCL_KERNEL=linuxppc + elif use ppc64; then + CCL_RUNTIME=ppccl64; CCL_HEADERS=headers64; CCL_KERNEL=linuxppc64 + fi +} + +src_prepare() { + default + eapply "${FILESDIR}/${MY_PN}-format.patch" + # https://lists.clozure.com/pipermail/openmcl-devel/2016-September/011399.html + sed -i "s/-dynamic/-no_pie/" "${S}/lisp-kernel/darwinx8664/Makefile" || die + cp "${EPREFIX}/usr/share/common-lisp/source/asdf/build/asdf.lisp" tools/ || die +} + +src_compile() { + emake -C lisp-kernel/${CCL_KERNEL} clean + emake -C lisp-kernel/${CCL_KERNEL} all CC="$(tc-getCC)" + + unset CCL_DEFAULT_DIRECTORY + ./${CCL_RUNTIME} -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)' || die "Compilation failed" + + # remove non-owner write permissions on the full-image + chmod go-w ${CCL_RUNTIME}{,.image} || die + + esvn_clean +} + +src_install() { + local target_dir="/usr/$(get_libdir)/${PN}" + local prefix_dir="${EPREFIX}/${target_dir#/}" + + mkdir -p "${D}/${prefix_dir#/}" + + find . -type f -name '*fsl' -delete || die + rm -f lisp-kernel/${CCL_KERNEL}/*.o || die + cp -a compiler contrib level-0 level-1 lib library lisp-kernel scripts \ + tools xdump ${CCL_HEADERS} ${CCL_RUNTIME} ${CCL_RUNTIME}.image \ + "${D}/${prefix_dir#/}" || die + + echo "CCL_DEFAULT_DIRECTORY=${prefix_dir}" > "${ENVD}" + doenvd "${ENVD}" + + dosym "${target_dir}/${CCL_RUNTIME}" /usr/bin/ccl + dodoc doc/release-notes.txt + + if use doc ; then + dodoc "${DISTDIR}/ccl.html" + dodoc -r doc/manual + dodoc -r examples + fi +} diff --git a/dev-lisp/clozurecl/files/ccl-format.patch b/dev-lisp/clozurecl/files/ccl-format.patch new file mode 100644 index 000000000000..c2df37c2b870 --- /dev/null +++ b/dev-lisp/clozurecl/files/ccl-format.patch @@ -0,0 +1,128 @@ +diff -r -U1 ccl.orig/lib/format.lisp ccl/lib/format.lisp +--- ccl.orig/lib/format.lisp 2015-11-07 02:10:10.000000000 +0600 ++++ ccl/lib/format.lisp 2015-11-20 22:51:51.736191995 +0600 +@@ -1296,5 +1296,2 @@ + +- +- +- + ;;; Given a non-negative floating point number, SCALE-EXPONENT returns a +@@ -1305,41 +1302,74 @@ + +- +-(defconstant long-log10-of-2 0.30103d0) +- +-#| +-(defun scale-exponent (x) +- (if (floatp x ) +- (scale-expt-aux (abs x) 0.0d0 1.0d0 1.0d1 1.0d-1 long-log10-of-2) +- (report-bad-arg x 'float))) +- +-#|this is the slisp code that was in the place of the error call above. +- before floatp was put in place of shortfloatp. +- ;(scale-expt-aux x (%sp-l-float 0) (%sp-l-float 1) %long-float-ten +- ; %long-float-one-tenth long-log10-of-2))) +-|# +- +-; this dies with floating point overflow (?) if fed least-positive-double-float +- +-(defun scale-expt-aux (x zero one ten one-tenth log10-of-2) +- (let ((exponent (nth-value 1 (decode-float x)))) +- (if (= x zero) +- (values zero 1) +- (let* ((e (round (* exponent log10-of-2))) +- (x (if (minusp e) ;For the end ranges. +- (* x ten (expt ten (- -1 e))) +- (/ x ten (expt ten (1- e)))))) +- (do ((d ten (* d ten)) +- (y x (/ x d)) +- (e e (1+ e))) +- ((< y one) +- (do ((m ten (* m ten)) +- (z y (* z m)) +- (e e (1- e))) +- ((>= z one-tenth) (values x e))))))))) +-|# +- +-(defun scale-exponent (n) +- (let ((exp (nth-value 1 (decode-float n)))) +- (values (round (* exp long-log10-of-2))))) +- ++(defconstant single-float-min-e ++ (nth-value 1 (decode-float least-positive-single-float))) ++(defconstant double-float-min-e ++ (nth-value 1 (decode-float least-positive-double-float))) ++ ++;;; Adapted from CMUCL. ++ ++;; This is a modified version of the scale computation from Burger and ++;; Dybvig's paper "Printing floating-point quickly and accurately." ++;; We only want the exponent, so most things not needed for the ++;; computation of the exponent have been removed. We also implemented ++;; the floating-point log approximation given in Burger and Dybvig. ++;; This is very noticeably faster for large and small numbers. It is ++;; slower for intermediate sized numbers. ++(defun accurate-scale-exponent (v) ++ (declare (type float v)) ++ (if (zerop v) ++ 1 ++ (let ((float-radix 2) ; b ++ (float-digits (float-digits v)) ; p ++ (min-e ++ (etypecase v ++ (single-float single-float-min-e) ++ (double-float double-float-min-e)))) ++ (multiple-value-bind (f e) ++ (integer-decode-float v) ++ (let ( ;; FIXME: these even tests assume normal IEEE rounding ++ ;; mode. I wonder if we should cater for non-normal? ++ (high-ok (evenp f))) ++ ;; We only want the exponent here. ++ (labels ((flog (x) ++ (declare (type (float (0.0)) x)) ++ (let ((xd (etypecase x ++ (single-float ++ (float x 1d0)) ++ (double-float ++ x)))) ++ (ceiling (- (the (double-float -400d0 400d0) ++ (log xd 10d0)) ++ 1d-10)))) ++ (fixup (r s m+ k) ++ (if (if high-ok ++ (>= (+ r m+) s) ++ (> (+ r m+) s)) ++ (+ k 1) ++ k)) ++ (scale (r s m+) ++ (let* ((est (flog v)) ++ (scale (the integer (10-to-e (abs est))))) ++ (if (>= est 0) ++ (fixup r (* s scale) m+ est) ++ (fixup (* r scale) s (* m+ scale) est))))) ++ (let (r s m+) ++ (if (>= e 0) ++ (let* ((be (expt float-radix e)) ++ (be1 (* be float-radix))) ++ (if (/= f (expt float-radix (1- float-digits))) ++ (setf r (* f be 2) ++ s 2 ++ m+ be) ++ (setf r (* f be1 2) ++ s (* float-radix 2) ++ m+ be1))) ++ (if (or (= e min-e) ++ (/= f (expt float-radix (1- float-digits)))) ++ (setf r (* f 2) ++ s (* (expt float-radix (- e)) 2) ++ m+ 1) ++ (setf r (* f float-radix 2) ++ s (* (expt float-radix (- 1 e)) 2) ++ m+ float-radix))) ++ (scale r s m+)))))))) + +@@ -1922,3 +1952,3 @@ + (format-error "incompatible values for k and d"))) +- (when (not exp) (setq exp (scale-exponent number))) ++ (when (not exp) (setq exp (accurate-scale-exponent (abs number)))) + AGAIN diff --git a/dev-lisp/clozurecl/metadata.xml b/dev-lisp/clozurecl/metadata.xml new file mode 100644 index 000000000000..ee9b0de2aad2 --- /dev/null +++ b/dev-lisp/clozurecl/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +<longdescription> +Clozure Common Lisp (formerly OpenMCL) is a Common Lisp implementation. +</longdescription> +</pkgmetadata> diff --git a/dev-lisp/clx/Manifest b/dev-lisp/clx/Manifest new file mode 100644 index 000000000000..38ee64503ded --- /dev/null +++ b/dev-lisp/clx/Manifest @@ -0,0 +1,11 @@ +AUX gentoo-fix-asd.patch 11298 SHA256 9a9fe8c95020cbadbac7f283ce37abd346d550f9136d53807e8138e58534120d SHA512 80702eca8ae22affb3dc77ffddb1daac0740857d9deca157c650dea15691e4feeaf7d4a0220d3705111bbbb317a02c3adaae7e293bc219346eebb2dc1f598a9e WHIRLPOOL b0fb4f6890ad22f97801c2b36211f621c853cde5f6c0098feee08d777df90391d5e1c3028f5e3ab6d701f58670ea73358fa82909a48126303dc2fedbd6161a9c +AUX gentoo-fix-dep-openmcl.patch 905 SHA256 c3d06020eb70df215de7b72b29af207d45239c908e3d0149ca8a3e40c6e70d76 SHA512 fdef997e33ffec46b4c28393faada80165b866398668eb1a6db5182586175cb264fdac462f4e3441d546dc3a195845ee92a1a7eae736da62c8741f9b7dd48612 WHIRLPOOL 092e93a6b7748a448354de56b70e4f3310575d5ebddd4916e443fbba1b9b513b1e448362c60437522c838022fa220725a9c83487292dc98fa282d548437590f2 +AUX gentoo-fix-dynamic-extent-sbcl-1.0.45.patch 600 SHA256 f3925863e607b5ec2bc96f891b11b89818feb5c17d985766c7c0e69e098000fd SHA512 97089c5e6b08b410ca26267116a4f7958b12d2ff93740292f53335a3d25a2b9f188f5afef75190db1648171eadaa62b6cec68425d410e87f7a6b97b5678102b6 WHIRLPOOL 42a86c5d1f76622b7bcbd0cac84aedc8ab30591ade84ee29e387cc3b98c155ba3cb1ce9a0352c5829b238f186cf2c6f5c1ce55716efcdae450dd1760c8a69287 +AUX gentoo-fix-obsolete-eval-when.patch 435 SHA256 7c7b3d17102223a6f0c24d31e7942880977ba4de422b51d189fac9c8a298c197 SHA512 0f3db1aa5d7a2f9a9e88f61d04633d399337fac517f7d4ee17bf88968f9bfe32f3105562dbe454b0bbaf91b4afe48c1361fbb2c492a3c6e4250426ea15a39610 WHIRLPOOL 6479f8564f374a21554ddb7b6909266c10d5682d18079c5ddd282183444faef269f93f533eb07f9b5820b9f41e98f7e775993d4c48f249f951c8113373c7eb09 +AUX gentoo-fix-unused-vars.patch 3139 SHA256 08a548efa8d7c69b41cf208a16efd42cf78aebaf3f529aa6b35f23ecfacd0b57 SHA512 fbb4d2e5866568adaed0534beb0f126792fc3d30880f2727fce7b62dcb0d57cb8367e1924ef52beb513a7a84f1b816832fa6d2f1605bda6354c075dc4db2b458 WHIRLPOOL 97b35c46cc206cfd849c48f6bef73ac0f22edc7bf9af910cd765479a58b2193e69e06c658f24ff6180b0face83d56a19f09ae03b2e4a58da7aaa650598dc9b56 +DIST clx-0.7.4.tgz 444490 SHA256 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028 SHA512 07f93735bee25c8a6d8cccaa0755efa0b750954cbeab70d9db69bf51f1cf4eb7918c0225b9ae2834b11ebb261a857eea0f60b70e4044ccbe96ecb32c3ac31278 WHIRLPOOL af49b2dca591fd234c8b790867286383fc4fd32091415cc6c78b904bd7a3bff2e65c923553fe0bad41d83eb91fc74d801925ea9613c31c2f24a484ba0bb699ae +EBUILD clx-0.7.4-r1.ebuild 1271 SHA256 4505b30cda03b2f28d406b9e30c51063f401b42764c9687abb211e5ceab365b1 SHA512 f8b14cf99f8ed0bd357e323930aa35784a77b32c5925eee9bfb6feb4f647f103b6a20a19428a309d68ce3281eeb03b3d2610ded2c994c4aa5e22f5af93d7e883 WHIRLPOOL 8d77b3db19ebc67a57654bc2207f1ec5f4e4215b1bf8e0074709383db9b1332ea7a3c9f66cf8a44b140e469c17a97b734982b59f74c536f3f41d35886099907f +EBUILD clx-9999.ebuild 397 SHA256 18009a63485e58aa7c16d1a4ed9ddeef38966bccd9e9f1b43a26588a6be9a372 SHA512 12617d9b54692da5bb22d3ce6fa78e443249a0b8dd8b2c2a4c4f561c443bb9436773a685df4cd2aac88ac40cbe48a3ff32019978af84452f27cede98b62a802c WHIRLPOOL a7de37d2af63f5df7fb2794e3d4619e35a6617dc81a20766ca6f5076a37c9e8727f1df0602260e8ec94852c110a41dcf357d510877c1ab315d32b45ef1f9ae49 +MISC ChangeLog 2564 SHA256 1f6e258553bb7efa84c3e8388e829f3d345f1f9c73a52e981008a67eb7d98e9d SHA512 d8310549660880d54ec23aaedc5e542af467e69ee4ad1fba3ed8ad690f809a04bbaeb0a2aab908fff1b4df57b92c92719e51b2a6dfebbfe503ae313c54bb145e WHIRLPOOL 74fbd7c4e9506a42bc8ba994f1e9d5f10b2d8433cb5e084d4cb784faaea03d18ca8cfa9359b4459509ce9348f2b1c46a5b6b09d6cb65c247ea89072c7f28cf79 +MISC ChangeLog-2015 742 SHA256 7da852a0df9fc1334b39a5dda5192a0113fa1484595e6197948f39ef30018230 SHA512 341cded7370f81f030aa93437f309f001dc0a193055bf8be59f4ba45ebfaf632dcb7989db85f01a590aa66ddfa6bbd4e7e9877a6a7d8ebccf5b50766942bf09a WHIRLPOOL 9ac51c571281a86a2ec10131d7746d3f424fefc47d6a1a82bd6e355247a7e0fa5416fdbd6fbaabf5367aff52803e1f882d25902d81432b1f848f170012ba9457 +MISC metadata.xml 840 SHA256 5e0ea67a10993770da197b011a2939870e6389032edc03d45f918faefa584619 SHA512 3106a77aee90f41316844316d1c33195f2ea9489f2d45ce6f632d9146a3e820c7c762d9e6fcbb671ad979caa96106435bd2d8f7652b60e75b49b6cbb527d9589 WHIRLPOOL 69f13e8c1cc4550b91cb520ea115ec965ffef104e63c5a25d9a391590d868afe535308453aa4ffaa6c5581108010f6d958ad9dc748c975732d208e8db59f45f0 diff --git a/dev-lisp/clx/clx-0.7.4-r1.ebuild b/dev-lisp/clx/clx-0.7.4-r1.ebuild new file mode 100644 index 000000000000..e229aaf004b9 --- /dev/null +++ b/dev-lisp/clx/clx-0.7.4-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 eutils + +DESCRIPTION="CLX is the Common Lisp interface to the X11 protocol primarily for SBCL." +HOMEPAGE="http://www.cliki.net/CLX" +SRC_URI="http://common-lisp.net/~abridgewater/dist/${PN}/${P}.tgz" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="doc" + +DEPEND="sys-apps/texinfo + doc? ( virtual/texi2dvi )" +RDEPEND="!dev-lisp/cl-${PN}" + +src_prepare() { + rm -v {exclcmac,sockcl,defsystem,provide,cmudep}.lisp || die + eapply "${FILESDIR}"/gentoo-fix-asd.patch + eapply "${FILESDIR}"/gentoo-fix-dep-openmcl.patch + eapply "${FILESDIR}"/gentoo-fix-unused-vars.patch + eapply "${FILESDIR}"/gentoo-fix-obsolete-eval-when.patch + eapply "${FILESDIR}"/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch + eapply_user +} + +src_compile() { + cd manual || die + makeinfo ${PN}.texinfo -o ${PN}.info || die "Cannot compile info docs" + if use doc ; then + VARTEXFONTS="${T}"/fonts \ + texi2pdf ${PN}.texinfo -o ${PN}.pdf || die "Cannot build PDF docs" + fi +} + +src_install() { + common-lisp-install-sources *.lisp debug demo test + common-lisp-install-asdf + dodoc NEWS CHANGES README* + doinfo manual/${PN}.info + use doc && dodoc manual/${PN}.pdf +} diff --git a/dev-lisp/clx/clx-9999.ebuild b/dev-lisp/clx/clx-9999.ebuild new file mode 100644 index 000000000000..58071bea11ca --- /dev/null +++ b/dev-lisp/clx/clx-9999.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 git-r3 + +DESCRIPTION="A fork of crhodes' fork of danb's fork of CLX, an X11 client for Common Lisp" +HOMEPAGE="https://github.com/sharplispers/clx http://www.cliki.net/CLX" +EGIT_REPO_URI="https://github.com/sharplispers/clx.git" + +LICENSE="MIT" +SLOT="0" +IUSE="" diff --git a/dev-lisp/clx/files/gentoo-fix-asd.patch b/dev-lisp/clx/files/gentoo-fix-asd.patch new file mode 100644 index 000000000000..62ad58748170 --- /dev/null +++ b/dev-lisp/clx/files/gentoo-fix-asd.patch @@ -0,0 +1,303 @@ +diff -ur clx-0.7.4.orig/clx.asd clx-0.7.4/clx.asd +--- clx-0.7.4.orig/clx.asd 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/clx.asd 2009-11-29 22:29:11.000000000 +0100 +@@ -21,116 +21,80 @@ + ;;; or implied warranty. + + (defpackage :clx-system (:use :cl :asdf)) +-(in-package :clx-system) ++(in-package :clx-system) + + (pushnew :clx-ansi-common-lisp *features*) + + (defclass clx-source-file (cl-source-file) ()) + (defclass xrender-source-file (clx-source-file) ()) + +-;;; CL-SOURCE-FILE, not CLX-SOURCE-FILE, so that we're not accused of +-;;; cheating by rebinding *DERIVE-FUNCTION-TYPES* :-) +-(defclass example-source-file (cl-source-file) ()) +- +-(defclass legacy-file (static-file) ()) +- +-(defsystem CLX +- :depends-on (#+sbcl sb-bsd-sockets) +- :version "0.7.2" +- :serial t +- :default-component-class clx-source-file ++(defsystem clx ++ :depends-on (#+sbcl :sb-bsd-sockets) ++ :version "0.7.4" ++ :serial t ++ :default-component-class clx-source-file ++ :components ++ ((:file "package") ++ (:file "depdefs") ++ (:file "clx") ++ #-(or openmcl allegro) (:file "dependent") ++ #+openmcl (:file "dep-openmcl") ++ #+allegro (:file "dep-allegro") ++ (:file "macros") ++ (:file "bufmac") ++ (:file "buffer") ++ (:file "display") ++ (:file "gcontext") ++ (:file "input") ++ (:file "requests") ++ (:file "fonts") ++ (:file "graphics") ++ (:file "text") ++ (:file "attributes") ++ (:file "translate") ++ (:file "keysyms") ++ (:file "manager") ++ (:file "image") ++ (:file "resource") ++ #+allegro ++ (:file "excldep" :pathname "excldep.lisp") ++ (:module extensions ++ :pathname #.(make-pathname :directory '(:relative)) + :components +- ((:file "package") +- (:file "depdefs") +- (:file "clx") +- #-(or openmcl allegro) (:file "dependent") +- #+openmcl (:file "dep-openmcl") +- #+allegro (:file "dep-allegro") +- (:file "macros") +- (:file "bufmac") +- (:file "buffer") +- (:file "display") +- (:file "gcontext") +- (:file "input") +- (:file "requests") +- (:file "fonts") +- (:file "graphics") +- (:file "text") +- (:file "attributes") +- (:file "translate") +- (:file "keysyms") +- (:file "manager") +- (:file "image") +- (:file "resource") +- #+allegro +- (:file "excldep" :pathname "excldep.lisp") +- (:module extensions +- :pathname #.(make-pathname :directory '(:relative)) +- :components +- ((:file "shape") +- (:file "big-requests") +- (:file "xvidmode") +- (:xrender-source-file "xrender") +- (:file "glx") +- (:file "gl" :depends-on ("glx")) +- (:file "dpms") +- (:file "xtest") +- (:file "screensaver") +- (:file "xinerama"))) +- (:module demo +- :default-component-class example-source-file +- :components +- ((:file "bezier") +- ;; KLUDGE: this requires "bezier" for proper operation, +- ;; but we don't declare that dependency here, because +- ;; asdf doesn't load example files anyway. +- (:file "beziertest") +- (:file "clclock") +- (:file "clipboard") +- (:file "clx-demos") +- (:file "gl-test") +- ;; FIXME: compiling this generates 30-odd spurious code +- ;; deletion notes. Find out why, and either fix or +- ;; workaround the problem. +- (:file "mandel") +- (:file "menu") +- (:file "zoid"))) +- (:module test +- :default-component-class example-source-file +- :components +- ((:file "image") +- ;; KLUDGE: again, this depends on "zoid" +- (:file "trapezoid"))) +- (:static-file "NEWS") +- (:static-file "CHANGES") +- (:static-file "README") +- (:static-file "README-R5") +- (:legacy-file "exclMakefile") +- (:legacy-file "exclREADME") +- (:legacy-file "exclcmac" :pathname "exclcmac.lisp") +- (:legacy-file "excldepc" :pathname "excldep.c") +- (:legacy-file "sockcl" :pathname "sockcl.lisp") +- (:legacy-file "socket" :pathname "socket.c") +- (:legacy-file "defsystem" :pathname "defsystem.lisp") +- (:legacy-file "provide" :pathname "provide.lisp") +- (:legacy-file "cmudep" :pathname "cmudep.lisp") +- (:module manual +- ;; TODO: teach asdf how to process texinfo files +- :components ((:static-file "clx.texinfo"))) +- (:module debug +- :default-component-class legacy-file +- :components +- ((:file "debug" :pathname "debug.lisp") +- (:file "describe" :pathname "describe.lisp") +- (:file "event-test" :pathname "event-test.lisp") +- (:file "keytrans" :pathname "keytrans.lisp") +- (:file "trace" :pathname "trace.lisp") +- (:file "util" :pathname "util.lisp"))))) +- +-(defmethod perform ((o load-op) (f example-source-file)) +- ;; do nothing. We want to compile them when CLX is compiled, but +- ;; not load them when CLX is loaded. +- t) ++ ((:file "shape") ++ (:file "big-requests") ++ (:file "xvidmode") ++ (:xrender-source-file "xrender") ++ (:file "glx") ++ (:file "gl" :depends-on ("glx")) ++ (:file "dpms") ++ (:file "xtest") ++ (:file "screensaver") ++ (:file "xinerama"))))) ++ ++(defsystem clx-test ++ :depends-on (:clx) ++ :serial t ++ :components ++ ((:file "image") ++ (:file "trapezoid"))) ++ ++(defsystem clx-demo ++ :depends-on (:clx) ++ :serial t ++ :components ++ ((:file "bezier") ++ (:file "beziertest") ++ (:file "clclock") ++ (:file "clipboard") ++ (:file "clx-demos") ++ (:file "gl-test") ++ ;; FIXME: compiling this generates 30-odd spurious code ++ ;; deletion notes. Find out why, and either fix or ++ ;; workaround the problem. ++ (:file "mandel") ++ (:file "menu") ++ (:file "zoid"))) + + #+sbcl + (defmethod perform :around ((o compile-op) (f xrender-source-file)) +@@ -146,35 +110,35 @@ + ;; without STYLE-WARNINGs. Since it currently does, let's enforce + ;; it here so that we can catch regressions easily. + (let ((on-warnings (operation-on-warnings o)) +- (on-failure (operation-on-failure o))) ++ (on-failure (operation-on-failure o))) + (unwind-protect +- (progn +- (setf (operation-on-warnings o) :error +- (operation-on-failure o) :error) +- ;; a variety of accessors, such as AREF-CARD32, are not +- ;; declared INLINE. Without this (non-ANSI) +- ;; static-type-inference behaviour, SBCL emits an extra 100 +- ;; optimization notes (roughly one fifth of all of the +- ;; notes emitted). Since the internals are unlikely to +- ;; change much, and certainly the internals should stay in +- ;; sync, enabling this extension is a win. (Note that the +- ;; use of this does not imply that applications using CLX +- ;; calls that expand into calls to these accessors will be +- ;; optimized in the same way). +- (let ((sb-ext:*derive-function-types* t) ++ (progn ++ (setf (operation-on-warnings o) :error ++ (operation-on-failure o) :error) ++ ;; a variety of accessors, such as AREF-CARD32, are not ++ ;; declared INLINE. Without this (non-ANSI) ++ ;; static-type-inference behaviour, SBCL emits an extra 100 ++ ;; optimization notes (roughly one fifth of all of the ++ ;; notes emitted). Since the internals are unlikely to ++ ;; change much, and certainly the internals should stay in ++ ;; sync, enabling this extension is a win. (Note that the ++ ;; use of this does not imply that applications using CLX ++ ;; calls that expand into calls to these accessors will be ++ ;; optimized in the same way). ++ (let ((sb-ext:*derive-function-types* t) + (sadx (find-symbol "STACK-ALLOCATE-DYNAMIC-EXTENT" :sb-c)) + (sadx-var (find-symbol "*STACK-ALLOCATE-DYNAMIC-EXTENT*" :sb-ext))) +- ;; deeply unportable stuff, this. I will be shot. We +- ;; want to enable the dynamic-extent declarations in CLX. +- (when (and sadx (sb-c::policy-quality-name-p sadx)) +- ;; no way of setting it back short of yet more yukky stuff +- (proclaim `(optimize (,sadx 3)))) ++ ;; deeply unportable stuff, this. I will be shot. We ++ ;; want to enable the dynamic-extent declarations in CLX. ++ (when (and sadx (sb-c::policy-quality-name-p sadx)) ++ ;; no way of setting it back short of yet more yukky stuff ++ (proclaim `(optimize (,sadx 3)))) + (if sadx-var + (progv (list sadx-var) (list t) + (call-next-method)) + (call-next-method)))) + (setf (operation-on-warnings o) on-warnings +- (operation-on-failure o) on-failure)))) ++ (operation-on-failure o) on-failure)))) + + #+sbcl + (defmethod perform :around (o (f clx-source-file)) +@@ -186,31 +150,31 @@ + ;; structured data is sufficiently equal. + (handler-bind + ((sb-ext:defconstant-uneql +- (lambda (c) +- ;; KLUDGE: this really means "don't warn me about +- ;; efficiency of generic array access, please" +- (declare (optimize (sb-ext:inhibit-warnings 3))) +- (let ((old (sb-ext:defconstant-uneql-old-value c)) +- (new (sb-ext:defconstant-uneql-new-value c))) +- (typecase old +- (list (when (equal old new) (abort c))) +- (string (when (and (typep new 'string) +- (string= old new)) +- (abort c))) +- (simple-vector +- (when (and (typep new 'simple-vector) +- (= (length old) (length new)) +- (every #'eql old new)) +- (abort c))) +- (array +- (when (and (typep new 'array) +- (equal (array-dimensions old) +- (array-dimensions new)) +- (equal (array-element-type old) +- (array-element-type new)) +- (dotimes (i (array-total-size old) t) +- (unless (eql (row-major-aref old i) +- (row-major-aref new i)) +- (return nil)))) +- (abort c)))))))) ++ (lambda (c) ++ ;; KLUDGE: this really means "don't warn me about ++ ;; efficiency of generic array access, please" ++ (declare (optimize (sb-ext:inhibit-warnings 3))) ++ (let ((old (sb-ext:defconstant-uneql-old-value c)) ++ (new (sb-ext:defconstant-uneql-new-value c))) ++ (typecase old ++ (list (when (equal old new) (abort c))) ++ (string (when (and (typep new 'string) ++ (string= old new)) ++ (abort c))) ++ (simple-vector ++ (when (and (typep new 'simple-vector) ++ (= (length old) (length new)) ++ (every #'eql old new)) ++ (abort c))) ++ (array ++ (when (and (typep new 'array) ++ (equal (array-dimensions old) ++ (array-dimensions new)) ++ (equal (array-element-type old) ++ (array-element-type new)) ++ (dotimes (i (array-total-size old) t) ++ (unless (eql (row-major-aref old i) ++ (row-major-aref new i)) ++ (return nil)))) ++ (abort c)))))))) + (call-next-method))) diff --git a/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch b/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch new file mode 100644 index 000000000000..1ec3eca0897c --- /dev/null +++ b/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch @@ -0,0 +1,21 @@ +diff -ur clx-0.7.4.orig/dep-openmcl.lisp clx-0.7.4/dep-openmcl.lisp +--- clx-0.7.4.orig/dep-openmcl.lisp 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/dep-openmcl.lisp 2009-11-29 22:39:36.000000000 +0100 +@@ -492,7 +492,7 @@ + ;;; value changes. + + (defun process-block (whostate predicate &rest predicate-args) +- (declare (dynamic-extern predicate-args)) ++ (declare (dynamic-extent predicate-args)) + (apply #'ccl:process-wait whostate predicate predicate-args)) + + ;;; PROCESS-WAKEUP: Check some other process' wait function. +@@ -1113,7 +1113,7 @@ + unit byte-lsb-first-p bit-lsb-first-p) + (declare (ignore bbuf boffset pixarray x y width height + padded-bytes-per-line bits-per-pixel unit +- byte-lsb-first-p bit-lsp-first-p)) ++ byte-lsb-first-p bit-lsb-first-p)) + nil) + + ;;; FAST-COPY-PIXARRAY - copy part of a pixarray into another diff --git a/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch b/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch new file mode 100644 index 000000000000..961d1bedaa67 --- /dev/null +++ b/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch @@ -0,0 +1,13 @@ +diff -ur clx-0.7.4.orig/requests.lisp clx-0.7.4/requests.lisp +--- clx-0.7.4.orig/requests.lisp 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/requests.lisp 2010-12-16 23:37:07.122629835 +0100 +@@ -466,8 +466,7 @@ + (type event-key event-key) + (type (or null event-mask) event-mask) + (type generalized-boolean propagate-p) +- (type (or null display) display) +- (dynamic-extent args)) ++ (type (or null display) display)) + (unless event-mask (setq event-mask 0)) + (unless display (setq display (window-display window))) + (let ((internal-event-code (get-event-code event-key)) diff --git a/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch b/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch new file mode 100644 index 000000000000..e1df016b4a56 --- /dev/null +++ b/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch @@ -0,0 +1,12 @@ +diff -ur clx-0.7.4.orig/depdefs.lisp clx-0.7.4/depdefs.lisp +--- clx-0.7.4.orig/depdefs.lisp 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/depdefs.lisp 2009-11-29 22:56:38.000000000 +0100 +@@ -142,7 +142,7 @@ + ;;; overlapping array and image code. + + #+(or lispm vax little-endian Minima) +-(eval-when (eval compile load) ++(eval-when (:compile-toplevel :load-toplevel :execute) + (pushnew :clx-little-endian *features*)) + + #+lcl3.0 diff --git a/dev-lisp/clx/files/gentoo-fix-unused-vars.patch b/dev-lisp/clx/files/gentoo-fix-unused-vars.patch new file mode 100644 index 000000000000..96dc255ffbf4 --- /dev/null +++ b/dev-lisp/clx/files/gentoo-fix-unused-vars.patch @@ -0,0 +1,69 @@ +diff -ur clx-0.7.4.orig/gl.lisp clx-0.7.4/gl.lisp +--- clx-0.7.4.orig/gl.lisp 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/gl.lisp 2009-11-29 22:46:37.000000000 +0100 +@@ -2274,7 +2274,7 @@ + (let ((constant 0) + (calculated ())) + (loop +- for (name type length length-var) in argspecs ++ for (nil type length length-var) in argspecs + do (let ((byte-width (byte-width type))) + (typecase length + (number (incf constant (* byte-width length))) +@@ -2287,7 +2287,7 @@ + + (defun composite-args (argspecs) + (loop +- for (name type length length-var) in argspecs ++ for (nil nil length length-var) in argspecs + when (consp length) + collect (list length-var length))) + +diff -ur clx-0.7.4.orig/xrender.lisp clx-0.7.4/xrender.lisp +--- clx-0.7.4.orig/xrender.lisp 2009-11-28 16:43:30.000000000 +0100 ++++ clx-0.7.4/xrender.lisp 2009-11-29 22:50:42.000000000 +0100 +@@ -408,7 +408,7 @@ + + (macrolet ((foo (&rest specs) + `(progn +- ,@(loop for (type slot default) in specs ++ ,@(loop for (nil slot nil) in specs + for index from 0 + collect + `(progn +@@ -426,7 +426,7 @@ + (data +X-RenderChangePicture+) + (picture picture) + (mask +- ,@(loop for (type slot default) in specs ++ ,@(loop for (type slot nil) in specs + for index from 0 + collect + `(,type (and +@@ -454,7 +454,7 @@ + (drawable + &key format + (picture (make-picture :display (drawable-display drawable))) +- ,@(loop for (type slot default-value) in specs ++ ,@(loop for (nil slot nil) in specs + collect (cond ((eql slot 'clip-mask) + `(clip-mask :none)) + (t +@@ -475,7 +475,7 @@ + (drawable drawable) + (picture-format format) + (mask +- ,@(loop for (type slot default) in specs ++ ,@(loop for (type slot nil) in specs + collect + (cond ((eql slot 'clip-mask) + (list type `(and +@@ -487,7 +487,7 @@ + (%render-change-picture-clip-rectangles picture clip-mask)) + (setf (picture-format picture) format) + (setf (picture-%server-values picture) +- (vector ,@(loop for (type slot default) in specs ++ (vector ,@(loop for (nil slot default) in specs + collect + `(or ,slot ,default)))) + (setf (picture-%values picture) (copy-seq (picture-%server-values picture))) diff --git a/dev-lisp/clx/metadata.xml b/dev-lisp/clx/metadata.xml new file mode 100644 index 000000000000..47c41000f413 --- /dev/null +++ b/dev-lisp/clx/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription lang="en"> + CLX provides an implementation of the X Window System protocol to + Lisp graphics library[ies] and applications. It is the Common Lisp + equivalent of Xlib. + </longdescription> + <longdescription lang="es"> + CLX ofrece una implementación del protocolo del sistema X Window + a las librerías y aplicaciones gráficas escritas en Lisp. Es el + equivamente en Common Lisp a Xlib. + </longdescription> + <use> + <flag name="doc">Builds documentation</flag> + </use> + <upstream> + <remote-id type="github">sharplispers/clx</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/cmucl/Manifest b/dev-lisp/cmucl/Manifest new file mode 100644 index 000000000000..d113e293958c --- /dev/null +++ b/dev-lisp/cmucl/Manifest @@ -0,0 +1,16 @@ +AUX 20e-customize-lisp-implementation-version.patch 683 SHA256 81c421f80c06c567d2ae0812c8e0e66ad86631662adfd8891ae36152328eae63 SHA512 77acf6d31d8a932075b61e90b42b2c74648ad29ef3cf2f98e69a44f957672a935ea88a541815c19bf71ba5e64c587d27878288038178a7ad3d96144a26b1bb2b WHIRLPOOL 54cbca06348c4a0b4d8efe7b502e3834102640aa3cf9a0817a39a2d9dfac5e1234ff22260c9cd29864acd1a7bdf156b64f9feb2e87fad9205ce7164c697e5ab9 +AUX 20e-execstack-fixes.patch 3990 SHA256 f507d48eef3ae55e9f38ef96964d2179a3a328837420e866be4509c5fdde9131 SHA512 bb32dfffa6b737af8be924f194112863b64010b00b30caf92c023a16ac1d2884f51ee724b57cdeb2786f10aad6bd0054a835c94f03b911eca4648c2e5927ce3b WHIRLPOOL aaf48fbbb369e7742e06a3bfb79d887e916e892d66a185edbffc23774d1e8c0f73d76fe784d2f36080e7e6fe9d5cd8fdd8c5b6c22b0143db6a10da2a642724f0 +AUX 21a-build.patch 733 SHA256 8419730a89d53667c5af920f976a3ef6187879d0c342c005fb10142abf1ff011 SHA512 ca84e1e54ddbd0aa9e5e68da02be3d97c0746477f1dc3680503879cbfd3b875b23c2b96b77cf07c786de22f6a05d83afc7b267a1f30cfea4320f1c29c40bb1ef WHIRLPOOL 22935f7a0426dc5baa1add17e6834b126a657636e544292ec6e8040ab5b0a176522d4315fd32ba82c73270b47a2d013b266fa008a93a328c16b54ec157697a8b +AUX 21a-customize-lisp-implementation-version.patch 683 SHA256 81c421f80c06c567d2ae0812c8e0e66ad86631662adfd8891ae36152328eae63 SHA512 77acf6d31d8a932075b61e90b42b2c74648ad29ef3cf2f98e69a44f957672a935ea88a541815c19bf71ba5e64c587d27878288038178a7ad3d96144a26b1bb2b WHIRLPOOL 54cbca06348c4a0b4d8efe7b502e3834102640aa3cf9a0817a39a2d9dfac5e1234ff22260c9cd29864acd1a7bdf156b64f9feb2e87fad9205ce7164c697e5ab9 +AUX 21a-execstack-fixes.patch 3990 SHA256 f507d48eef3ae55e9f38ef96964d2179a3a328837420e866be4509c5fdde9131 SHA512 bb32dfffa6b737af8be924f194112863b64010b00b30caf92c023a16ac1d2884f51ee724b57cdeb2786f10aad6bd0054a835c94f03b911eca4648c2e5927ce3b WHIRLPOOL aaf48fbbb369e7742e06a3bfb79d887e916e892d66a185edbffc23774d1e8c0f73d76fe784d2f36080e7e6fe9d5cd8fdd8c5b6c22b0143db6a10da2a642724f0 +AUX cmuclrc 305 SHA256 4f1f050f8dcbf261c9ee33075d5546a43fd14f7f0cd0ad486b175081bd4b27d2 SHA512 36ae348795f27a7aae2e1cf10376606b9a6898b4c4f0e6da692b3e60bed21e2825ac766a51fb648f1365b238046efd155e80d70421ff65ecffe5b68342895740 WHIRLPOOL ffeea73a1a69dfd43a3d4cc86e8e6b63f447fec0c6fd6f6f80ae2b6feee2bb1683b67f18b7364a311bfbac9056c73cf3813e455a1eb459884bda0794daff57be +AUX site-init.lisp.in 1839 SHA256 6164e40b50a0a0e7175089f0b55d549b8f24ef602c1c0c41f9433f5c61c512e7 SHA512 374e5acf970b1bd26d2318b678cba509296f2356a4672648f8522387c216288e8f43b514004b0d0c98da5d03a5db10435d5f42f57db88c916691eb4ae93f126a WHIRLPOOL 4c4fb508d7546dea9d75dcff3239c56f8c3b3ed249f3f7fd71f9a2a60dbafc57f0b172d2cd2c6efdca5441e8c30ee3f49c829b3db64bf9ab9db5d4526726f8cc +DIST cmucl-20e-x86-linux.tar.bz2 18861880 SHA256 94dc1c0ddcaa915f83cdc23462a4cc3c4af98d64fe42e79d7c5232225b149480 SHA512 1eee852b2a11733d0fac2c046137ccd099370bf208be71becc03710e832510b288768f557e326b1ce95cba16490413142e607fd71346e20e5f8592b51d86b0fe WHIRLPOOL 765476aeb037b782380b33fb8e7ae137bb38544547b427c54c23661122552108e8940413c55003c31ba05b4729bb18f99f5b462742cbd9c1c7426f0c04e26863 +DIST cmucl-21a-x86-linux.tar.bz2 10870693 SHA256 02d00c025723e7a2fa7a44e43d3f27ec39c9b871ea0332e472a439ada2620d71 SHA512 7f7d327e47b01dcee1cbb05aae826ef7c64d4d192d7d32d1aba51c8839a06d65942fff5d4c7dbccc955e1e233d2065d83d078266327caee07201e9dce59c39ee WHIRLPOOL 50e64b6d03464c9fc7015d3d6829949ab4bc41f69b890a82f36096f89d63da989197deaa7164c687d781b70ca2a7b23e3e23f9605bdb986f5a94553e9aa664c0 +DIST cmucl-src-20e.tar.bz2 6147575 SHA256 b18fd27b67321a0c00f2019bbb18557f239062ba947080149ed42e30f72ae7cd SHA512 d04f6ac7335572198d37d5df00934edfc82495294446cc5420dada4f2df44009f0983b438d6f10ce5bb02e46fd89df985da5eee3e91a6a75d98e9f86240c0dcc WHIRLPOOL babb020bacf474e1cea4bc865ba7352686ff5d92d01dd4d44d121b101ac328da6cd3e63798a2086ce29ba260fdbefc26f5f7d496ecb0af9566cb1cbdbb3846bf +DIST cmucl-src-21a.tar.bz2 8195492 SHA256 41604a4f828a134dbf8a58623f45bd81b76ae05fc5c4cea5ccb74edfdc9e3167 SHA512 74b077732030dbc3681aadcf9c802fd5b399362c9653b972063e49eb0a2ad528d02d6dde74107210c94c94dc7e9664472c2d072a6ae6f75e7e8c4cf847987e3b WHIRLPOOL 8799e9a2171ef1a9eebce4deaed8aaaa3e2b5e0970ca158020792cc5d864f71525c175b2e9530f8faeee8d1c49a14b04803ed1aa83dc1247c2005a80f5fc972e +EBUILD cmucl-20e.ebuild 2752 SHA256 7c67b0ce565598c3e7022716e20e4dc8140dc8e9e761c0635f58594f42ca7cc5 SHA512 0034c000d0001a3820efa94613c7f4eb2be373a251b0c4de1b1d9e8f4a469f407af9ad6b65fc39cba7b3332b7492b8dc46dee9d74ad59d0b9d930fd9e0dedcf1 WHIRLPOOL d26c7699c0ee7c47b1e7f3e770b3588832dd374ee08cc9d2b19c790663e0d5bbbda377c364e1bcf054c6e3d10e291f11ecf2accd2e1bb2bf22936c53fa057f6a +EBUILD cmucl-21a.ebuild 2619 SHA256 db854d781fcb8307218818abfe8a3c80a6d42e95d15915b4c4071e26c4a781b1 SHA512 aca74badee7e617d1a0571bbfd45fea92896579eb956c022d985de3c93e1deecef4d5fe798fefc801dd49fef7a917b913f11caaeba9d886562780b0324381978 WHIRLPOOL 34ea7d86e08e6ad355330f0bd3bf8985512563f4e29bf95f83ea2a167f3013db456c505c7ef765ac0338f5cbd3de3d3797de1758a08deabeac7167f6d17b4d02 +MISC ChangeLog 3210 SHA256 cfd180b3a8c09af353ef732012cc82853cefd7b4ab1927f2860c1e41b07f5cb2 SHA512 b4081d3230b6929b55b5b9f7f5f62b6f3fd6797fc93e383044b4c80761cd464b701415083ca97cdd4f04c983723a14e1fc00155124d2028cb981c02938282d5a WHIRLPOOL 7348174d72b3d45d9fac92bd7e622b1a2cf52de7f51c4eaa92f2fd1a96674f8215b8bf8d35f8a833bf2185de8ead88aeff0a1cd2b2ee0d9ec2617a47cb0d439e +MISC ChangeLog-2015 9649 SHA256 e2f6854b56e0105ae2568af26afad66e24da17f63b9f8ce32afe7d48492f5f65 SHA512 7d6110ec6df9946b48555c9f4d278b74134385cfd73fbdfec6cf2aa3382d23d1a8e25ba4372740c5ac84f9497d5399eac28684ebd376ef1d86a4b65bb319c098 WHIRLPOOL dfbcbebc84b730499fe427060339298ff2b72362ac700e5419c6ba777cf9c412a1fac655299e4b6a13d3a5aefad9224ba2cdcf269925412375b0d0eb3f40837a +MISC metadata.xml 1389 SHA256 39e867e3024a9e39c8c402164513d4cd2096a20f38f973a48d420ca1765f89f5 SHA512 5c6ded0a26b6f1a5705d122f0c2e463f61aa673c5a302cd4676418e12216ca0f3cde81b3ebc0848d879caeae87ca786e01c2f2d61b6f89fedd564d2c739a5fb0 WHIRLPOOL cfffa4f45238d699db3ab3f7932fd7653bf2d9d3004ed00ed49db6b71b3355ae83afb412bc2daef15da06ead2232a4a63e6bb1314d2167f2777395de267639d3 diff --git a/dev-lisp/cmucl/cmucl-20e.ebuild b/dev-lisp/cmucl/cmucl-20e.ebuild new file mode 100644 index 000000000000..9e122b9a2c9f --- /dev/null +++ b/dev-lisp/cmucl/cmucl-20e.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils toolchain-funcs multilib + +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 cpu_flags_x86_sse2" + +CDEPEND=">=dev-lisp/asdf-2.33-r3:= + x11-libs/motif:0" +DEPEND="${CDEPEND} + sys-devel/bc" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}" + +TARGET=linux-4 + +src_prepare() { + epatch "${FILESDIR}"/${MY_PV}-execstack-fixes.patch + epatch "${FILESDIR}"/${MY_PV}-customize-lisp-implementation-version.patch + + cp /usr/share/common-lisp/source/asdf/build/asdf.lisp src/contrib/asdf/ || die +} + +src_compile() { + local cmufpu cmuopts + + if use cpu_flags_x86_sse2; then + cmufpu=sse2 + else + cmufpu=x87 + fi + + if use X; then + cmuopts="-f ${cmufpu}" + else + cmuopts="-u -f ${cmufpu}" + fi + + local buildimage="bin/lisp -core lib/cmucl/lib/lisp-${cmufpu}.core -noinit -nositeinit -batch" + + env CC="$(tc-getCC)" bin/build.sh -v "-gentoo-${PR}" -C "" -o "${buildimage}" ${cmuopts} || die "Cannot build the compiler" + + # Compile up the asdf and defsystem modules + ${TARGET}/lisp/lisp -noinit -nositeinit -batch << EOF || die +(in-package :cl-user) +(setf (ext:search-list "target:") + '("$TARGET/" "src/")) +(setf (ext:search-list "modules:") + '("target:contrib/")) + +(compile-file "modules:asdf/asdf") +(compile-file "modules:defsystem/defsystem") +EOF +} + +src_install() { + env MANDIR=share/man/man1 DOCDIR=share/doc/${PF} \ + bin/make-dist.sh -S -g -G root -O root ${TARGET} ${MY_PV} x86 linux \ + || die "Cannot build installation archive" + # Necessary otherwise tar will fail + dodir /usr + pushd "${D}"/usr > /dev/null + 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 > /dev/null + + # 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/common-lisp + doins "${FILESDIR}"/cmuclrc || die "Failed to install cmuclrc" +} diff --git a/dev-lisp/cmucl/cmucl-21a.ebuild b/dev-lisp/cmucl/cmucl-21a.ebuild new file mode 100644 index 000000000000..f3f9b830b735 --- /dev/null +++ b/dev-lisp/cmucl/cmucl-21a.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils toolchain-funcs multilib + +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" + +CDEPEND=">=dev-lisp/asdf-2.33-r3:= + x11-libs/motif:0" +DEPEND="${CDEPEND} + sys-devel/bc" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}" + +TARGET=linux-4 + +src_prepare() { + epatch "${FILESDIR}"/${MY_PV}-execstack-fixes.patch + epatch "${FILESDIR}"/${MY_PV}-customize-lisp-implementation-version.patch + epatch "${FILESDIR}"/${MY_PV}-build.patch + + cp /usr/share/common-lisp/source/asdf/build/asdf.lisp src/contrib/asdf/ || die +} + +src_compile() { + local cmuopts buildimage + + if use X; then + cmuopts="" + else + cmuopts="-u" + fi + + buildimage="bin/lisp -batch" + + env CC="$(tc-getCC)" bin/build.sh -v "-gentoo-${PR}" -C "" -o "${buildimage}" ${cmuopts} || die "Cannot build the compiler" + + # Compile up the asdf and defsystem modules + ${TARGET}/lisp/lisp -noinit -nositeinit -batch << EOF || die +(in-package :cl-user) +(setf (ext:search-list "target:") + '("$TARGET/" "src/")) +(setf (ext:search-list "modules:") + '("target:contrib/")) + +(compile-file "modules:asdf/asdf") +(compile-file "modules:defsystem/defsystem") +EOF +} + +src_install() { + env MANDIR=share/man/man1 DOCDIR=share/doc/${PF} \ + bin/make-dist.sh -S -g -G root -O root ${TARGET} ${MY_PV} x86 linux \ + || die "Cannot build installation archive" + # Necessary otherwise tar will fail + dodir /usr + pushd "${D}"/usr > /dev/null + 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 > /dev/null + + # 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/common-lisp + doins "${FILESDIR}"/cmuclrc || die "Failed to install cmuclrc" +} diff --git a/dev-lisp/cmucl/files/20e-customize-lisp-implementation-version.patch b/dev-lisp/cmucl/files/20e-customize-lisp-implementation-version.patch new file mode 100644 index 000000000000..8fc9278af87d --- /dev/null +++ b/dev-lisp/cmucl/files/20e-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 2011-10-25 05:31:39.000000000 +0200 ++++ cmucl/src/code/misc.lisp 2012-01-31 21:46:49.441273068 +0100 +@@ -187,8 +187,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 _" 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/20e-execstack-fixes.patch b/dev-lisp/cmucl/files/20e-execstack-fixes.patch new file mode 100644 index 000000000000..034848d64a26 --- /dev/null +++ b/dev-lisp/cmucl/files/20e-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/21a-build.patch b/dev-lisp/cmucl/files/21a-build.patch new file mode 100644 index 000000000000..464234109b32 --- /dev/null +++ b/dev-lisp/cmucl/files/21a-build.patch @@ -0,0 +1,22 @@ +diff -r -U2 21a.orig/bin/build.sh 21a/bin/build.sh +--- 21a.orig/bin/build.sh 2015-05-19 07:42:40.000000000 +0600 ++++ 21a/bin/build.sh 2016-04-03 20:54:08.597016537 +0600 +@@ -40,5 +40,5 @@ + ENABLE4="yes" + +-version=20f ++version=21a + SRCDIR=src + BINDIR=bin +@@ -145,10 +145,9 @@ + $TOOLDIR/load-world.sh $TARGET "$VERSION" || { echo "Failed: $TOOLDIR/load-world.sh"; exit 1; } + +- $TARGET/lisp/lisp -batch -noinit -nositeinit $FPU_MODE < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; } ++ $TARGET/lisp/lisp -batch -noinit -nositeinit < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit"; exit 1; } + return 0; + fi + } + +-FPU_MODE= + BUILDWORLD="$TOOLDIR/build-world.sh" + BUILD_POT="yes" diff --git a/dev-lisp/cmucl/files/21a-customize-lisp-implementation-version.patch b/dev-lisp/cmucl/files/21a-customize-lisp-implementation-version.patch new file mode 100644 index 000000000000..8fc9278af87d --- /dev/null +++ b/dev-lisp/cmucl/files/21a-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 2011-10-25 05:31:39.000000000 +0200 ++++ cmucl/src/code/misc.lisp 2012-01-31 21:46:49.441273068 +0100 +@@ -187,8 +187,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 _" 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/21a-execstack-fixes.patch b/dev-lisp/cmucl/files/21a-execstack-fixes.patch new file mode 100644 index 000000000000..034848d64a26 --- /dev/null +++ b/dev-lisp/cmucl/files/21a-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/cmuclrc b/dev-lisp/cmucl/files/cmuclrc new file mode 100644 index 000000000000..e663e92af87a --- /dev/null +++ b/dev-lisp/cmucl/files/cmuclrc @@ -0,0 +1,9 @@ +;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*- +;;; + +(in-package :common-lisp-user) + +(if (probe-file "/etc/gentoo-init.lisp") + (load "/etc/gentoo-init.lisp") + (format t "~%;;; Warning: There is no /etc/gentoo-init.lisp file ~ +\(which should be provided by dev-lisp/gentoo-init")) diff --git a/dev-lisp/cmucl/files/site-init.lisp.in b/dev-lisp/cmucl/files/site-init.lisp.in new file mode 100644 index 000000000000..1b232166c889 --- /dev/null +++ b/dev-lisp/cmucl/files/site-init.lisp.in @@ -0,0 +1,56 @@ +;;; -*- Mode: Lisp; Package: System -*- +;;; +;;; ********************************************************************** +;;; This code was written as part of the CMU Common Lisp project at +;;; Carnegie Mellon University, and has been placed in the public domain. +;;; + +;;; Heavy modifications by Peter Van Eynde + +;;; More modifications for Gentoo by Matthew Kennedy +;;; <mkennedy@gentoo.org> + +(in-package "SYSTEM") + +(if (probe-file "/etc/cmuclrc") + (load "/etc/cmuclrc") + (format t "~%;;; Warning: There is no /etc/cmuclrc file (which should have been created during emerge")) + +;;; If you have sources installed on your system, un-comment the following form +;;; and change it to point to the source location. This will allow the Hemlock +;;; "Edit Definition" command and the debugger to find sources for functions in +;;; the core. +(when (probe-file #p"/usr/share/common-lisp/source/cmucl/") + (setf (ext:search-list "target:") + '( + "/usr/share/common-lisp/source/cmucl/" ; object dir + ))) + +;;; (setf (ext:search-list "library:") '("/usr/lib/cmucl/lib/")) +;;; for safety... + +;;; Put your site name here... +(setq *short-site-name* "Unknown") +(setq *long-site-name* "Site name not initialized") + +(in-package :common-lisp-user) + +;;; newbie functions, delete if you don't like them + +(defun help () + (format t "~ +Welcome to the Gentoo GNU/Linux port of CMUCL. + +The CMUCL REPL does not have GNU Readline-like support, however +you may wish to install rlwap (see: app-misc/rlwrap) to achieve +the same effect. + +If you think you found a bug, please use http://bugs.gentoo.org/ + +Read the documentation in /usr/share/doc/@PF@. + +\(quit) exit Lisp +\(describe 'foo) gives information about foo +\(inspect '*foo*) interactively inspects *foo* +\(apropos \"foo\") briefly describe all symbols which match \"foo\" +")) diff --git a/dev-lisp/cmucl/metadata.xml b/dev-lisp/cmucl/metadata.xml new file mode 100644 index 000000000000..005eddefa58d --- /dev/null +++ b/dev-lisp/cmucl/metadata.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> +<email>grozin@gentoo.org</email> +<name>Andrey Grozin</name> +</maintainer> +<maintainer type="project"> +<email>common-lisp@gentoo.org</email> +<name>Gentoo Common Lisp Project</name> +</maintainer> +<longdescription> +CMUCL is a free implementation of the Common Lisp programming language +which runs on most major Unix platforms. It mainly conforms to the +ANSI Common Lisp standard. Here is a summary of its main features: + + * a sophisticated native-code compiler which is capable of powerful + type inferences, and generates code competitive in speed with C + compilers. + + * generational garbage collection and multiprocessing capability on + the x86 ports. + + * a foreign function interface which allows interfacing with C code + and system libraries, including shared libraries on most platforms, + and direct access to Unix system calls. + + * support for interprocess communication and remote procedure calls. + + * an implementation of CLOS, the Common Lisp Object System, which + includes multimethods and a metaobject protocol. + + * a graphical source-level debugger using a Motif interface, and a + code profiler. +</longdescription> +<use> +<flag name="source">Include source code for CMUCL in installation</flag> +</use> +</pkgmetadata> diff --git a/dev-lisp/common-lisp-controller/Manifest b/dev-lisp/common-lisp-controller/Manifest new file mode 100644 index 000000000000..ff9d68c94b25 --- /dev/null +++ b/dev-lisp/common-lisp-controller/Manifest @@ -0,0 +1,10 @@ +AUX 4.27/lisp-config.lisp 32 SHA256 11e20d2fb562054a919113705e682e86c4967b8e33aaaa78d4b6ef39ee4ab527 SHA512 a5847d7d2d8fc385dea530d212de9f87db5a87774be57aa2f9fa0e32a2b53c77dd069afca1baba5b94265a64fb1b53163ad51653175a39d2546cdc1ba666b883 WHIRLPOOL c04cb5d72a0c6c59b4348b0c1a6a35c359d61e83596f93ab5d3fc29b7ce6819643a1e7df65ee661767dffba61f14e971e6084d34a9640e7ef0e9fafe84ee421b +AUX 5.13/lisp-config.lisp 32 SHA256 11e20d2fb562054a919113705e682e86c4967b8e33aaaa78d4b6ef39ee4ab527 SHA512 a5847d7d2d8fc385dea530d212de9f87db5a87774be57aa2f9fa0e32a2b53c77dd069afca1baba5b94265a64fb1b53163ad51653175a39d2546cdc1ba666b883 WHIRLPOOL c04cb5d72a0c6c59b4348b0c1a6a35c359d61e83596f93ab5d3fc29b7ce6819643a1e7df65ee661767dffba61f14e971e6084d34a9640e7ef0e9fafe84ee421b +AUX README.Gentoo 989 SHA256 603a4f938f88be364775a5ae9b72dac3d291a5077038a69d29a64b0b2d08c802 SHA512 f3ba1358242e6308f1df25d0480c0524e0dda9b154c329fb897c7b03c39048800f8d4b4e5692a1aececc0508414bfa999cccae0066468d11fac9e8a6a1d7bfbe WHIRLPOOL d1562bfb23e1fc2de89329201dd3afa5436d1570bfad5d9f6df58c1b3bfc093217509e32a8de16507a362f1bb7391b73338ee274b42d9460f57dda5414ab5124 +DIST common-lisp-controller_4.27.tar.gz 27636 SHA256 e4576c018e136ae34dfaf163cd20c3fc000b4a7ac716a53bde6268700a515082 SHA512 afba310bf525fb40f98a6bd67747647d105080667a3ebef883e19ffc60186bdfc7b937c2efe7535e3daa08503d8079d69453264fe8124f1b9a4a55e6303fe1b3 WHIRLPOOL d30ec6261cadd4235bebbc9d87493cb7a8ffb76027f3913f07af2ee0a047881b253e6816ad1309ff407462d37e4b804ba5470cee1888339e10668b18d0a79204 +DIST common-lisp-controller_5.13.tar.gz 30846 SHA256 ec2e9c6fa566b2d5f18d2823e48e54834392ca8c76e677047f03d5d940e40249 SHA512 11a6e2b7a3ca6846c8b88ee3808ae4e01c269dce8eb4293e57bf061a6c74786fe8bdff0f11c3db5c8ac60e3ba7a1e74222f9ab1418da114b6ece2fa6f23464e2 WHIRLPOOL 2211168a7cf0198cec689caf3fd07dc2a1d536bbb1005287abae9e8d1e135754a38980aef220696e175805aa64a8d5dd8b8a874c7bd9b76029bac62cf175357e +EBUILD common-lisp-controller-4.27.ebuild 2639 SHA256 62f2435514bf8481f91097463c9ad025cc243e88cc3917591bce80f3046c57fb SHA512 ed86fe9ae84f2c2b10d416826d95b40d009c9968a3b394b59e75b5e23df1d2316d8406de9fc3b5ba3da6fdc4ac35e34a59d587d32c69e8de1238fdbda105370b WHIRLPOOL cf0d0dbab39ef51cde6d2532a3e1c0297bb854883466ba8f0fdb0dc1a9f9d4e749ffa46301dd6cfdcf9cfa1efa62b0671aaffca47f861a59dea039a41f5de629 +EBUILD common-lisp-controller-5.13-r1.ebuild 2742 SHA256 13145b5bbacbef84c5944290b41ce1cccbd6eaa1b2c715eed071db56cc0e3394 SHA512 7eec94f1f8f286f6dd5fa22953f069cb841c11e52efd6a0454db72635d87d7ea2a8bc41cd93b0081db7b3a0147cf766f4421fc0e7436d479c7af02c17991df6e WHIRLPOOL ce821f71d511093d524d77bbda8a6e514af52cd77ee509709846b02447a6826d60fc226b1c1f6a75dd74ddcb10a849602efd8a073fd0744bcd00b53a91bbc9c3 +MISC ChangeLog 2642 SHA256 57f91935cf055868a1cbc5dcb01f699f49519b784f3e0450b8f3fdbd390e5dd8 SHA512 a86d68817b9fd2608caeda90fd8c8b6942d2d90b1c005873017730015ada711bf1fb84ba8ffebf78f28ff654589ef7d7a45db8ef7978b7cc6a8da7d4b061e549 WHIRLPOOL 1566176734083f3553fc99289c94bc1927ebacff5581ca997edb1f39a9957c7193593bc1b3a9d4b727a279a307d46142d74826bb18f4fcc3ce99800eed2239fb +MISC ChangeLog-2015 7617 SHA256 63fe56ac2ac7f16df25c5896b091d8ea4d264c7af8a9d7024931a15f9d87f212 SHA512 e9de4369446176bfeea41d7fe8666b245d79da360da6d8643b2fb9c0edeca43a4c9ba311a006ee035b3cf56b42f5a7a256b33da20427253827d70eaebea5149f WHIRLPOOL e5a08db2826730ec48c1eaa7ec3ea39d2c0ee6632a7dc54275cae4e976dae5daca7eb32d0657e8ce9d6b8c5879a629873fc18b89b2ec4dbee5ff66da40a89fba +MISC metadata.xml 608 SHA256 b531ad58eadf3259b8426361591d009a5b547cff0e24ef566603f8d04f2a5c4c SHA512 1bd22fdf164cb86fbb6ef0da125f30f5a6092f844bc4ae527451b1614d1ed5a1d8e018beabba50fb49ec30aace5172426246428477062a599963264d548f53a0 WHIRLPOOL 01750ec256d7e0fbec301b9d735fe04c51b0a6e9ff6f65cb0230bdd06da85b071bb70ff961c3ca4dfb486d78002dca75b4c1c8ebbed45d3e5e327b1abd75ec65 diff --git a/dev-lisp/common-lisp-controller/common-lisp-controller-4.27.ebuild b/dev-lisp/common-lisp-controller/common-lisp-controller-4.27.ebuild new file mode 100644 index 000000000000..1a7c3508f040 --- /dev/null +++ b/dev-lisp/common-lisp-controller/common-lisp-controller-4.27.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +DESCRIPTION="Common Lisp Controller" +HOMEPAGE="http://packages.debian.org/unstable/devel/common-lisp-controller" +SRC_URI="mirror://gentoo/common-lisp-controller_${PV}.tar.gz" + +LICENSE="LLGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~mips ppc ppc64 sparc x86" +IUSE="" + +DEPEND="|| ( >=sys-apps/coreutils-8.15 app-misc/realpath ) + >=dev-lisp/asdf-1.84 + dev-lang/perl" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${PN} + +src_unpack() { + unpack ${A} + cd "${S}/man" + ln -s clc-{,un}register-user-package.1 + for i in unregister-common-lisp-implementation {,un}register-common-lisp-source; do + ln -s register-common-lisp-implementation.8 ${i}.8 + done +} + +src_install() { + dobin clc-register-user-package + dobin clc-unregister-user-package + dosbin register-common-lisp-implementation + dosbin register-common-lisp-source + dosbin unregister-common-lisp-implementation + dosbin unregister-common-lisp-source + insinto /usr/share/common-lisp/source/common-lisp-controller + doins common-lisp-controller.lisp + doins post-sysdef-install.lisp + doman man/*.[18] + insinto /etc + doins "${FILESDIR}/${PV}/lisp-config.lisp" + dodoc "${FILESDIR}/README.Gentoo" + dodoc DESIGN.txt +} + +pkg_postinst() { + test -d /var/cache/common-lisp-controller \ + || mkdir /var/cache/common-lisp-controller + chmod 1777 /var/cache/common-lisp-controller + + # This code from ${S}/debian/postinst + + for compiler in /usr/lib/common-lisp/bin/*.sh + do + if [ -f "${compiler}" -a -r "${compiler}" -a -x "${compiler}" ] ; then + i=${compiler##*/} + i=${i%.sh} + einfo ">>> Recompiling Common Lisp Controller for $i" + bash "$compiler" install-clc || true + einfo ">>> Done rebuilding" + fi + done + + # This code from ${S}/debian/preinst + + # cleanup fasl files: + ( find /usr/share/common-lisp/source/defsystem \ + /usr/share/common-lisp/source/asdf \ + /usr/share/common-lisp/source/common-lisp-controller -type f -not -name "*.lisp" -print0 \ + | xargs --null rm --force 2> /dev/null ) &>/dev/null + + # remove old autobuild files: +# find /etc/common-lisp -name autobuild -print0 \ +# | xargs -0 rm 2> /dev/null || true +# find /etc/common-lisp -type d -depth -print0 \ +# | xargs rmdir 2> /dev/null || true + + # remove old fals files: + test -d /usr/lib/common-lisp-controller \ + && rmdir --ignore-fail-on-non-empty /usr/lib/common-lisp-controller + for compiler in /usr/lib/common-lisp/bin/*.sh ; do + if [ -f "$compiler" -a -r "$compiler" ] ; then + i=${compiler##*/} + i=${i%.sh} + if [ -d "/usr/lib/common-lisp/${i}" ] ; then + rm -rf "/usr/lib/common-lisp/${i}" + fi + fi + done +} diff --git a/dev-lisp/common-lisp-controller/common-lisp-controller-5.13-r1.ebuild b/dev-lisp/common-lisp-controller/common-lisp-controller-5.13-r1.ebuild new file mode 100644 index 000000000000..450a227f9929 --- /dev/null +++ b/dev-lisp/common-lisp-controller/common-lisp-controller-5.13-r1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="3" +inherit eutils + +DESCRIPTION="Common Lisp Controller" +HOMEPAGE="http://packages.debian.org/unstable/devel/common-lisp-controller" +SRC_URI="mirror://gentoo/common-lisp-controller_${PV}.tar.gz" + +LICENSE="LLGPL-2.1" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ~mips ppc ppc64 sparc x86" +IUSE="" + +DEPEND="|| ( >=sys-apps/coreutils-8.15 app-misc/realpath ) + >=dev-lisp/asdf-1.84 + dev-lang/perl" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${PN} + +src_unpack() { + unpack ${A} + cd "${S}/man" + ln -s clc-{,un}register-user-package.1 + for i in unregister-common-lisp-implementation {,un}register-common-lisp-source; do + ln -s register-common-lisp-implementation.8 ${i}.8 + done +} + +src_install() { + dobin clc-register-user-package + dobin clc-unregister-user-package + dosbin register-common-lisp-implementation + dosbin register-common-lisp-source + dosbin unregister-common-lisp-implementation + dosbin unregister-common-lisp-source + + dosbin clc-update-customized-images + keepdir /etc/common-lisp/images + + insinto /usr/share/common-lisp/source/common-lisp-controller + doins common-lisp-controller.lisp post-sysdef-install.lisp + doman man/*.[138] + insinto /etc + doins "${FILESDIR}/${PV}/lisp-config.lisp" + dodoc "${FILESDIR}/README.Gentoo" + dodoc DESIGN.txt debian/changelog +} + +pkg_postinst() { + test -d /var/cache/common-lisp-controller \ + || mkdir /var/cache/common-lisp-controller + chmod 1777 /var/cache/common-lisp-controller + + # This code from ${S}/debian/postinst + + for compiler in /usr/lib/common-lisp/bin/*.sh + do + if [ -f "${compiler}" -a -r "${compiler}" -a -x "${compiler}" ] ; then + i=${compiler##*/} + i=${i%.sh} + einfo ">>> Recompiling Common Lisp Controller for $i" + bash "$compiler" install-clc || true + einfo ">>> Done rebuilding" + fi + done + + # This code from ${S}/debian/preinst + + # cleanup fasl files: + ( find /usr/share/common-lisp/source/defsystem \ + /usr/share/common-lisp/source/asdf \ + /usr/share/common-lisp/source/common-lisp-controller -type f -not -name "*.lisp" -print0 \ + | xargs --null rm --force 2> /dev/null ) &>/dev/null + + # remove old autobuild files: +# find /etc/common-lisp -name autobuild -print0 \ +# | xargs -0 rm 2> /dev/null || true +# find /etc/common-lisp -type d -depth -print0 \ +# | xargs rmdir 2> /dev/null || true + + # remove old fals files: + test -d /usr/lib/common-lisp-controller \ + && rmdir --ignore-fail-on-non-empty /usr/lib/common-lisp-controller + for compiler in /usr/lib/common-lisp/bin/*.sh ; do + if [ -f "$compiler" -a -r "$compiler" ] ; then + i=${compiler##*/} + i=${i%.sh} + if [ -d "/usr/lib/common-lisp/${i}" ] ; then + rm -rf "/usr/lib/common-lisp/${i}" + fi + fi + done +} diff --git a/dev-lisp/common-lisp-controller/files/4.27/lisp-config.lisp b/dev-lisp/common-lisp-controller/files/4.27/lisp-config.lisp new file mode 100644 index 000000000000..a6d36ce22005 --- /dev/null +++ b/dev-lisp/common-lisp-controller/files/4.27/lisp-config.lisp @@ -0,0 +1,3 @@ + +(in-package common-lisp-user) + diff --git a/dev-lisp/common-lisp-controller/files/5.13/lisp-config.lisp b/dev-lisp/common-lisp-controller/files/5.13/lisp-config.lisp new file mode 100644 index 000000000000..a6d36ce22005 --- /dev/null +++ b/dev-lisp/common-lisp-controller/files/5.13/lisp-config.lisp @@ -0,0 +1,3 @@ + +(in-package common-lisp-user) + diff --git a/dev-lisp/common-lisp-controller/files/README.Gentoo b/dev-lisp/common-lisp-controller/files/README.Gentoo new file mode 100644 index 000000000000..adaa56315a4f --- /dev/null +++ b/dev-lisp/common-lisp-controller/files/README.Gentoo @@ -0,0 +1,27 @@ + -*-outline-*- + +* Common Lisp Controller 4.x and 5.x + +With version 4.x and 5.x of the Debian Common Lisp Controller, the +design of the controller was simplified so that source was compiled +into /var/cache/, per user, on demand (ie. when you evaluate (require +:foo) at the REPL). + +* Common Lisp Controller 3.x + +** IMPORTANT + +The Common Lisp Controller (CLC) in Gentoo GNU/Linux is a modified +version of the original CLC sources from the Debian Project. Do not +send bug reports to the Debian Project -- always send bug reports to +http://bugs.gentoo.org. + +** NOTES + +If you are used to the CLC in Debian, please note that the Gentoo CLC +does not require an Internet super-server such as inetd or xinetd in +order to function. The original CLC implementation's clc-send-command +has been replaced with a shell script which implements the same +interface, but bypasses clc-build-daemon entirely. + +-- Matthew Kennedy <mkennedy@gentoo.org> diff --git a/dev-lisp/common-lisp-controller/metadata.xml b/dev-lisp/common-lisp-controller/metadata.xml new file mode 100644 index 000000000000..9b129ff98209 --- /dev/null +++ b/dev-lisp/common-lisp-controller/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +<longdescription> +The Common Lisp Controller was originally used in the Debian project. The Common +Lisp Contoller lets you install and manage common lisp sources and compilers. +It creates a user-specific cache of compiled objects. When a library or an +implementation is upgraded all compiled objects in the cache are flushed. +</longdescription> +</pkgmetadata> diff --git a/dev-lisp/ecls/Manifest b/dev-lisp/ecls/Manifest new file mode 100644 index 000000000000..df0a18befce6 --- /dev/null +++ b/dev-lisp/ecls/Manifest @@ -0,0 +1,23 @@ +AUX 13.5.1-gc74.patch 1985 SHA256 c624a77a6a74e2d3f1907ed8459944f8bcd31413cf577b78ce415d8ce7088bf3 SHA512 59c5e23773273d84f896373d58d57c251644130a6da8d8a8bcbf7d2a56de1e58339bbd9937806aa054b0334489ff4670dc11e5005f6f86182802d684d86c6f3f WHIRLPOOL 089668cf750a8b8b305e78bb5b3d74b6ba5a10e8a9aa13aedf1a3138eaec7a30143e38bd3b0bac5dfe5f9a96b779a600abd3b8f945e9485bcfbcfb14b1928db9 +AUX 13.5.1-headers-gentoo.patch 365 SHA256 44a18f24b10dc6d8621d8557cc14faf1585ca77fd78b67b8449b789562199d46 SHA512 e3e8c2b871420bf35b0e887b291203f882818e688392f99f22d18dc6da0710d23d38d2f4a02a92bf9a1eda2c3b7fd05b0e4d57d7e885896369ed89c10b0730ad WHIRLPOOL 67b518bfb56eba71ad6f93c9ec1040a31d2accbd8d5489633efd5d9a6eb4a9331e8ba275f7887e083b3970de92433576a4200944d58944dbf4f175f580da3628 +AUX 15.3.7-headers-gentoo.patch 365 SHA256 44a18f24b10dc6d8621d8557cc14faf1585ca77fd78b67b8449b789562199d46 SHA512 e3e8c2b871420bf35b0e887b291203f882818e688392f99f22d18dc6da0710d23d38d2f4a02a92bf9a1eda2c3b7fd05b0e4d57d7e885896369ed89c10b0730ad WHIRLPOOL 67b518bfb56eba71ad6f93c9ec1040a31d2accbd8d5489633efd5d9a6eb4a9331e8ba275f7887e083b3970de92433576a4200944d58944dbf4f175f580da3628 +AUX 16.0.0-headers-gentoo.patch 396 SHA256 bae118e0d3df944d80ebd0e2555bca5a71ac5b5651e9bd2c1f9602d0c52a92e2 SHA512 df7b1672b5db900c1f9bc5f0d3090d92f95d16cba61fabdc99eb02da66854c06c1cf601fc5e8d41b9e6cc266bf4b4dd0f13e8d6b5c5b0458c4a1f1593cc1688c WHIRLPOOL e33f1a8476d687bff57532a8750c4c973bd1158880230c916f6b6d458f7c54ee5d079df9fa04632d1560504f6588798aacd10509f9123bfc2e6074be1d1d227d +AUX 16.1.2-headers-gentoo.patch 396 SHA256 879ae6e2383066a9015123c9bc367e160b4e82559edc1231a3d81a0bfb168eab SHA512 a5983f1fbaa3b0edadbc2497cc2e19c4d66bb17b3db67417d544182cdb10f34d864aa056ca98d0f5340a8e094fb9578580a74f10e997485927b25252f9dba6d6 WHIRLPOOL 8fe22f96b480cf26baf4094e83fb431e1edf35010df544bdb16d4b0e81705b496242a624a6945087cae889898064c6438093bbc6ad0dca63307d677f58fe0926 +AUX 16.1.3-build.patch 341 SHA256 3ce01a92682ce9f6f97182e168a7a34bc26ae3a6baffcea7af8417b8b2a9b954 SHA512 0af8f0704e79197a4d7857ae11f20f0086f2e1c3d2578ec613c6ce5df742e35b9676399d8f724528781a530426425a977646ec75b317f01609d17d3a98b04ef4 WHIRLPOOL c9279e4005a363d5dbfaba04e43698a109537ad2da630dd7dc732430e004e8f93671c73b24d88fada05a10e92b09575ec5e144d96c40a9768f505a9145a61dd2 +AUX 16.1.3-headers-gentoo.patch 446 SHA256 4782b1f00a7d5e405491b1ac85ad8895949f6f7e7f50db98c09ebe5e29434c11 SHA512 a58b39deb9f8577da66216fd6902803019751171e4415149a89bdb72f13a006e5f6d9bede2312521162a0895340c1a1ce756b09bc0a18dccceca3e4c0950a7cb WHIRLPOOL 03a28908489d8b189fb539fd8cf0bacfc410ec10650b3cad1d943728db0218b6dad3e9f9c1f1c703322372ba3c78b33988cf28df9d1f2fc413d0f6fbf5ee05ca +AUX README.Gentoo 632 SHA256 657813b5715f3b113e73435cabf4f503cf1786de2308ee0b3c0094c2862fc510 SHA512 df0640792271d01f84437645fe8854740b17dd349e36b76711c55f6f4fefa7d2fd810176ece2a25d8cab88192f31a6df38e67dfcb7992857e5d038ad74b11c8a WHIRLPOOL fc2e361f5c944180914065fe2db0fc35e54760a7d9fac92e535f019532a77d6bed81c0f633579ed3ba06d4fa4fe87ca82485b293f1ded07ed0208484fc8c36af +DIST ecl-13.5.1.tgz 9401163 SHA256 f91c57ce065fe9748bc8104e191e4b2dcfe854d634315fe7800dd0a613472ca2 SHA512 a09f8b824aa78e461d700eefb1a8b68b876e15d49124a397e0b5b58ad73b80f818133a7b8e48ddb83505eea2f9c5fb024de8701b527524004e336e456eb07c84 WHIRLPOOL def6de6444430e45bfff29c0716a23869e3455ba9b1cd9bfc1f02ef5c79c83df5b2280b8bada28acb1e742cdbe5c819970273386333d7c7c7c4fb48464dc6a2b +DIST ecl-15.3.7.tgz 8755180 SHA256 2dc6ffbbf1e0a7b1323d49a991ba1f005127ca3e153651d91ba9e65bdaec948f SHA512 50a28ed551e507bee526ae44a12da2524c1feedf07cf8ca99650e37ecd7b99c4e2f2758c077979b174d303ffdcd9325637b708a29d14d8c3851c7e65d4ea026c WHIRLPOOL 57b0382b0e3dc7cd601b835a371c9ec6658911b1471cb5bfeee6144d22500e8ca55268f2a001c49d446e9be1a3771ca12348f2565f68ec83f1660c4295545a06 +DIST ecl-16.0.0.tgz 8009304 SHA256 343ed4c3e4906562757a6039b85ce16d33dd5e8001d74004936795983e3af033 SHA512 15e4c604901dae1037e54ab1739d45a0f5f05decf6e72ba60d8b6b53e549021e93b811b809c4a72f423a20e9f9770969910d35edd5f184757293f98f89024c3a WHIRLPOOL 1af13ce81017bdad0ad6ee235beea9cc3e79d4b09b3863911a8092fd69a8d15f9c6eb75603c62d291450001d900cc1074c8882beb4c6da011b368b2a7f8fe7b5 +DIST ecl-16.1.2.tgz 7449461 SHA256 2d482b1a0a4fbd5d881434517032279d808cb6405e22dd91ef6d733534464b99 SHA512 f204494907226a12b4ecabc39d555f27c1ce5cba515fccd187d9b7ee584d86278558d6a26b2bbec98bce582239f21ac00c2d854f594c6b1f21e1636793845926 WHIRLPOOL 1590695d82c274d06806bffdadb872fba9b870efd19e234fd265b07911cd0bdfe456ddc16e63f9fd707559750a0373739627d440f91567084ee9e0c72b640f40 +DIST ecl-16.1.3.tgz 7459212 SHA256 76a585c616e8fa83a6b7209325a309da5bc0ca68e0658f396f49955638111254 SHA512 5d743f422f6bc24671abf4c739cde8273d08f056906a1ef8aed5145c703b6d52c7fa4b5e0be8c125f32240c20ce053007786bb3ae81cc34d47791f6fae0819c1 WHIRLPOOL 0e65b49e9a7fcf443aa3fb81766efae7f49ec7a8e30779a39279160da057b3a83d7649bb226045ee4a31e0658d85d7d1214799499f297399594d931091288b96 +EBUILD ecls-13.5.1-r1.ebuild 2231 SHA256 77020c9e2e47001abceeb5666a3f76720006ba4df603e5d1a0f311c0c657c4c8 SHA512 8542ca9bad0122153931dd949006928d63475669b81c3a17f148c3be1ffe8874586965c0a43fa294b492ff210bdae7f302aa92d2cca9e3fef19a6ceef91c0ed7 WHIRLPOOL c3aff50138b70cc4964188b25d3f5f79a33941a0dfb895a7e4f8ae05c6c2e3dc2524c4361e7c44cde912e9fac435303a5ed54f79e5a8272500749b33e8781514 +EBUILD ecls-15.3.7.ebuild 2319 SHA256 e45d9f1a6fd81210ffe9e55860acd73fbfed4155e91904462de5c70fdfa88762 SHA512 6b007bafa882658985e892b61e8f428df6953638f83607d0559f2c92417762ce1930390dd2cc1b5ad880f5f922e59b0dd7f5d4feb767122dcf4f915861ebb65c WHIRLPOOL 5fa889f1cca246045bcf992004f0722f08b359039a5fdae6946856f198cde2ff0896bb814fbcf4bb33a229ea283fb8d33cbd9664e64d9efce804be415dd5d541 +EBUILD ecls-16.0.0-r1.ebuild 2370 SHA256 e232f944162dfc50904271c3bda29772c21b3d8a4ec7be20e25b8fa380020f86 SHA512 15b9f559c340b76ad2771d942091b0913dce1b24f59f9ef111dd3300dda39c6a6dca139a7f466ff2052d4615d30ea6398c312373ec8d5e828be4ad8a38d02dec WHIRLPOOL d0345c363b819c9a0f8a0a113edf884f91fa23bfb6802840032518e18fbc835c29f9fef5efcf4eea62f2b0d3e2344ad0d947aa680a618694e93a302f2fca79fc +EBUILD ecls-16.0.0.ebuild 2346 SHA256 d7e1c0dda0ba92e3cab50f25b3eac8b5c657f47c99b093ef44aef4ad9d031277 SHA512 724a13280895cf103744fe3afc3f61fa7371dd01c65d9292a373b6c729b0fe0ffd460964f8d42d9ca1a99b6caf6c017dda2dded8ff2727fbb2fb8b3d3954dd9a WHIRLPOOL 080960fb6dee2a85952ff029bf59136aee755cbf9e85424968608526322b1f161adb02536dd4219d9f0fa58e7baae594e88539a483d3bf94b77fcb0d6cb5bc73 +EBUILD ecls-16.1.2-r1.ebuild 2377 SHA256 ceb60a28e294e40595706f786cc3d9b9ce63b42fab9fa7628cd97be942a84369 SHA512 b8e6b4d2a51091e6790542beb2e9c823005ecf834c8575410e682ddb3cf977c645dc4d9b4d97ff63d7fce1b0ba431cf41f5813bccc338110fefcffe752425fbc WHIRLPOOL 0133d9610ccfeb4003e072106d8d302539b2fa98ce7c1abddfe160e4a06c3459a480e161fd301ca594a7635c47a0a8b6748e6d8c457d20c0be9799b5db90a22c +EBUILD ecls-16.1.2.ebuild 2353 SHA256 877daeca819eb78bb65ceafbf9eb44ac632a321e29a7c2ab0debfc46657ef331 SHA512 1bcc9a83f82f23acd4a533b7b153af4be25d966af6ceb9d38292106ba9bdc9fbf6247a572734353a0796e328a31087f79dd1b2b084a3553e6ac485f28191b058 WHIRLPOOL c002b115aa7f3cd129e49e9ffd3643dd516205d59c8983d4745dfc1b0e26fa5b868a18d33809dd8f9f1f4b47d98bf15ddecfa9619f2a3e9a7fe488a2702a85a9 +EBUILD ecls-16.1.3.ebuild 2418 SHA256 a5cdb2a257b5a5f9f7b2e7d46a4a549dd172d803bed41a376850d577aa8e418f SHA512 e4ba51270ce279f09fc29574435ddee475d76c4d66b4a57d51a2235eb32da7aae1fbeadf946dcc1af6b67fbde6276b33a82d155ce38ae1213a2aadb55cf7519a WHIRLPOOL d000cc86c5df0d61558021c7b80b9e43b525fbee798308b874e097d2017185ac673828e57e58ccd213a5951558440b1bba11d0027f96d367162afd1ed25fe0ea +MISC ChangeLog 4432 SHA256 68e99113249fd3951b8ac2a1afe47578642a5ea7a1a298db82a73d80bd916ad5 SHA512 c2ed80fd6e4effb3e65227f1d76d5d6d3435451d0a5a51cb86c7975a11381faed2b3d7c123d071c2335a2aba85c523a63c96d4bfda6c47e38f1f04ed74a931d3 WHIRLPOOL 8cca0313cfc18bf387d07655cbc0cf6fdbf4e145d655ea4b056062ee93dc5da9655b25e9332cd2bdbb69cb9149d104e75cfc0c9dc644026a7608a33d9bbe8f71 +MISC ChangeLog-2015 10396 SHA256 c3e2a51b8d2ebc26894e3a4d009d33401ae64acffc0050e459344e7072f3f842 SHA512 f7348a628758b45d156b25d9d674457f95fc7d827f5e2732dc1472562e44f8c00750381e935a3b76ec1462ce99ccd9f094938e8e5b1b2e4e4348c91673be158e WHIRLPOOL be7a06f0e8f057cf28397029912f494e74948ce8c519ccbb5574d92d8b4cabf7656677636fc93ef75d400a5107f25bc433078d82b3503f91eacddfdeddb33837 +MISC metadata.xml 901 SHA256 f05557b754876a7c5bed76b3cfdf77f54abaa6a6e8d71b133a417b8fe596a60e SHA512 15403f25533646601eb454946599d1d97353038286df0d075f923b598fe44047e525745a33f7e3dbc15fee717d6311abbe546371ecbc4c9df347771dd5c007e9 WHIRLPOOL 512e360f7ad9916fc9a79f4526a141d88811ed20b22b6abbd7b3fa78c198a8abc27cccc89445027fe883e2ed5e62b58b5541f5090316dd1c5a887d65c133eebd diff --git a/dev-lisp/ecls/ecls-13.5.1-r1.ebuild b/dev-lisp/ecls/ecls-13.5.1-r1.ebuild new file mode 100644 index 000000000000..19c50b0e32be --- /dev/null +++ b/dev-lisp/ecls/ecls-13.5.1-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="http://ecls.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X" + +CDEPEND="dev-libs/gmp + virtual/libffi + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + # bug #496780 + epatch "${FILESDIR}"/${PV}-gc74.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble \ + --with-dffi \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc ANNOUNCEMENT Copyright + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-15.3.7.ebuild b/dev-lisp/ecls/ecls-15.3.7.ebuild new file mode 100644 index 000000000000..d8991988204d --- /dev/null +++ b/dev-lisp/ecls/ecls-15.3.7.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="http://ecls.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc ANNOUNCEMENT Copyright + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-16.0.0-r1.ebuild b/dev-lisp/ecls/ecls-16.0.0-r1.ebuild new file mode 100644 index 000000000000..27b77ccde6c0 --- /dev/null +++ b/dev-lisp/ecls/ecls-16.0.0-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="https://common-lisp.net/project/ecl/" +SRC_URI="https://common-lisp.net/project/ecl/files/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_with cxx) \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc README CHANGELOG Copyright + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-16.0.0.ebuild b/dev-lisp/ecls/ecls-16.0.0.ebuild new file mode 100644 index 000000000000..93421df52b5a --- /dev/null +++ b/dev-lisp/ecls/ecls-16.0.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="https://common-lisp.net/project/ecl/" +SRC_URI="https://common-lisp.net/project/ecl/files/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc README CHANGELOG Copyright + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-16.1.2-r1.ebuild b/dev-lisp/ecls/ecls-16.1.2-r1.ebuild new file mode 100644 index 000000000000..9184abfffb91 --- /dev/null +++ b/dev-lisp/ecls/ecls-16.1.2-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="https://common-lisp.net/project/ecl/" +SRC_URI="https://common-lisp.net/project/ecl/files/release/${PV}/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_with cxx) \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc README.md CHANGELOG + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-16.1.2.ebuild b/dev-lisp/ecls/ecls-16.1.2.ebuild new file mode 100644 index 000000000000..2b621d2b361c --- /dev/null +++ b/dev-lisp/ecls/ecls-16.1.2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="https://common-lisp.net/project/ecl/" +SRC_URI="https://common-lisp.net/project/ecl/files/release/${PV}/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc README.md CHANGELOG + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/ecls-16.1.3.ebuild b/dev-lisp/ecls/ecls-16.1.3.ebuild new file mode 100644 index 000000000000..129d07b53568 --- /dev/null +++ b/dev-lisp/ecls/ecls-16.1.3.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils multilib + +# test phase only works if ecls already installed #516876 +RESTRICT="test" + +MY_P=ecl-${PV} + +DESCRIPTION="ECL is an embeddable Common Lisp implementation" +HOMEPAGE="https://common-lisp.net/project/ecl/" +SRC_URI="https://common-lisp.net/project/ecl/static/files/release/${MY_P}.tgz" + +LICENSE="BSD LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X" + +CDEPEND="dev-libs/gmp:0 + virtual/libffi + libatomic? ( dev-libs/libatomic_ops ) + >=dev-libs/boehm-gc-7.1[threads?] + >=dev-lisp/asdf-2.33-r3:=" +DEPEND="${CDEPEND} + app-text/texi2html + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}"/${MY_P} + +pkg_setup () { + if use gengc || use precisegc ; then + ewarn "You have enabled the generational garbage collector or" + ewarn "the precise collection routines. These features are not very stable" + ewarn "at the moment and may cause crashes." + ewarn "Don't enable them unless you know what you're doing." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch + epatch "${FILESDIR}"/${PV}-build.patch + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die +} + +src_configure() { + econf \ + --with-system-gmp \ + --enable-boehm=system \ + --enable-longdouble=yes \ + --with-dffi \ + $(use_with cxx) \ + $(use_enable gengc) \ + $(use_enable precisegc) \ + $(use_with debug debug-cflags) \ + $(use_enable libatomic libatomic system) \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_enable threads) \ + $(use_with threads __thread) \ + $(use_enable unicode) \ + $(use_with unicode unicode-names) \ + $(use_with X x) \ + $(use_with X clx) +} + +src_compile() { + if use emacs; then + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}') + [[ -n ${ETAGS} ]] || die "No etags implementation found" + pushd build > /dev/null || die + emake ETAGS=${ETAGS} TAGS + popd > /dev/null + else + touch build/TAGS + fi + + #parallel make fails + emake -j1 || die "Compilation failed" +} + +src_install () { + emake DESTDIR="${D}" install || die "Installation failed" + + dodoc README.md CHANGELOG + dodoc "${FILESDIR}"/README.Gentoo + pushd build/doc + newman ecl.man ecl.1 + newman ecl-config.man ecl-config.1 + popd +} diff --git a/dev-lisp/ecls/files/13.5.1-gc74.patch b/dev-lisp/ecls/files/13.5.1-gc74.patch new file mode 100644 index 000000000000..a1069b214b4b --- /dev/null +++ b/dev-lisp/ecls/files/13.5.1-gc74.patch @@ -0,0 +1,57 @@ +diff -r -U1 ecl-13.5.1.orig/src/aclocal.m4 ecl-13.5.1/src/aclocal.m4 +--- ecl-13.5.1.orig/src/aclocal.m4 2013-05-28 03:37:36.000000000 +0700 ++++ ecl-13.5.1/src/aclocal.m4 2014-01-12 00:34:36.663129950 +0700 +@@ -942,2 +942,6 @@ + fi ++ if test "${system_boehm}" = "yes"; then ++ AC_CHECK_LIB( [gc], [GC_set_start_callback], ++ [AC_DEFINE(HAVE_GC_SET_START_CALLBACK)], [] ) ++ fi + AC_MSG_CHECKING( [whether we can use the existing Boehm-Weiser library] ) +diff -r -U1 ecl-13.5.1.orig/src/c/alloc_2.d ecl-13.5.1/src/c/alloc_2.d +--- ecl-13.5.1.orig/src/c/alloc_2.d 2013-05-28 03:37:36.000000000 +0700 ++++ ecl-13.5.1/src/c/alloc_2.d 2014-01-12 00:43:44.177106924 +0700 +@@ -33,2 +33,9 @@ + ++static void (*GC_old_start_callback)(void) = NULL; ++#ifdef HAVE_GC_START_CALLBACK ++extern void GC_set_start_callback(void *); ++extern void *GC_get_start_callback(void *); ++#else ++extern void *GC_start_call_back(void); ++#endif + static void gather_statistics(); +@@ -752,3 +759,2 @@ + extern void (*GC_push_other_roots)(); +-extern void (*GC_start_call_back)(); + static void (*old_GC_push_other_roots)(); +@@ -1092,3 +1098,9 @@ + GC_push_other_roots = stacks_scanner; ++#ifdef HAVE_GC_SET_START_CALLBACK ++ GC_old_start_callback = GC_get_start_callback(); ++ GC_set_start_callback(gather_statistics); ++#else ++ GC_old_start_callback = GC_start_call_back; + GC_start_call_back = (void (*)())gather_statistics; ++#endif + GC_java_finalization = 1; +@@ -1200,3 +1212,3 @@ + */ +-#if 1 /*GBC_BOEHM == 0*/ ++#if GBC_BOEHM == 0 + extern int GC_print_stats; +@@ -1279,2 +1291,4 @@ + } ++ if (GC_old_start_callback) ++ GC_old_start_callback(); + } +Только в ecl-13.5.1/src/c: alloc_2.d.orig +diff -r -U1 ecl-13.5.1.orig/src/h/config.h.in ecl-13.5.1/src/h/config.h.in +--- ecl-13.5.1.orig/src/h/config.h.in 2013-05-28 03:37:36.000000000 +0700 ++++ ecl-13.5.1/src/h/config.h.in 2014-01-12 00:34:36.663129950 +0700 +@@ -310,2 +310,5 @@ + ++/* GC_set_start_callback */ ++#define HAVE_GC_SET_START_CALLBACK ++ + /* diff --git a/dev-lisp/ecls/files/13.5.1-headers-gentoo.patch b/dev-lisp/ecls/files/13.5.1-headers-gentoo.patch new file mode 100644 index 000000000000..958b948bac41 --- /dev/null +++ b/dev-lisp/ecls/files/13.5.1-headers-gentoo.patch @@ -0,0 +1,13 @@ +diff -r -U1 ecl-13.5.1.orig/src/h/object.h ecl-13.5.1/src/h/object.h +--- ecl-13.5.1.orig/src/h/object.h 2013-05-28 03:37:36.000000000 +0700 ++++ ecl-13.5.1/src/h/object.h 2013-05-29 19:23:34.000000000 +0700 +@@ -25,4 +25,9 @@ + ++#ifndef TRUE + #define TRUE 1 /* boolean true value */ ++#endif ++ ++#ifndef FALSE + #define FALSE 0 /* boolean false value */ ++#endif + diff --git a/dev-lisp/ecls/files/15.3.7-headers-gentoo.patch b/dev-lisp/ecls/files/15.3.7-headers-gentoo.patch new file mode 100644 index 000000000000..958b948bac41 --- /dev/null +++ b/dev-lisp/ecls/files/15.3.7-headers-gentoo.patch @@ -0,0 +1,13 @@ +diff -r -U1 ecl-13.5.1.orig/src/h/object.h ecl-13.5.1/src/h/object.h +--- ecl-13.5.1.orig/src/h/object.h 2013-05-28 03:37:36.000000000 +0700 ++++ ecl-13.5.1/src/h/object.h 2013-05-29 19:23:34.000000000 +0700 +@@ -25,4 +25,9 @@ + ++#ifndef TRUE + #define TRUE 1 /* boolean true value */ ++#endif ++ ++#ifndef FALSE + #define FALSE 0 /* boolean false value */ ++#endif + diff --git a/dev-lisp/ecls/files/16.0.0-headers-gentoo.patch b/dev-lisp/ecls/files/16.0.0-headers-gentoo.patch new file mode 100644 index 000000000000..1c08bc57b737 --- /dev/null +++ b/dev-lisp/ecls/files/16.0.0-headers-gentoo.patch @@ -0,0 +1,13 @@ +diff -r -U1 ecl-16.0.0.orig/src/h/object.h ecl-16.0.0/src/h/object.h +--- ecl-16.0.0.orig/src/h/object.h 2015-08-24 12:41:27.000000000 +0600 ++++ ecl-16.0.0/src/h/object.h 2015-08-29 12:04:58.249594669 +0600 +@@ -25,4 +25,9 @@ + ++#ifndef TRUE + #define TRUE 1 /* boolean true value */ ++#endif ++ ++#ifndef FALSE + #define FALSE 0 /* boolean false value */ ++#endif + diff --git a/dev-lisp/ecls/files/16.1.2-headers-gentoo.patch b/dev-lisp/ecls/files/16.1.2-headers-gentoo.patch new file mode 100644 index 000000000000..193822a8fae2 --- /dev/null +++ b/dev-lisp/ecls/files/16.1.2-headers-gentoo.patch @@ -0,0 +1,13 @@ +diff -r -U1 ecl-16.1.2.orig/src/h/object.h ecl-16.1.2/src/h/object.h +--- ecl-16.1.2.orig/src/h/object.h 2016-02-25 08:06:19.000000000 +0100 ++++ ecl-16.1.2/src/h/object.h 2016-02-29 12:46:56.846308964 +0100 +@@ -27,4 +27,9 @@ + ++#ifndef TRUE + #define TRUE 1 /* boolean true value */ ++#endif ++ ++#ifndef FALSE + #define FALSE 0 /* boolean false value */ ++#endif + diff --git a/dev-lisp/ecls/files/16.1.3-build.patch b/dev-lisp/ecls/files/16.1.3-build.patch new file mode 100644 index 000000000000..ff7d6cd74d8b --- /dev/null +++ b/dev-lisp/ecls/files/16.1.3-build.patch @@ -0,0 +1,10 @@ +diff -r -U2 ecl-16.1.3.orig/src/c/printer/write_sse.d ecl-16.1.3/src/c/printer/write_sse.d +--- ecl-16.1.3.orig/src/c/printer/write_sse.d 2016-12-19 17:25:00.000000000 +0700 ++++ ecl-16.1.3/src/c/printer/write_sse.d 2016-12-19 19:20:01.863563607 +0700 +@@ -13,4 +13,6 @@ + */ + ++#include <ecl/config.h> ++ + #ifdef ECL_SSE2 + #include <ecl/ecl.h> diff --git a/dev-lisp/ecls/files/16.1.3-headers-gentoo.patch b/dev-lisp/ecls/files/16.1.3-headers-gentoo.patch new file mode 100644 index 000000000000..10802aa48803 --- /dev/null +++ b/dev-lisp/ecls/files/16.1.3-headers-gentoo.patch @@ -0,0 +1,15 @@ +diff -r -U2 ecl-16.1.3.orig/src/h/object.h ecl-16.1.3/src/h/object.h +--- ecl-16.1.3.orig/src/h/object.h 2016-12-19 17:25:00.000000000 +0700 ++++ ecl-16.1.3/src/h/object.h 2016-12-19 19:22:21.147557750 +0700 +@@ -26,6 +26,11 @@ + */ + ++#ifndef TRUE + #define TRUE 1 /* boolean true value */ ++#endif ++ ++#ifndef FALSE + #define FALSE 0 /* boolean false value */ ++#endif + + #if !defined(__cplusplus) && !defined(bool) diff --git a/dev-lisp/ecls/files/README.Gentoo b/dev-lisp/ecls/files/README.Gentoo new file mode 100644 index 000000000000..9bb82f220097 --- /dev/null +++ b/dev-lisp/ecls/files/README.Gentoo @@ -0,0 +1,15 @@ +-*- outline -*- + +Gentoo GNU/Linux specific notes for ECL +--------------------------------------- + +This is the README.Gentoo file from /usr/share/doc/@PF@/ directory. + + * The Gentoo port includes a patch to ECL's installed header file (ech.h) so + that TRUE and FALSE are not redefined if they're already included from + elsewhere. This makes it easier to use ECL with other software which defines + those C preprocesser symbols (eg. glib-2.0). + +If you encounter any problems or have suggestions, use http://bugs.gentoo.org. +Please don't bother the upstream authors unless you are absolutely certain it is +not Gentoo-related. diff --git a/dev-lisp/ecls/metadata.xml b/dev-lisp/ecls/metadata.xml new file mode 100644 index 000000000000..8b14211eb876 --- /dev/null +++ b/dev-lisp/ecls/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> +ECL (Embeddable Common Lisp) is an implementation of the Common Lisp language as +described in the X3J13 Ansi specification, featuring CLOS (Common Lisp Object +System), conditions, loops, etc, plus a translator to C, which can produce +standalone executables. +</longdescription> + <use> + <flag name="gengc">Use generational garbage collection (experimental)</flag> + <flag name="precisegc">Use type information during garbage collection (experimental)</flag> + <flag name="libatomic">Use <pkg>dev-libs/libatomic_ops</pkg> library</flag> + </use> + <upstream> + <remote-id type="sourceforge">ecls</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/flexi-streams/Manifest b/dev-lisp/flexi-streams/Manifest new file mode 100644 index 000000000000..d1e81ad6bbc9 --- /dev/null +++ b/dev-lisp/flexi-streams/Manifest @@ -0,0 +1,4 @@ +DIST flexi-streams-1.0.16.tar.gz 135698 SHA256 bcaaa51d4f8e176f3a532d54c9bf7b6f031b2a18761e0fa9888395dc799660b9 SHA512 66b7c5231616c7a6095a52d6c679717795c9308e33487536a5e1b7f0d25f26aacd2579a76c351f8e16a967a0611456cbc97b3824f4d9cf4875b8e48b0c4f7c78 WHIRLPOOL 0e5bfdc0b2fb00de56cf0cd3d7feac06ce68c0476969249a5c1fec03918da81c2596d4af2d3aa945e7ccaf1464543fb7aa2d23abd187b2f6fa5dba24fc266178 +EBUILD flexi-streams-1.0.16.ebuild 596 SHA256 c708cd34b24eb1afe596ff2e0d2b3f2a7c81b8f0d7c3fb624771b927670363ae SHA512 d77a4fb7ee26b503719c7cfbb17c56174d7a1942379546f9103136e5a5519b16e958dda0c67535d2bdbb01b13da3ac44ad6d8053cc331d1e1b7454f8b5f34028 WHIRLPOOL 88d036f8531644a568c2fff09cb67e24e445adf86ab15e3ac90fb0fe6a29d21422ba102a3d4504e62a1781ee0121b499e3124f0a0945282a235932961b54c15d +MISC ChangeLog 1452 SHA256 09b89830a8b4b491955e76f267dd7f24374fed3ab3f03c53c10ba80edc12b68d SHA512 3e9dcf8c9ca4ec2cf842501b57c42acaaca12dee9793ce93ff984d2d52c2186fd7eea64ffb182e3c26616cabccc7f9dc4d355e6ce16c19bac627ed018d90096c WHIRLPOOL 5d1ffcf959a2b7106ce72f176a0ff0e385fa521b0550d08583fc24279f77469b1a9340515eb86417e29b58c8b751dd53875d6be298b762604325c98ac1908725 +MISC metadata.xml 1216 SHA256 cb4f3bbf8b0d8428e187b7a84777d2091e5d35c13087f5060972c7f7f31b0a66 SHA512 5c5e716f6358982fd4d711ae5355d7c3c97cca5a2cea2261e05b271c2b7769e9ff6dec0b41f23b05e98aad169535afd526e4fc179a24411f1f28121381946019 WHIRLPOOL 23932f6927c9ec4c80506952e11fd54f68ba7fed9c0b079312cbb75b3019383125f46d5bdfb8a195458f88e45c947c01935ade2fdbfb174b65d09292d54ab234 diff --git a/dev-lisp/flexi-streams/flexi-streams-1.0.16.ebuild b/dev-lisp/flexi-streams/flexi-streams-1.0.16.ebuild new file mode 100644 index 000000000000..f9d5b59764d1 --- /dev/null +++ b/dev-lisp/flexi-streams/flexi-streams-1.0.16.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="Flexible bivalent streams for Common Lisp" +HOMEPAGE="http://weitz.de/flexi-streams/ + http://www.cliki.net/flexi-streams/" +SRC_URI="https://github.com/edicl/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +RDEPEND="!dev-lisp/cl-${PN} + >=dev-lisp/trivial-gray-streams-20060925" + +src_install() { + common-lisp-install-sources *.lisp + common-lisp-install-asdf + dodoc doc/index.html +} diff --git a/dev-lisp/flexi-streams/metadata.xml b/dev-lisp/flexi-streams/metadata.xml new file mode 100644 index 000000000000..245d1e7eb09a --- /dev/null +++ b/dev-lisp/flexi-streams/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription lang="en"> + FLEXI-STREAMS implements "virtual" bivalent streams that can be + layered atop real binary or bivalent streams and that can be used + to read and write character data in various single- or multi-octet + encodings which can be changed on the fly. It also supplies + in-memory binary streams which are similar to string streams. + </longdescription> + <longdescription lang="es"> + FLEXI-STREAMS implementa flujos de datos bivalentes "virtuales" + que se pueden superponer a flujos de datos binarios reales o + bivalentes y que pueden ser utilizados para leer y escribir datos + en caracteres en distintas codificaciones sencillas o multi-octeto + que a su vez se pueden cambiar al vuelo. También proporciona flujos + de datos en memoria que son similares a los flujos de datos de + cadenas de caracteres. + </longdescription> + <upstream> + <remote-id type="github">edicl/flexi-streams</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/gcl/Manifest b/dev-lisp/gcl/Manifest new file mode 100644 index 000000000000..dbd7ccacac0a --- /dev/null +++ b/dev-lisp/gcl/Manifest @@ -0,0 +1,18 @@ +AUX 64gcl-gentoo.el 184 SHA256 97842389c5509c45ebaf7020a72410ec6fc59ebcf539c782d4247b7252e8c633 SHA512 06749b0c4ec7a34a7fdbb591d40106fe00a794e6db0950cc7187293d4c495d5c908235a2ba38236132618442924a7feae08496356fcd4b0139477cd89121e3cf WHIRLPOOL e0d266f96e5383f1e231dafabe6ba422f40a149a9f94b66b81685109ea66f18692525715c1faebd3eb1c49fe4efcd7de677b1268cb83af996759972c3fdcacdb +AUX bootstrap-gcl 336 SHA256 4d9f19e461b5bfc3e570b6812cf35dcf8ae98788b7eb4d4e04368a2f801f4244 SHA512 481a9ffa1102534c36a1a2084dda4b1ecd822888fafac4e6f0691b73ce0cc60e5328f628998ccef38bf75a26f3b79b24adf59562dc7cad23c3033a22d9593d0f WHIRLPOOL 9981d0e045775de0188ff75d82f8d0a78364323ffacfa690fa516ea95fbac95d69fc7ce657bbc020f8fed264103b9b3c32f643b992f6b5408b3a0a782bc4ffc9 +AUX gcl-2.6.12-gcc5.patch 469 SHA256 b0fd919c6316633c24226f19d5cd012943f18e828aa1de0e1771a28b81d54b02 SHA512 b2dffb7a8b3f89ab8d18d6d23dfc756e9e70921d036f9d7b2445351b9e3b67bdecff286b04f8dcb5f30b5199635cd44f3f3a28cde8ec150911fd445d172c70fb WHIRLPOOL 445ba9155ad514a76f878776c006c244e16844f3325e0f0b6831d5d2c31897bc16bea6a12816274664dfae27aa1c940c320756e479b9c7639a8d4198b736cc78 +AUX gcl-gmp-6.patch 363 SHA256 2a2929e93e498f9537c6575d32cba0b778f278527486d97ee006e5b697626ce6 SHA512 cc578a915d154e94cf992f79e5a0130d294f506da13315bef060e19b08af3390942b2ebd5b4989acb37582315f3396fe605b56e9e441755728f54cf693be0ef1 WHIRLPOOL b656ae78fbd3819cc7b54922a64e6410ef70d96e990a259b56fb43588e4cceb6970289a9c196f9f29e3275db6b8c31b718c3ce6096e662063bf18d3a21b7395f +AUX gcl-readline-6.3.patch 656 SHA256 ef91a0c7743d4773a285d4e61e264ea3d94d6d74ca4c1a17b7b6934a755eff75 SHA512 d88e59a0082d01b7ae8bca1dd9870400b7e0b0e39eeb4fdce564bccfd615fadee6235c3cf1e3ef8074f74c17188144c93380cd499b215b5025304b0b2d272501 WHIRLPOOL 111e3be4bb82c2bfb8f2b7ed3ae6f1a36a90c63029000a4f5a1edf304911a3626d4adab6a231c17dc0020613c1892f30b711cfd9baf1c9eedb6f2cf727189cdd +AUX gcl-tcl-8.6.patch 3331 SHA256 1a2a267b2bf993dde577686190ef3757c7a25f69bbe88811385074de987c8338 SHA512 108835fd285d6198935c6c1d20c96bc405f3c47dec66fc30201e01cd163734933cc0107b9a9035f728a594f1280a0c1bbfde2087ba5149d46c3b55ca066e3ca4 WHIRLPOOL 5a4cb6c43769de29def6b95a0a72fa4e9fc226e9f0827f5460a46f8bf74f9bbe60b7d57c4034149e4035f9d5f17925ea1b81e47343f8ae2866216d134c299ca6 +DIST gcl-2.6.10-fedora.tar.bz2 695718 SHA256 629da9f8288585d088017140da96de09d82a12ed0cf2f139f4fe9d9b5957ad96 SHA512 3e0ffaec859783443a8941a29302c7a17c9538ef2177d449ad34e24292c174de7bb8760a6d327e08f012773032f0d0a5230b79c7e4b4f5bad8354bf10a28af4c WHIRLPOOL 35dd9239ac27f99b98e8b1eb822f39e18b0ea1edcb991ff7b1b441408475148ac684a96ae2df6ea83e979297269c10520fdbdbf4f5b4377a26e7b071d6c26fd1 +DIST gcl-2.6.10.tar.gz 5490689 SHA256 79a1fb2f92b5e86f24988448db3e34116ab6ef7c93ad839848edd01ad06651ef SHA512 bbaacce712f15130550bcdf7e53edf4df9ab955e84ec701087034115df1c1e657d956853d5db85d7e88709981f9b7fd4c9df7acf6c8588a8ccf5f05e4e666aed WHIRLPOOL 8253507a02bd3adcf313e359fb346b19a2cc207c5a137b461addc117f00516cdd6ca28e0a7b5c0f3a48b72ba8f0bf2a3d6098297875db3281c0ef53ece474dfa +DIST gcl-2.6.11-fedora.tar.bz2 680715 SHA256 cda649cf9049838bb8c69a02ab867b71c4944dad73c8cd5ca873e72c5efd2421 SHA512 a38e92571c0558aebe1f36613afb6da29338b9c1b779df2db6b6e5ad5b79758523a2036dc4d29d192a19a1a71103c42022f165e1a138e469338afcc117599eb9 WHIRLPOOL 01437336dfa1d92517a5de46cf6948e040b6b0a8eca309241e7f061cf62417ae26d4e8fa783b3eae56436187c3dab39463fbec968a543e53bff310e6b70c2213 +DIST gcl-2.6.11.tar.gz 7047082 SHA256 44058f029a631e8ebae38c6c5a25e2f986b5bfdd8e6283b32d7e56723efafb9c SHA512 0cec0e0e138ec13bccd5e52b2f803ccc6be5afc3c284c26550abb4392488fd8cf0085d5c3a99d9a6aba24dc2f7160341c98741003d8d09728e99da1cd909b325 WHIRLPOOL 610c8fb062381f66badc5e1982b502b891467041c21d695c228f1ff028e5570f96fd57cf620f92466bce3369263a493b8e3bf855cd76d389a6a617f65f6e4e59 +DIST gcl-2.6.12-fedora.tar.bz2 680471 SHA256 81108db301666552c2172a21b9b2f6e0d0c0594e79f8c2b0bf05d72152e6e53c SHA512 7640f8370754c889e2db9d047c4476195f949f4d97eafc7ef81761c1a548e24125d6d93381227b55f1840c3d127770995e88bf66f83c6952e121f5fa004e7f1a WHIRLPOOL bdaa561d275b3cc966f891653e61aa35a971b3de572bf7f9864cf4af0deda6d713f91f883cc445976c02e2fce0dd849c013d275a409082bedd82a8fc796833e1 +DIST gcl-2.6.12.tar.gz 7031837 SHA256 8eb8491bccafc49683599e92a30ba36db0825dd4bb138a104cb662b9b0d090e8 SHA512 e82b5bdded6f846de4ea35a83bc8294043ba6d4fe03ff421f8753e78add1e5e87124782f672cd38ad89bbec1ca7c5ff69fe2621be1552b209516b58b6c97fd20 WHIRLPOOL 30ef1bb4593ce2542352dd312bbe5427fb0ddabcc9734998976bcd556971c727275d7ebb1774d06f7ffb46da058a06b971b159cc431b763ae1a4ee9d38bc0a45 +EBUILD gcl-2.6.10.ebuild 3915 SHA256 c3e7002e7904be372cb5ed73bb5570957d2b6ccca9529b10adaf2fc02614d97b SHA512 fde90b244bbd20d2e5516637a6752cc1f1b5252dc4c582f4ee0e8ab782acb352ff0c88baf1eb029e992b03e88fccd6c6c9dd8469e52de5b457c24e82775aa348 WHIRLPOOL a558477b66efdb91127be1c9adaf13ad1a7dc75dd1abde096481f8ed8ac2181fa8ca811b597e49d285e652d961ad54989f4414b17632addbac57a9f3d3dbac97 +EBUILD gcl-2.6.11.ebuild 3756 SHA256 b11ec9cc2ee7090b6dc1d6ac1a5f8b3e0f3b62f536c0cf3c1286e8238bc0a48f SHA512 33b245fc258040e5307bb5af1ca6ac0e372ccbe1c128d29be56167a3257e5266f78aed48f30eeb7d61e880dbbccc888fd659d4d39626e7d7b701062913cca6fc WHIRLPOOL 8d0d9982ff2c841c99d3f132629b61bf3d8e9b944b58211a74c25f69dd7f0523314ca985922a2277beba9db63a895b3021930f50f6aa13a91da6cf31ccbe0b3a +EBUILD gcl-2.6.12.ebuild 3772 SHA256 f3fe9dad209185448d2928a073798c902e94f581fb26a149ee68326da3afcea2 SHA512 753ad34500e1dbd4d9123728ba0613912e3e8f96b655e79499563d9e7082e2e5417dd063bc1afe38746508bc7b69c28a783063056e58648706ae7472c244897d WHIRLPOOL 9625a9bb9ad279095a0592bc6ef3c071ba796e653f31a34a0d1bde40c3c79ee97f01fff01591547122987aff85a47b2f90c4c12d0ccfdd14462c0d28c3e2d76c +MISC ChangeLog 3632 SHA256 d1cdb5309d58e3490fcba75d9ab47ca758f3edc82398b0543bf1f777ca474508 SHA512 589d24bce0b4de999418847200bf9de48af212fbc05a7eb975628ee17565a5528f474cf776301b25792953594f31dde32b37afbba7e78f8e6adfc96edae6c9d7 WHIRLPOOL 7560e96bee990bcea496c93968e541d57f10348e35752f5b62d27d1f6c2bbf4d3556a376350680e51313df29364f4f758494c0ba00b194c9bd195e9a75bd319f +MISC ChangeLog-2015 11014 SHA256 824e75e8a74558523eb7e3ffb61b5e9ce57460d694f734f8b8a9de1b103028ca SHA512 165a03f2efbb78b548dd1303f5c6d507f1986f546058fb7cd65bf706265b9d974591ba6e39d589765a10db7fa9c685fe8d80dea9b5fc08784be85369932f8320 WHIRLPOOL f37b2808a9e900aadb88757d9155032d5ed5e6d2a4f29d4a72838f783e5664c2df118d1d62c7ac9acf7a8362b67dcd9ac5f03537831e887f4c677aee31b14150 +MISC metadata.xml 721 SHA256 c552492816814b49788b5fde819d4cba020243b85f531531ccc44c1e0900415c SHA512 b1517bb263ce834d3c98f3a24e9defbfc96b29c781624456b3967eef81d5586c4bc4c6d8d6fec3b392a4de4d81b9d60f5418ed6d00065f644db57c9613e4cd2a WHIRLPOOL fd363d180ba5298edd60f055bd80a583102457268899bb0f539d2d2c07ae071041a3bc5890c23ce7f41a4c3475ee867c35bb71c73edb08d0fad2a69dc15e9d4a diff --git a/dev-lisp/gcl/files/64gcl-gentoo.el b/dev-lisp/gcl/files/64gcl-gentoo.el new file mode 100644 index 000000000000..7b7cee00bac8 --- /dev/null +++ b/dev-lisp/gcl/files/64gcl-gentoo.el @@ -0,0 +1,5 @@ +;; site-init for dev-lisp/gcl +(add-to-list 'load-path "@SITELISP@") +(autoload 'run "gcl" "Run GCL." t) +(autoload 'gcl-mode "gcl" "GCL mode." t) +(autoload 'dbl "dbl" "GCL debugger." t) diff --git a/dev-lisp/gcl/files/bootstrap-gcl b/dev-lisp/gcl/files/bootstrap-gcl new file mode 100644 index 000000000000..cf964c4b5bea --- /dev/null +++ b/dev-lisp/gcl/files/bootstrap-gcl @@ -0,0 +1,7 @@ +(compiler::emit-fn t) +(compiler::link nil "bootstrapped_ansi_gcl" + (format nil "(progn (let ((*load-path* (cons ~S *load-path*)) + (si::*load-types* ~S)) (compiler::emit-fn t)) (when (fboundp (quote + si::sgc-on)) (si::sgc-on t)) (setq compiler::*default-system-p* t))" + si::*system-directory* (quote (list ".lsp"))) + "-lutil") diff --git a/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch new file mode 100644 index 000000000000..07d3892eb0b6 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch @@ -0,0 +1,8 @@ +diff -r -U1 gcl.orig/makefile gcl/makefile +--- gcl.orig/makefile 2014-10-23 23:29:00.000000000 +0200 ++++ gcl/makefile 2016-02-17 18:10:29.871808118 +0100 +@@ -267,3 +267,3 @@ + $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"cmponly.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\ +- $(CC) -E -I./$(HDIR) - |\ ++ $(CC) -E -P -I./$(HDIR) - |\ + $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@ diff --git a/dev-lisp/gcl/files/gcl-gmp-6.patch b/dev-lisp/gcl/files/gcl-gmp-6.patch new file mode 100644 index 000000000000..f66638478af1 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-gmp-6.patch @@ -0,0 +1,8 @@ +diff -r -U1 gcl.orig/configure gcl/configure +--- gcl.orig/configure 2013-11-11 21:55:48.000000000 +0700 ++++ gcl/configure 2014-03-30 17:25:04.874994142 +0700 +@@ -5027,3 +5027,3 @@ + int main() { +- #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5 ++ #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5 || __GNU_MP_VERSION == 6 + return 0; diff --git a/dev-lisp/gcl/files/gcl-readline-6.3.patch b/dev-lisp/gcl/files/gcl-readline-6.3.patch new file mode 100644 index 000000000000..063c772f1051 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-readline-6.3.patch @@ -0,0 +1,18 @@ +diff -r -U1 gcl.orig/o/gcl_readline.d gcl/o/gcl_readline.d +--- gcl.orig/o/gcl_readline.d 2013-11-11 21:55:48.000000000 +0700 ++++ gcl/o/gcl_readline.d 2014-03-30 18:29:42.131967005 +0700 +@@ -53,2 +53,9 @@ + ++/* Deprecated CPPFunction disappeared in libreadline-6.3 */ ++#if defined(_RL_FUNCTION_TYPEDEF) ++#define RL_COMPLETION_FUNC_T rl_completion_func_t ++#else ++#define RL_COMPLETION_FUNC_T CPPFunction ++#endif ++ + int readline_on = 0; /* On (1) or off (0) */ +@@ -471,3 +478,3 @@ + #ifdef RL_COMPLETION +- rl_attempted_completion_function = (CPPFunction *)rl_completion; ++ rl_attempted_completion_function = (RL_COMPLETION_FUNC_T *)rl_completion; + #endif diff --git a/dev-lisp/gcl/files/gcl-tcl-8.6.patch b/dev-lisp/gcl/files/gcl-tcl-8.6.patch new file mode 100644 index 000000000000..cfbf82e32899 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-tcl-8.6.patch @@ -0,0 +1,103 @@ +diff --git a/gcl/gcl-tk/tkMain.c b/gcl/gcl-tk/tkMain.c +index 74475cc..21c6c59 100755 +--- a/gcl/gcl-tk/tkMain.c ++++ b/gcl/gcl-tk/tkMain.c +@@ -42,6 +42,11 @@ + #if (TK_MINOR_VERSION==0 && TK_MAJOR_VERSION==4) + #define TkCreateMainWindow Tk_CreateMainWindow + #endif ++#if TCL_MAJOR_VERSION >= 8 ++#define INTERP_RESULT(interp) Tcl_GetStringResult(interp) ++#else ++#define INTERP_RESULT(interp) (interp)->result ++#endif + + + /*-------------------------------------------------------------------*/ +@@ -276,7 +281,7 @@ TkX_Wish (argc, argv) + + if (Tk_ParseArgv(interp, (Tk_Window) NULL, &argc, (void *)argv, argTable, 0) + != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + exit(1); + } + if (name == NULL) { +@@ -309,7 +314,7 @@ TkX_Wish (argc, argv) + + /* mainWindow = TkCreateMainWindow(interp, display, name/\* , "Tk" *\/); */ + /* if (mainWindow == NULL) { */ +-/* fprintf(stderr, "%s\n", interp->result); */ ++/* fprintf(stderr, "%s\n", INTERP_RESULT(interp)); */ + /* exit(1); */ + /* } */ + /* #ifndef __MINGW32__ */ +@@ -362,7 +367,7 @@ TkX_Wish (argc, argv) + Tcl_FindExecutable ( argv[0] ); + #else + if (Tcl_AppInit(interp) != TCL_OK) { +- fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result); ++ fprintf(stderr, "Tcl_AppInit failed: %s\n", INTERP_RESULT(interp)); + } + #endif + /* +@@ -372,7 +377,7 @@ TkX_Wish (argc, argv) + if (geometry != NULL) { + code = Tcl_VarEval(interp, "wm geometry . ", geometry, (char *) NULL); + if (code != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } + } + +@@ -402,13 +407,13 @@ TkX_Wish (argc, argv) + + fullName = Tcl_TildeSubst(interp, tcl_RcFileName, &buffer); + if (fullName == NULL) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } else { + f = fopen(fullName, "r"); + if (f != NULL) { + code = Tcl_EvalFile(interp, fullName); + if (code != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } + fclose(f); + } +@@ -443,7 +448,7 @@ TkX_Wish (argc, argv) + error: + msg = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY); + if (msg == NULL) { +- msg = interp->result; ++ msg = INTERP_RESULT(interp); + } + dfprintf(stderr, "%s\n", msg); + Tcl_Eval(interp, errorExitCmd); +@@ -566,13 +571,13 @@ StdinProc(clientData, mask) + || code) + { + char buf[4]; +- char *p = buf; ++ char *p = buf, *string; + /*header */ + *p++ = (code ? '1' : '0'); + bcopy(msg->msg_id,p,3); + /* end header */ +- if(sock_write_str2(dsfd, m_reply, buf, 4 , +- interp->result, strlen(interp->result)) ++ string = INTERP_RESULT(interp); ++ if(sock_write_str2(dsfd, m_reply, buf, 4, string, strlen(string)) + < 0) + { /* what do we want to do if the write failed */} + +@@ -752,7 +757,7 @@ guiBindCallback(char *szNameCmdProc, char *szTclObject, char *szModifier,char* a + code = Tcl_Eval(interp, szCmd); + if (code != TCL_OK) + { +- dfprintf(stderr, "TCL Error int bind : %s\n", interp->result); ++ dfprintf(stderr, "TCL Error int bind : %s\n", INTERP_RESULT(interp)); + + } + return code; diff --git a/dev-lisp/gcl/gcl-2.6.10.ebuild b/dev-lisp/gcl/gcl-2.6.10.ebuild new file mode 100644 index 000000000000..6b2fd2d6d601 --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.10.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1 + tk? ( dev-lang/tk ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/man.patch + epatch "${WORKDIR}"/fedora/reloc-type.patch + epatch "${WORKDIR}"/fedora/largefile.patch + + epatch "${FILESDIR}"/${PN}-tcl-8.6.patch + epatch "${FILESDIR}"/${PN}-gmp-6.patch + epatch "${FILESDIR}"/${PN}-readline-6.3.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure + sed -e 's|@EXT@||g' debian/in.gcl.1 > gcl.1 +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + mv "${D}"usr/share/doc/*.dvi . + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + rm -rf "${D}"usr/lib/gcl-*/info + + rm doc/makefile elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins *.dvi + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/gcl-2.6.11.ebuild b/dev-lisp/gcl/gcl-2.6.11.ebuild new file mode 100644 index 000000000000..a49d2af852f7 --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.11.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1 + tk? ( dev-lang/tk ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/selinux.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/reloc-type.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/largefile.patch + epatch "${WORKDIR}"/fedora/arm.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure + sed -e 's|@EXT@||g' debian/in.gcl.1 > gcl.1 +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + + rm elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins info/*.pdf + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/gcl-2.6.12.ebuild b/dev-lisp/gcl/gcl-2.6.12.ebuild new file mode 100644 index 000000000000..1d4449e6009a --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.12.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1 + tk? ( dev-lang/tk ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + epatch "${FILESDIR}"/${P}-gcc5.patch + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/selinux.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/largefile.patch + epatch "${WORKDIR}"/fedora/arm.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + append-cflags $(test-flags-CC -fgnu89-inline) + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + + rm elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman man/man1/gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins info/*.pdf + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/metadata.xml b/dev-lisp/gcl/metadata.xml new file mode 100644 index 000000000000..28952c76fa9e --- /dev/null +++ b/dev-lisp/gcl/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> + GCL is the official Common Lisp for the GNU project. Its design + makes use of the system's C compiler to compile to native object + code, providing for both good performance and facile portability. + </longdescription> + <use> + <flag name="ansi">Build a GCL with ANSI support (else build a traditional CLtL1 image)</flag> + <flag name="athena">Build xgcl - an interface to <pkg>x11-libs/libXaw</pkg></flag> + </use> +</pkgmetadata> diff --git a/dev-lisp/gentoo-init/Manifest b/dev-lisp/gentoo-init/Manifest new file mode 100644 index 000000000000..85712da5adfc --- /dev/null +++ b/dev-lisp/gentoo-init/Manifest @@ -0,0 +1,8 @@ +AUX gentoo-init-1.lisp 367 SHA256 45f0359425b141bfb12a9c5179b889627c75954a8d6ff2b1d38dffe3c780dfd0 SHA512 e7ff76fa8d6663f904d77438ea4e521ce4b35ef0dac0a7fbaa1797f89bcf2daa34d8cfedbe5af2621ef68cce906f88f2936eb2afd6ab2bb9dba1c31040b2e395 WHIRLPOOL 52720ad751a0ceccb0f7abba761c3ece117f1090bd8f046cf4b8ba584893190beeafe55c0fb1fc637fe2d09a73d9eee3349335ad6bd5ee5492a649263c3d9b7c +AUX gentoo-init.lisp 378 SHA256 ea19a1a891db57c9e1fa9cd19bcf2a801c93fbe3a31e54d1baf4bbac388cb258 SHA512 e3433ea5ab34d756b989f3b03fd27fef7b71918efa608c0ea9c481c37dca59af2c7f0520f55a9f0d8bdcb4c7345a0fd81a702dc30a60dc435ddf4b1430f58982 WHIRLPOOL db6ca5d1fbf68a4c563eacd8449aff2579aa5bdd067f16839a18b84c6a0f26843d21cec7183672b1d1c77bbd30bb5f7c264e9af47f9aaedcc00ede4b61df7b82 +AUX source-registry.conf 114 SHA256 dd0f7235836705c3d310c8ff90374850370bcf418437922a4979973936d672b7 SHA512 1d42cf9f1b349eb8d8adea2e05a76fcbb7dc6aba34c1227d9aaca18f4b93e773d05389c4dce7be4621a644b2d955d26f9338829d769fed72501852a28dc8a19d WHIRLPOOL 8e1a71997454cbf00834f462ed832bad42220877426ece1bb0f0040f11ebe3de9975bc8ef58dad013ed2503357942e409624faa7fa4570bb920bd3c4f87a0416 +EBUILD gentoo-init-0.1.ebuild 509 SHA256 bc2eb88346d357c4704225a3c032c7ba66ff74920af0c0af68fe8a04c91515b4 SHA512 9900d68b65ac2238c86b63f1f7fa4aba288bd5db01577a64b83f3fd191cbeda618e74bb58c44c4ba21986f48488b309fb2534857529e180bb03ad3c365db850c WHIRLPOOL 5780b31618ed5d6dd31144fd466f8e874d590aff474fb5c3f44b08494185fd724b0a9a98a38e235f3bdf07a610c18695d1218d9a11e2d66565b134b6a531f117 +EBUILD gentoo-init-1.0.ebuild 512 SHA256 2b950b090aa226bcf08cc33cd2712a1cb0c8ba83fe251cd5113f1e2739f87252 SHA512 baed3b353e5b299fb855c81a8961bda7cd21583aae9ef6cf14879c0138135e04521fbfb207d56b7d9b9427eb8102bc7a8a0d48e5c12ad9a0ad80352dc6a30060 WHIRLPOOL 7517ddd532ad5f19cd8c4a1b38aa80c67814568116de5df9fd26bff2c3a757f250fd34c11da6c7290caa999096e0e0af729686f2a873aae559ff3509fb2c13d4 +MISC ChangeLog 2626 SHA256 22029adea6867be5d3461c3347794cb39e8d9da4c435db91519bd37f29e05803 SHA512 f107b41a0dbe5fc4cd019303822ac4496372d36787193110dd15e678317c4d156d6d45e895f76711b4cca1f16851b9782cacf17159bedc7836f893353501c4e3 WHIRLPOOL a3f125618f04c657c5754f9a25d9ecf1c3a9f82fe80afbe169f6886d1cbeba6874d50cb81e45154febfff679559eec889a693e93c177ae2aba5ee3429a30a78f +MISC ChangeLog-2015 2169 SHA256 8fdcc2df918c4966e6a1f062eb7985c3ec9d76437c7e7109a19bc96fdbf10938 SHA512 0f1b77846f9ec9b9cf2670af6d6645498cbde8e8836731c2e5d7104f6dbf6aa1afe365d678b6ec64160238cffa5024f5ff718bbbe86802c952ecaa23b48b0860 WHIRLPOOL 8f5bc8ba335ee94c7a8ab12cf9e4508216aba9e60046aab2ce4f0f9a2a69d76940038dd62980dee07e9472118551cd91dcd176d4c79d1772bfe2658b28c3fd5d +MISC metadata.xml 261 SHA256 627a8fb846aff40f2f1e29e77040baa5b21fd7663158ab97b84012e0b5e2f742 SHA512 fb754c4ed3579db5dbe303197a05647b7cfab0a3fe47fd2140d5f77641be752d10ccf49a9c267406a0f3ba3dcda8831f778b9596d723f65aff10142bfad60d3d WHIRLPOOL 02fb9a9a64cd705025462ef7601b9b452954c62e41f57422a5a74e6e0c84695aca510635335b0cf35031dfbe75142c0feb06ce1ba4f2794c6230378d772c3ae3 diff --git a/dev-lisp/gentoo-init/files/gentoo-init-1.lisp b/dev-lisp/gentoo-init/files/gentoo-init-1.lisp new file mode 100644 index 000000000000..263aedd10c29 --- /dev/null +++ b/dev-lisp/gentoo-init/files/gentoo-init-1.lisp @@ -0,0 +1,11 @@ +(in-package #:cl-user) + +(let ((*compile-print* nil) + (*compile-verbose* nil) + #+cmu (ext:*gc-verbose* nil)) + (handler-bind ((warning #'muffle-warning)) + (load #p"/usr/share/common-lisp/source/asdf/asdf.lisp" + :print nil :verbose nil) + #+ecl + (load #p"/usr/share/common-lisp/source/asdf/asdf-ecl.lisp" + :print nil :verbose nil))) diff --git a/dev-lisp/gentoo-init/files/gentoo-init.lisp b/dev-lisp/gentoo-init/files/gentoo-init.lisp new file mode 100644 index 000000000000..e09dcb0ae43f --- /dev/null +++ b/dev-lisp/gentoo-init/files/gentoo-init.lisp @@ -0,0 +1,7 @@ +(in-package #:cl-user) +#+(or sbcl ecl) (require :asdf) +#-(or sbcl ecl) (load #p"/usr/share/common-lisp/source/asdf/asdf.lisp") +(push #p"/usr/share/common-lisp/systems/" asdf:*central-registry*) +(asdf:oos 'asdf:load-op :asdf-binary-locations) +(setf asdf:*centralize-lisp-binaries* t) +(setf asdf:*source-to-target-mappings* '((#p"/usr/lib/sbcl/" nil) (#p"/usr/lib64/sbcl/" nil))) diff --git a/dev-lisp/gentoo-init/files/source-registry.conf b/dev-lisp/gentoo-init/files/source-registry.conf new file mode 100644 index 000000000000..45e1fdfc5aa0 --- /dev/null +++ b/dev-lisp/gentoo-init/files/source-registry.conf @@ -0,0 +1,5 @@ +;; -*- Mode: Lisp; -*- + +(:source-registry + (:directory "/usr/share/common-lisp/systems") + :inherit-configuration) diff --git a/dev-lisp/gentoo-init/gentoo-init-0.1.ebuild b/dev-lisp/gentoo-init/gentoo-init-0.1.ebuild new file mode 100644 index 000000000000..de448bb19336 --- /dev/null +++ b/dev-lisp/gentoo-init/gentoo-init-0.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="3" + +DESCRIPTION="Simple ASDF-BINARY-LOCATIONS configuration for Gentoo Common Lisp ports" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Common_Lisp/Guide" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86" +IUSE="" + +S=${WORKDIR} + +DEPEND="dev-lisp/asdf-binary-locations" +RDEPEND="${DEPEND}" + +src_install() { + insinto /etc + doins "${FILESDIR}"/gentoo-init.lisp +} diff --git a/dev-lisp/gentoo-init/gentoo-init-1.0.ebuild b/dev-lisp/gentoo-init/gentoo-init-1.0.ebuild new file mode 100644 index 000000000000..7a31af2a4b8d --- /dev/null +++ b/dev-lisp/gentoo-init/gentoo-init-1.0.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +DESCRIPTION="Simple ASDF2 configuration for Gentoo Common Lisp ports" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Common_Lisp/Guide" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +RDEPEND=">=dev-lisp/asdf-2.0" + +S="${WORKDIR}" + +src_install() { + insinto /etc/common-lisp + newins "${FILESDIR}"/gentoo-init-1.lisp gentoo-init.lisp + doins "${FILESDIR}"/source-registry.conf +} diff --git a/dev-lisp/gentoo-init/metadata.xml b/dev-lisp/gentoo-init/metadata.xml new file mode 100644 index 000000000000..7ea645c67e72 --- /dev/null +++ b/dev-lisp/gentoo-init/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +</pkgmetadata> diff --git a/dev-lisp/hyperspec/Manifest b/dev-lisp/hyperspec/Manifest new file mode 100644 index 000000000000..73d2b098deb0 --- /dev/null +++ b/dev-lisp/hyperspec/Manifest @@ -0,0 +1,5 @@ +DIST HyperSpec-7-0.tar.gz 2032830 SHA256 1ac1666a9dc697dbd8881262cad4371bcd2e9843108b643e2ea93472ba85d7c3 SHA512 1b9058fe1ae2e283f4a68211dc659021e04bd10373d7c2392f4fa496543e2454f96c7eb671bcb1e72c906456792f8a265a5e34bac24d01e2c0e7fb1ce359c370 WHIRLPOOL 67550f4a52599fd36a4d185ff3554245a5b57d7ade60bd0019bce622113d9747a18eebc0a65313e8468522912e711183fd9db37da2b903524935ba89bbd4e936 +EBUILD hyperspec-7.0-r1.ebuild 587 SHA256 8b2c71d79a80442975d7b4cc6b5d718ad1679397a88a39648144d4d2cfc6d353 SHA512 8c3dcdc237fdacb71889f9e28daeca2e6dc92347843bab5a82ae6a00d483e2cb053c0ec8ba5445ae344658cf6533424ac4b744280ce833ecab113103d4708aa3 WHIRLPOOL 24ef1af5f59869c7bca5609b6052af54a8ee1a228d05f8a3f05128ae19951fb7780432c6c71dfc68dc6f78cc4515df360d9749abdd2cc36b732b681bb3151306 +MISC ChangeLog 2780 SHA256 e1dfebe8cda3c1c74d6560df182fbec2e7522124b4f6354da91cfbd5c36f4bbe SHA512 3c3d4751f9abaf6d10b585f18a952b18e84cdd73c55184c088f5bc0e88b809798c0a9d8c4739c88c9fa9978939c859ea42109c3e60375cc67f25d4866f5ece77 WHIRLPOOL 3c70e9f5bef6c3c94ba46310639a8e013ae8506ce88bdbbda580a351cd7282ac7945dc1ad7ff1e157cf30f00fa2186629107ac00016394ab632f07ba182817e6 +MISC ChangeLog-2015 1421 SHA256 b259fa69eb9bb9c787265454d7aee488b0fe64d57baa715b0669374cbbd2a691 SHA512 d36a4395b1dea63f8d87c8c9cf4d16a06a47596d974402f2331ef4774b55bed1d4fac97d8283dd4e1218e31f8903b7e3b99685bcfcf819767a4603032fbf0844 WHIRLPOOL 475143b8bbb503405dbc535dc80a68a3041ae46805bcde6cc420c97b0d685d19aa687acf182c38db63083930ecdde05abcdc0cf9c5c01d37e1461560c6893dbc +MISC metadata.xml 261 SHA256 627a8fb846aff40f2f1e29e77040baa5b21fd7663158ab97b84012e0b5e2f742 SHA512 fb754c4ed3579db5dbe303197a05647b7cfab0a3fe47fd2140d5f77641be752d10ccf49a9c267406a0f3ba3dcda8831f778b9596d723f65aff10142bfad60d3d WHIRLPOOL 02fb9a9a64cd705025462ef7601b9b452954c62e41f57422a5a74e6e0c84695aca510635335b0cf35031dfbe75142c0feb06ce1ba4f2794c6230378d772c3ae3 diff --git a/dev-lisp/hyperspec/hyperspec-7.0-r1.ebuild b/dev-lisp/hyperspec/hyperspec-7.0-r1.ebuild new file mode 100644 index 000000000000..b11c8d53f3b2 --- /dev/null +++ b/dev-lisp/hyperspec/hyperspec-7.0-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_PV=${PV/./-} +MY_P=HyperSpec-${MY_PV} + +DESCRIPTION="Common Lisp ANSI-standard Hyperspec" +HOMEPAGE="http://www.lispworks.com/reference/HyperSpec/" +SRC_URI="ftp://ftp.lispworks.com/pub/software_tools/reference/${MY_P}.tar.gz" +LICENSE="HyperSpec" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86 ~x86-fbsd" +IUSE="" +DEPEND="" + +S=${WORKDIR}/ + +src_install() { + dodir /usr/share/doc/${P} + cp -r HyperSpec* "${D}/usr/share/doc/${P}" + dosym /usr/share/doc/${P} /usr/share/doc/hyperspec +} diff --git a/dev-lisp/hyperspec/metadata.xml b/dev-lisp/hyperspec/metadata.xml new file mode 100644 index 000000000000..7ea645c67e72 --- /dev/null +++ b/dev-lisp/hyperspec/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +</pkgmetadata> diff --git a/dev-lisp/metadata.xml b/dev-lisp/metadata.xml new file mode 100644 index 000000000000..6258c8c7b1b4 --- /dev/null +++ b/dev-lisp/metadata.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The dev-lisp category contains libraries and utilities relevant to the + Lisp programming language. + </longdescription> + <longdescription lang="de"> + Die Kategorie dev-lisp enthält Bibliotheken und Werkzeuge für die + Programmiersprache Lisp. + </longdescription> + <longdescription lang="es"> + La categoría dev-lisp contiene librerias y utilidades referentes al + lenguaje de programación Lisp. + </longdescription> + <longdescription lang="ja"> + dev-lisp カテゴリーにはLispプログラミング言語に関連したライブラリーと + ユーティリティが含まれます。 + </longdescription> + <longdescription lang="nl"> + De dev-lisp categorie bevat bibliotheken en hulpmiddelen voor het gebruik + van de programmeertaal Lisp. + </longdescription> + <longdescription lang="vi"> + Nhóm dev-lisp chứa các thư viện và tiện ích liên quan + đến ngôn ngữ lập trình Lisp. + </longdescription> + <longdescription lang="it"> + La categoria dev-lisp contiene librerie ed utilità per il linguaggio di programmazione Lisp. + </longdescription> + <longdescription lang="pt"> + A categoria dev-lisp contém bibliotecas e utilitários referentes + à linguagem de programação Lisp. + </longdescription> + <longdescription lang="pl"> + Kategoria dev-lisp zawiera biblioteki i narzędzia związane z + językiem programowania Lisp. + </longdescription> +</catmetadata> + diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest new file mode 100644 index 000000000000..5bff8e7e24c4 --- /dev/null +++ b/dev-lisp/sbcl/Manifest @@ -0,0 +1,75 @@ +AUX bsd-sockets-test-1.2.11.patch 14240 SHA256 9e806f10465f83a5248702d863a2f3c64ec659066d79c24c1879bb19763529f4 SHA512 5da3fcb4b0e76abd218716b14d5deb1612b100761672216330105afb591c83408910a5de10e99e2f6d9372036c7f6897b889a9241ef84b0564600eddfba83073 WHIRLPOOL dad84c2d84e778ae3b97491ef8d88f44a7ce2143ba9ad579b67802f642fcf4e76ffb60ad90f21b69a0f902218e1397629ed6160353a31e9e5a1d168ec39fb9de +AUX bsd-sockets-test-1.3.12.patch 14295 SHA256 fd088c04d36a09a606714443f395333cfd9465e7988b5eff7acf10c7b40a6fca SHA512 68b79abcc0cfe4b792be9307d0bdf7fd750764cf2dd414a432013ac7cd665fa5ba57b952d4a5f38d0a937e5af9ae01148c6d2b373c8f6ccdf7a121de9c5f3d3d WHIRLPOOL fc1a4889573bd6d930335d1fa9f81f392131f2b605447280f3dfa0e2afe7f885ff4dfc0ece357e492b65e81b369f6b823eaaadb1db9aa9a684ee834cadf3121a +AUX bsd-sockets-test.patch 748 SHA256 e23fff91524c4a5c12e5e6b088c9b9785ea86854690583b44118f4ed56fa423d SHA512 d46e08c92d8bf98095762b1a8601c9f9292ea41f55f0089f7fd150977b9cacdf7edd9340fab4242a9c100d7023bd7f12e4dd492c435bbdb2d849a6aba6907e42 WHIRLPOOL 435ac6780f8412fe982acc75902e577f9ff266ce05b14f629e70492a115f1bba5e84d9787fff9a595a549b7fb4e275bdfbd4a5c6701872d9641383663aceb6c7 +AUX concurrency-test-1.2.6.patch 1069 SHA256 1892dd13befdf551b346b1a17d1f3765b1a1024c62d3a725e6ab8af929b04021 SHA512 6969cec62ee9ee0ecb2aff34c854f51fd93b52f768ed1e1bf7cb3686c370c6e6b1d0691159b5d404f8d5e12e90a1447e6098ed83b0bb1ff4dc7f454f7052ec53 WHIRLPOOL e67e5eaafb44e4cd45812a4716b8d237e2316f0c280fc09ccb06117b0f91866fed4e6d49073fd727bf21b6e29836ede2b2edd6cd49a311275247c2140a3d3293 +AUX concurrency-test-1.3.15.patch 967 SHA256 fbb238f0e3dbb2aba86865d9bf6225d1b9ff1f97f5f784f25243f8c6dbe3f783 SHA512 628429eacd8c513190229260fcfc8ce403072fb7b4bade10c3b65e30a3fc60f1057b018b7043590a205626f3e2f05b244ffd48afa864911d350d37aa84eb1a98 WHIRLPOOL f570180a0b01de579134cd2f8453dc8db9ac16491bcef0497e2882944765b46bc29349ebc5ea6e7b44f787b1692efebc0f99099e7ca5ea7ce342563de652dea4 +AUX gentoo-fix_install_man.patch 399 SHA256 7e3e3f84be6d4dae51953825daaf26d8fe1482fd2f4e9d017297dd8ef55ebe47 SHA512 bc5118ddf2fd851dcabf773cc7443fa0d3f5a5b83715173110f9164c631faaf8c2d6b247f7ac205da23bb388ff459eba228deeaa2a45202870b7f97376564030 WHIRLPOOL abc43631045e56b9d373c3966eb1d2f5575d258db239e6f1f9a2247492fcb0aab8d000ece39c504aeec5462f7e0ce7e6efc3a215e5776fa64d460b20c0f52a21 +AUX sb-posix-test-1.2.15.patch 1325 SHA256 bd7b8c2bbcf462c6514b9630af8d67451ac592964403cd30c5cea3b31dae2798 SHA512 79fd75eb5c44630eb6669b1808029420c7031cc1ba367b8687d7433bf0d19016a7912df0ab21c90aa7e709417ec9784c846c7dcefbc1308a059cbd8b3209dd27 WHIRLPOOL 4792eda2b518d20d19a77fa39716c837fd7acd58f401fb66995114d695e60dc43becad97e4bb8fc087c1d27b3f04648c1014d35298bacce6ce9d0c8272c8e11e +AUX sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch 1024 SHA256 fe2f2e62d480bd5a593c782f14faeeb0fcd3d26507ff4f17aa19fad3a7069843 SHA512 a09efe91a082fd2bed9dc30652f3e5ed51e416697b7b2fee4d6c5f90db0ecbadca7adf652f532d79869fde9186e9d16855f5fd81321cb2a82e1a158d4cde9e97 WHIRLPOOL d475627395ceb118614dd67c1cd9d434cf62a7987bc48a16dad7b564b20daafaf5ddeb807b1bf30b572f6a10ed21b05f0b9773efa05389142762167fc806ca9f +AUX sbcl-1.2.11-solaris.patch 500 SHA256 85eea0c09e88edb42e8f7fc3186625f87febfdd4041d6d3167f42260f23d4918 SHA512 4dbd0cc499f3cb634330db9843e82b88830e45e63402a082f51e02b0dcb1541f35e8cb0410aa25bf283af3c0372a8a39220b3f11b7288de2c5c768ac133780bc WHIRLPOOL 8853a30ca7c0bf3ac23c88476ef5e20c8315f858c34cdf95c72c4626ecdd33b18e79bf7919599a576bc5e4b049de14ec154fbd646da4e79362630cf4706e8977 +AUX sbcl-1.2.13-verbose-build.patch 835 SHA256 8b41486107e4df3886e21ddc090776f06224001fbaa4d77e0ae8a4983424f94a SHA512 da3b1479bec7fc98eab1ae0dc67c0f483512dace899644f8fa7ed5742910a9b852934c86a0b2f4ba4df15715b9dd01cf2d5b826fd6687b67888066b7d3cf8da7 WHIRLPOOL ed55c02a67e3ea4040e60408a40c7246c5993d1f9c961c0a22ef99f15cbd620420a5309b3ba52516fac7859ec41a384bf76f3bb19806ef4e2c6d4eed70b63165 +AUX sbcl-1.3.11-config.patch 630 SHA256 e8667fbb7a6e2d056f2f69b0464624a608b17c651824c048c38cf1f6f15ffc81 SHA512 f76584df3309f76510070752c356396d50114bd180142a7af120c5a6f43c1a0591644ba93d27e04aa88ca79dd13d48accbd48c371bf9e519916db81a5fc4208b WHIRLPOOL ce2b31ceae05e2301c10d10bde5eabb5bf97029501de361b155cf9aee05b263cc48525a3648b0074502f97ba2f0ec150cebffbf289fd7ea1c793244a6e014f81 +AUX sbcl-1.3.13-config.patch 1196 SHA256 78d75e6abcec34eb32191fe974f8f576e2bbafa92b3732c6da6aa1b55300cd75 SHA512 4e783ca03734731f187294902423f6cbcd4140292683145b405e7f9699b811c46e931a8bfa93e2109c040d106fb3b1ba3d9d908e1cf83313de062ffdfbac7a8b WHIRLPOOL 0d69d4a758f670dccaed654dcac286bc0dc7c6cc325776296c78cd3a5fb18a070e4786549cff8e9cb88b757fe56f1c96ab2b77ef8b64e6e04ca9f1d5fb239baf +AUX sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch 624 SHA256 51b24b44e42712ca15b173fb15ad9e058a4d01b13daafdafd4d3d711800829c5 SHA512 47fff24857d1000bc9df4df07806aae2bc9d02108db483f2bf2dd6725f85c02d233a2f928f1da933087d7b6bd651b946389e0e642f475d78a16bb0f6afb800e4 WHIRLPOOL 180e1a46095e4122a7aae4060918a3fdddd7495fa95c25f67787c5df20174a1d06882fd1b2c34677fddcf4fcaa4e4ba18ab62ab0decccb2d4449e84a62a62d92 +AUX sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch 736 SHA256 2bb64f43e3ed0500a2b1912c0cad0c764a744c1016b810f4f800508c0e144532 SHA512 deed8bcd778553afc198d59355c8130da1f1b6f07521bf23418bf104916731b23ff4d01c1c0d1b5f92d64300ed982907fcb0f9d235bb2c9b0026a3ece3745213 WHIRLPOOL 6eae7e0f63129959b5ee531e22b1cccddd7b59f092e3b6076c4493596c09ddb513554c8750d62a20af899b3e08eb7c71387c55057b58055a72d0127864eef434 +AUX sbcl-1.3.16-gentoo-fix_install_man.patch 433 SHA256 65205c558e49d3441bce5a8dd96ba487781976851276efb06a88ddb2c8264161 SHA512 2c50a257da618a303bc5060cf2119ca5d6a5f7dfe0e7d130a2ddb43e2dbc02de3dde0cadcfdb2d6c1ac5cc7aa5b26c5081aac47f11572295982f985473ac03c9 WHIRLPOOL 626e32a152b5049ce9217415d616fdb17fff2e83378a460bb71bc6e3ea61179af3e18d55658d171e65e08769b78a96a78af1607643f9855d5d94a0a3e477f915 +AUX sbcl-1.3.19-bsd-sockets-test.patch 14992 SHA256 57ee7c60ff25a2408e7177a535ca659192ca5a9a610ebd2b5c16be526a9fd964 SHA512 9c1d2558d25aa0bccc7245673a7e85f6b377f4a4e37aaa9417b838c2b602de527de9f1beebd75028d7a3bee2b11ebd6b23dd511436ec6c902c616ca13b502c63 WHIRLPOOL 23255d10be7865a85227342cccebbb08f2060d1d0e70c25d6a4cf86db4c75177095f993d8e7fdbd28fdcb614da722ef77b0306fa0a95879509275e5c28c2567b +AUX sbcl-1.4.0-bsd-sockets-test.patch 15625 SHA256 caa71c71601d638c980be27aba3b5169251514b7670ec0a6aa86a528cc49bf1d SHA512 59120ce76dd3c24b48edebda4d4536eb570fa7fab67ef8e995d89b72c5702333943ea7f39c674091773996b67add22e6fff7abd041acbb0e83a3e0e002097d74 WHIRLPOOL 636a7661bbf50735c74ac1cf777fe76463dd22c265a77716d5bb456372e02fabb26d12b09869e3b716f39838ba094cfe1e5fa5b0c896a26318eb42c8bde4493e +AUX sbcl-1.4.0-verbose-build.patch 936 SHA256 b01dff31eb52bc260bcaa08ff6eaef860eaa966602c2cd19542eb3e2bc2f4c06 SHA512 10b9e32a122910cca131bb5b4f1fbc098fa588a77b6cea2086a4f8458bcd70d5a7c2ad25018ac72b417d6fba8769d09e7debaffc23ef8f9a3b184d7f5729ec8d WHIRLPOOL 5c0438a04febc6ec09021996dc31925f6eaaa2e39d60314424048fdc8e85ad2577b0e12d7c3d69a3a16eeb551e4eb4bc0ea428f5f53f0e73aea21577965164eb +DIST sbcl-1.0.23-sparc-solaris-binary.tar.bz2 7907803 SHA256 08b7c0f14b900d1d047c1a1e12632cde3c61b7fd489be512896faaa6adb4952c SHA512 d641d7859f0d60ce7dd684a0f21e62282a5a658ed6bb4d67d6b141b3ce22d9e27261efe7e5d0f752c30e467cf90d7c8a03ad2a04b3c60042f0ef0a4808a9c74a WHIRLPOOL 22e7714ea7104797bd533044e58da41b8bc8a4b8852e101a42663821334b9074477cd205a3ef2aa7e4e998e28e3d10c4972752e0a6ad2a1a775832280729744b +DIST sbcl-1.0.28-alpha-linux-binary.tar.bz2 7573824 SHA256 0bd8125e1375a75b9dda286439dcbe9861d6df5c6fc8475fd217b8b757edf9cc SHA512 85ceb4d3bf971777f5444a63cbabd88ccfaf16ed3b3c86cc5ea6cb3fd3189c4cd5a5ebbf785c97366afb7026604ffc34a1129936291deede5993056e158125ab WHIRLPOOL 839363a0d2fcc7cf383143fc130c40bf6f03468a89eb4b5eecb39339ba376a6b3a2096938934a91cf689310bff20807d2ac24b99c0d6e3673729b26d9edb83aa +DIST sbcl-1.0.28-sparc-linux-binary.tar.bz2 8032042 SHA256 a2e848ac11b0f16bb91866bd187949d908ad94fabb958a0b56320fc0e8b8923e SHA512 cea1ba06f85169fca9fe3026813c6e7e8e8209b874e048b7bd63cb3a1c5bd7c829e8dbb2c486977e190a0390d28e4845938a9e84378f4f2f16f72bf0b6f45c80 WHIRLPOOL e7f7e9bc7b43cab7b729792a22f0f41be12d8dd97a1c45fa039a49607865b977dd336fef8c7ccda087a9e9e32f92241c83e05da442e12cf883d3dfb3c2fda169 +DIST sbcl-1.0.47-powerpc-darwin-binary.tar.bz2 8217590 SHA256 6971a64c0706894f217da676081874088f50f84daa66d89b653b065f83563f3b SHA512 8118de56e448bce7a72b832e661eb4e2687eed675f88f766f7043c843a432e35121d9e6f9da8d22ac690c54bda0d55ecb07728748ce2cdd57320f49b4b812b86 WHIRLPOOL f91c344a2b99a5a1c2dfe3af0172f548997b9aaf9ad5e865eb76c8311f6114275eda1e7e76af6efe5c1a346d1761f45e374f577313029fa9b83adfdec10c70ad +DIST sbcl-1.1.6-x86-darwin-binary.tar.bz2 9091955 SHA256 5801c60e2a875d263fccde446308b613c0253a84a61ab63569be62eb086718b3 SHA512 5b9d58ba1a7bcf3aa5011ac5ba1c8dba65e44b2c3f8a31b15db54de6b34ea0f7482c45f1cc4e1323e154ce79fbba030112df3795cb323bca46bac50f15d2a138 WHIRLPOOL 673e84bbf685e07568530ccb2c3822dbfffd6226d3de90bfef13078466ae245f63dd2fc4ac48b4d64ca1453cc831ad6913af21540bd3b35fe51700161ca26086 +DIST sbcl-1.2.11-x86-64-darwin-binary.tar.bz2 10038928 SHA256 057d3a1c033fb53deee994c0135110636a04f92d2f88919679864214f77d0452 SHA512 c271796f854fe884e0d8aa6504bbe2e6c078de1555fc9a823463640cfd8c793dbddcb3f32932788d84a41e2b8a085b95c97c13a15c43fc909dcaad18ce25f215 WHIRLPOOL 2c39d1ac1490693b758b54b473970deaa9078f00bc579745fbbed169e696846fda888f105bc77d610a8cb1c0f995c6e6ad572b9163d55b3701db02f7f68824b8 +DIST sbcl-1.2.7-armhf-linux-binary.tar.bz2 9914851 SHA256 5e75a328882b739befcf5c38e8039b830668a8ca7bafe56a9e13ef23f39eb253 SHA512 2c82bdfe4f070a43964e694f81ccdbb84f8dd3bf77c807343daadff877b518fcd52e05513691543ca076c2b6de8bcf8b2e672b31f5ed3f545bedb02bbf7cd868 WHIRLPOOL 8e0eab53a9bfe10a1ccaa5c950e9fe045aeaa23f9f66ca98badd5a0fce3ad5828c0059904c73584dd4591fb3f9b2eefb5210a19f2de9fd8d699d48b0cee3bbef +DIST sbcl-1.2.7-powerpc-linux-binary.tar.bz2 9884585 SHA256 d2f86db4f6fe2b6e6bbc6353ce28dead1b142ed36885080b97304db55aae2861 SHA512 7b9fef12d3d6397adec6a0c26d1431a18b8d91b5bf009034eb2501de9fd60dc04dd2e3cd2d9feb9204d4631360aea88ba07a9ad75dad0767b5dcc5e62e84e790 WHIRLPOOL 4b884ab946e8c54775970aa502054f42a92d01257449796c7d1a6bd1ff5835ddae1c94aa5d936a7a5b115183c6cee5251034646559e4435a6663896fa302c4be +DIST sbcl-1.2.7-x86-64-solaris-binary.tar.bz2 10438955 SHA256 a0a13e83b35dbac36284459747a03c6db20cd089864e16a6380a12a6aa138115 SHA512 9566cebf8fc29ead1f919309e3f98aeb618e97b34c80f53d1f739f1a3f4ef4cbaebd1c67f0b32172a0cdf14dc405eb75d0e916dedf3b8a758cdec2368d25f5c1 WHIRLPOOL 4946b9a4463c92517233298f898510ca57b4127da93d7d42cf28005bbd96b8d1eba7472f73029f45d6c0e75f3de5b893a34f33feee92a60cef8ae4f2b4d4fa0e +DIST sbcl-1.2.7-x86-linux-binary.tar.bz2 10516485 SHA256 724425fe0d28747c7d31c6655e39fa8c27f9ef4608c482ecc60089bcc85fc31d SHA512 ca09beeafeb40f21eb1a377f04a69d57feb5549fa63aadf2e39aa65f3875418bdab755e22b567b3f2c514fb94534b739a57606288912ffc5cddf370a400e9e5c WHIRLPOOL 41b3f5a9749c74f136b8bb4f519409902045cd9501b5b944e7bcbf9336dd6640388641d26f8c345d79a1028ae64bb04fb74228886f8c2ae0eb085a8586635e17 +DIST sbcl-1.2.7-x86-solaris-binary.tar.bz2 10351529 SHA256 a198df14f45cdf302017116744c8946a8b4143291efe1799553554133c22b46a SHA512 b30d40f0095bb43719ba2e1a619f53fe5f0bccaa08a35481bc5feeb0dd5b540018a9ec9f61799de89991a85750577922cb4e56db4d7dab8f07e18bbc643bdad1 WHIRLPOOL 05ad3606b23e6196d443328f367b7351612d0f4991d71a5a04f1f45b5bb604809d6ed11c8cf62bc639d6f9dd8e5704b52a050603d4745713c5818fcbd36852bf +DIST sbcl-1.3.0-source.tar.bz2 5722767 SHA256 d60caf6a0a495e41fc9e7f6a797e7c4188cef1f9de84ca263ff654d4d7ae99b3 SHA512 4bcdc3e4d101ec64b6af2db8101e3b18b298c343d7928984604dc17d531b986787ba84ce1276c41066a9a2c06270d2aeb26870ba7b18ecb7daaa6b3a6c7f6450 WHIRLPOOL e635064fad32556ce0017c3cf27bfda02581dc627b0884d3dc0b1bc44c62cd4a0ea6690997b53414ddd7355cc06647f2952ccf3c2d329baa0e137b5fd992ea3b +DIST sbcl-1.3.0-x86-64-linux-binary.tar.bz2 9830954 SHA256 e6e801f0cc31fd6a14cf20b983c6ef2be5750225fad221bf9621788c0a0a90c5 SHA512 916fdd1627903b7227a6d5962a2534fa2cd9003f832b975c96d0e11c301d73c7c3225cfd4121f10cbcdde87dcac9079b9a48e6737ba9a3d2c18c484bae3c371d WHIRLPOOL a4372dd59df03e0e0e8d2359799e0580b6829e001c219ef28504cc7db8b3a8ad7429ecdcd36bb72ed5196192d9f66b2854c5b6960cd5f97c31afd758a17c6a67 +DIST sbcl-1.3.11-source.tar.bz2 5790557 SHA256 077a2d98f94c62076bcb4dea715a11975b92d85d8de20f5a0d1c36d280397642 SHA512 07cce0b33f1d41bc208827d228ae356b56165bb55fab72c48973a15a63e2e680aafc16db67d36cc4952f71101faaacafd9660276cd67673314f1699d6a91af82 WHIRLPOOL 0e61c415775c4c11d111d6ae830f8be1611fd1674b23c2fc8fead59277af507adc9c4683b066fde9e3c0dfa52023b850f6714f2ec480901718d452e0f25818bf +DIST sbcl-1.3.11-x86-64-linux-binary.tar.bz2 9248214 SHA256 9ab2c149b7ba43e7f6237c1a23e3037078db46a83913040958fa08dd6011dba5 SHA512 ffb443f9e3ede2f9dbdc1bf28554bd59ef1fd5ad855465ee10f9835221fde20211188e881be854b4760870b122dfc6c5ad5c8cad1bea613ffb3b6a6f67a36056 WHIRLPOOL 0a34701abd81cdea411ac37e276660e29f43279509bef28600e7084e9ffc525883e18c42338492b0ccb5fb21e85c91726f978aa20a87deeb92e813a15b36d9fa +DIST sbcl-1.3.12-armhf-linux-binary.tar.bz2 9193847 SHA256 f5851efe3626a7acf1ae11ab471072b3730785de5c6ed07717c9cd746f260c5e SHA512 5bdb4e2b584933e9ee9aaa2ba68328f219f072af802782ee5dedf83baa5c679cd5a1ccbf3458678810ccb8679ffd392d4fba108e86d537e10554c1860bfd4de5 WHIRLPOOL 4f1fb37f0592b2d78e0b8c89e0cd499ac2c499809e036fac1b8bdeb8a39bd5b2e2660add88d697397a7fd6013acdd6af9f2bf479a41c19180787b989471deca2 +DIST sbcl-1.3.12-source.tar.bz2 5795516 SHA256 8039ec01d04baad3ee3ebee7a830757dc488be33ca128f4a0592f8af701759c2 SHA512 2a2969b826dcf9d568204a01546c47af777d5866baa8da809c49ace1655b54cd4c8db1872e322a1d08a4983b0962cc0e2e346816488212709b28867c53233275 WHIRLPOOL 019f5919d2203e1ffde465d460575ad8517e176723d00acc99c6c50bbdd7ee68b90df4c8f10ab63646b0a2f5266a0328182e3c55cbfa9562ef7bac2897011663 +DIST sbcl-1.3.12-x86-64-linux-binary.tar.bz2 9235579 SHA256 6508577bd6a2769a74d7b6fa7885e12932acf7a18736c4df599fc41f1b5db237 SHA512 536710d498f98edc2ca9bd794a09d57b37fab2595d1b8eb2f4c1dff186d262c059b674a7786cf78f8bc4a87dc27dc3f7cc61c21bb826abc8a4e99854742595b0 WHIRLPOOL 41daaff2dbcbe4e4b172ae45c29987eee7aeb4ae37eddfb808cd9cb7600289559f79e8395930e7364fe28b00efdcd947ba951771e6b2724d59759221ec6a63e9 +DIST sbcl-1.3.13-source.tar.bz2 5783599 SHA256 4c6935e4a9022637da95f2aab04d08326762f55a35942b40cb6a4276838c76cc SHA512 c0aac045f19f8f49642027eb37be21bb68b4cdb58895f4adbb92b67d0025ab50dd4eb1725d90c6a4ad592d59395d119623cdff3a2c838b2206efbf1e37d34f4e WHIRLPOOL d4451aa39c9a90c14a2986869915c343bd1397b58bc35910e63dc97284c8190cd071cf45fe704d2cb6185e9e304ae6166ca1fb90456289c3ebaf279e03cd31a3 +DIST sbcl-1.3.13-x86-64-linux-binary.tar.bz2 9103731 SHA256 f92dbcb379f3a35ba13fd75a10912b767e5d8b2b10698413e5a217cea2f49cca SHA512 0e6302e408ea0b05f89c982a1660187cf2054cc65b464e340166c8fea962c4e52960f143cd2393491c60c83f5d90ff828a0807ee7f45bc1213ba5f13a6950c2b WHIRLPOOL 1e25fc22c6cf8725380cbe018d7a4a6875e457ec76428894f00568e8b9d3872ab4fdfee932d151efae5c726aca4161753131029347d5397e5f1dc9a4ea486e76 +DIST sbcl-1.3.14-source.tar.bz2 5784135 SHA256 bf963d58533d839eb76a8028abd17071708d964d5dce07787839cfb6d0d6dcca SHA512 3bcfb27c75864290f47814cdac3c6d0ab7e88fce2fef11062f71993383470bd4f9bc2888314e016a80d3a629d748bf45358261fd320bf67ce55981b2fba42420 WHIRLPOOL 9f2c5460ea604d71eacb8f197782fc2bc9c8d2c974c8e0b06cca56078c2f83cf513c99a4a717d4856316aded939a05146a44a5bcf8d4c314ffdaa970cdc03c6d +DIST sbcl-1.3.14-x86-64-linux-binary.tar.bz2 9077586 SHA256 84dae89aa4741cac41e163fe9c85b9ab42ff8c2cbdcb31111d60e9019e2d4235 SHA512 0bff8737f389bf59f1fed2d76de32ce977da9c8c685c7f73280eef93428edcc48ca451adc26a305ea31f23507d7c45ffa5893aa4add2418048a1087fab686534 WHIRLPOOL 194a775092a4a035b65126ec6de63c981796e3618ca324d431fa544dbdbaaf3b790574d2e3c6813125ed55ace4b58be0727f2b6f4abffb686e3b773fdc8d3149 +DIST sbcl-1.3.15-source.tar.bz2 5798479 SHA256 b1b532d9df81b6a014dd6463f9129cd9470ba84db0952496970ac5b1e745ab85 SHA512 8dd9679bcaa244de0158051acae2ffcd1f79181a015a212f4416f3f6e439339d4d6ed5e03520b492fdd3302968eb1270be47729f3a016977bf951c5bcade0650 WHIRLPOOL 9fd1d8cbae29855becdef284d7b8ae0b619e27dc8fda8be8542225bbfc52daef64682c46fbf3bd0582289365ea6b96e3fd569f57be38d28dc021104bbc836e33 +DIST sbcl-1.3.15-x86-64-linux-binary.tar.bz2 10882518 SHA256 c7a9f143d539164abdf8771fbef071e5f1b26a5ecd496ddb4d778946faf758fe SHA512 28a2c17b366db2a2b2ac83a1ce3ac09583bb59aa2dbd992c02fef0870889a2d19cd1fdf633575a8fab674ea5a0058eafd2dfd6d8f7953237a33e7b12d60d20d5 WHIRLPOOL 1addc2c2517eaaa31ae2cd6b1adbf74f58c6afd7f4243ef4b2bb9b294ef448dda27695f6b6a758e6b7a9e2fb042c6f544c0625e597215cb5dcb1986d885e5d46 +DIST sbcl-1.3.16-arm64-linux-binary.tar.bz2 11228304 SHA256 948566e3f3ddf2d458056f16cf666f0a726a7bbf1975f7256daf27c2d2cf2b60 SHA512 919835547d7613f64a2470157401e83c14584049602f21566a324af9fcbdfa838f5f2a7c5c6e28f3c3b5ccdec640024ce9c12b607a25741ad4c4d6e9813af3b8 WHIRLPOOL 8554ef5d1dd12e5a8483dd22b2cf26c65914f2a254d673dcf9b4567bbdb091f4d83eadfabfccf29b1bfdf7a1da43b8b43c5d748dcc0323ac9151645d4c668381 +DIST sbcl-1.3.16-source.tar.bz2 5803184 SHA256 b7dd98017b70aec351ec4475c68438d52f3f6633269a4ae399216b632c9b8863 SHA512 6bb0a7c926ba8031c319697b49b85eb58ea262d47237b2e7735738ad6103a759016a269e617931095174066f830e2edc362bf89384a97c3d19807552caf826b4 WHIRLPOOL cf7dbeb7675eccd02bd70d1f7231dcfd49e96681bdaa9e4c8314d2b15ac5be1d25a10d58de657ae18cfe5552d08051a4d2d95dbd7bd33132dcdf4b7eeb6d0f08 +DIST sbcl-1.3.16-x86-64-linux-binary.tar.bz2 10891148 SHA256 5ae49b7a6861781ef5f70eacfb4b423b79b5c7e7f8b1ddd6e40e7bcea96f026b SHA512 6abe9ba05697a98c17a747a3ba5c6ae13b9cb522142cbab9d7b5da78201e82693cb3b653b7070c00d75ea4e9d716e6b74439122ca83d8b333439ae814e0cdbd4 WHIRLPOOL dbaa399cf4633832bcda9a300bf994a05dfd34613db86a5975f12ba21181a4696e597fd0727648c29829d82df35b68b33baaeaf68562b21e496521bb66dbc699 +DIST sbcl-1.3.17-source.tar.bz2 5833092 SHA256 94b9f576328de3a5d9ced452fdaa4d2f55437af8838fbbfb4f226c86591a0daf SHA512 c0309d12564783b9791daa7a7754ba21ba6a3429205cf83fd15d077ab5b8907de666b25071a823c5baa210877602219cb2d3ecf111f9710f0ed94bace2fb3001 WHIRLPOOL 07a2a712210d78571ded9e96f74a648676e6599f660a42ce887a66b89c4e01346585b0d36d7fe1f6d12c149cfd8a124c0ea1f91190164c99a36a4988dc5c7274 +DIST sbcl-1.3.17-x86-64-linux-binary.tar.bz2 10932931 SHA256 d782a1b6f0666b26c9e7c2487bbb1c542c5c597627f1ead3d6692970df369987 SHA512 eb40084f24c3f98a54d67a9a2675e4be5fb5bafb6ec356653ad0b9b76d74b4c337ba2ad07171287e0ecc792714d0dcf8f703dce7c99a28f96aa1d360cbbbc35d WHIRLPOOL 88217d20fc95726089eeca8086e9d66bb067fbff777a0843be50abdf4f14affaca2d3d446569ecfe3d27f59cd81c12a50f33c2e23bc1a9168712b181c356d957 +DIST sbcl-1.3.18-source.tar.bz2 5850931 SHA256 fb2d622cba55ac441b7eb1be3c7343cd5e80f0c194bc648341aa0bb08f61398e SHA512 a5d5370ea99086a969959ebddf18c2f3593abde56776dbbe735cd732eb65addc0c1b684346bd0637fdcbfc1e3d740de31b3eb2ae28b3a7a50f8c51b0ab38464a WHIRLPOOL dc02f6b05bb15b8c270779345d0a8eeb0b6aee88b36a9591f0bbcfb970b201e56546b44d8827b48edf0a51f7e76aa9dc2b9092c72c0295ddd4bb378e7075d4f3 +DIST sbcl-1.3.18-x86-64-linux-binary.tar.bz2 10959273 SHA256 eb44d9efb4389f71c05af0327bab7cd18f8bb221fb13a6e458477a9194853958 SHA512 b93f74fb36de3cebf87d3e742dcc65072b26259ebf7386227ef6f07ad7f8df512d504dbf87298e1b5eb7fefe0b8760fcf777fdc1cf7ed1c3ddb99d4a71b92864 WHIRLPOOL e0ae9cad97a505a8d1fd80b0e6bd2ef30183256bc7f51ffff1fb50190f7a84834f16f3f12f5b27bceb31c5b8fd165a1d6e0eb61842cf16cfd61330bbf3a98c6c +DIST sbcl-1.3.19-source.tar.bz2 5872299 SHA256 b5eb98537aaa7afe24851a6da2f65798c6607e975062618dba33fa3a087fc018 SHA512 d2e23b30502362efc5256c63f56199603d5264dcda1f9be58136246656db1788fbd98b3129f3249e2dff4367dfd67faff2fb62a9a97ce3b73f21c7cb9c84ecec WHIRLPOOL 7d3c90c74b2483d2f444dd11e9e1fca57753c69ca411c9d19f9abe91fa9e61b5318b944739003b7cf892e47c395efae58ad37b502f2aadbcffe5372efd5ce6fe +DIST sbcl-1.3.19-x86-64-linux-binary.tar.bz2 10552568 SHA256 d9207dd75d631919bc99d500fd441cfbfded63e1c3985a8a08dbc60d658adad8 SHA512 2f8fffa067adac2798e39dc9b23715b4bef7fd9681de1c5253d4e8c897652e2ac71b493c433ea3d6fb57b4e104b7d8cfe279ea5a3c73f38b6a3c0a77484acdc7 WHIRLPOOL 663b377af82136f95181fd0abeb41930ea40eac5989b54abed3e537825c2c099b10d77ca3fbdf19c2065c17ece75a0e1d9d0c179206b6502fe65e15a4fe8f0f0 +DIST sbcl-1.3.20-source.tar.bz2 5873056 SHA256 5282318053b62ff041c14956dd5a2e2e66697482141713c6c5df375d05cd1f62 SHA512 f22a661ac7d74fffb8d3f10f17289eeca7a7bd2978f895176a98882851e3f7d808ac4771a4001d693edd3e2fc1cba27caf1ae8312d85e732330c97a3dcc13740 WHIRLPOOL 335eb0743ff4b2f35de0150aa253f21076abe2b05376fe63f569f54f9979979d656f282e19353432476a6158b8d81a3d6753df2b73d56b3885462cb1027e82a2 +DIST sbcl-1.3.20-x86-64-linux-binary.tar.bz2 10617351 SHA256 cda8d3f36eaaa52e0bda8042cf2e49a2ca1b71e5076eb78104de012cff91c95d SHA512 7e84e84e065b4bf848d1fe1442fb25b6b7fc6988e10598181c98731cc7ce7498ef09a8be3743304fc602f7086a58dc6c8dc30786db0574407794d4cd4283d5af WHIRLPOOL d679d32120544e78da2732302b62957f036142aba3c4c810a7fc48272d71c80f06dff018e85c51bdbc80747e99386690aeb9e3e8baa0c0b660d90e1a09954581 +DIST sbcl-1.3.20-x86-linux-binary.tar.bz2 10626852 SHA256 ad89c3079fe9e64ce35b0a04121088403b4c5de5bc49fa2f94e27e75443c6d5a SHA512 1b871208b431ec86860022fce5fa6fa7ee44c729f216d0ec2b8001ed67eed164600d867936beed3c44f9e018ad07221c0610b2d033f54b2b2d79674f1deba8ee WHIRLPOOL f1987db711e25de5fdda4b1dc0749d9edc6c88c6fe4ec78ed5f50146c043ff5c969764c0fad15e7cfe392a048a5366a9631893c93d7210057d10d8a2963f6323 +DIST sbcl-1.3.21-source.tar.bz2 5901141 SHA256 684c51c0f041d78055053fbf350c10cc54f9aea4d32895901617eb5edd56158e SHA512 845f4977b46236b9e018c6c7e5cf5628aed6b75b0ec942cd0c54fb91b6dc7d46369e346cd3c3dbb3f4084e06ef81a168c5f5fec72c4ca649504aeaef4b71c1e5 WHIRLPOOL d4288ffc98acdc3b10c74277893ae8e61c915f6a796e55e57ac4fe8ed63deff5acb39eb946a0eeb3070df07053aa208c3b120a87802b9a320deb57ba2cccb688 +DIST sbcl-1.3.21-x86-64-linux-binary.tar.bz2 10633302 SHA256 c1c3e17e1857fb1c22af575941be5cd1d5444b462397b1b3c9f3877aee2e814b SHA512 a0ce82d35874344e72dd013df835000eb07656f3fcdb583e577f9d6ab37d7f81ab0c8c20e2f809d9d36c4139274fe722bb1e8a6ceb3f47d1f62bc3fc46c5cade WHIRLPOOL 8f5c911a6aced1818d384871cfc372e0d8bfe31c542bd7e6833335cd3fa4fba19a50de2e096042f1ed4289e45ad38545804413a8db1daca8b3ef3ed46fedf7c1 +DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919 +DIST sbcl-1.4.0-source.tar.bz2 5907661 SHA256 08d59ca79f78311304664d5093764cda94ff2693d92736d1321fa6074b570769 SHA512 fe22f06cf645b20445e55700cbb3a54d27de58f3cffafb67b0970a0f6962e9914708d0718ffd3dda0a75dfdf8c9f6830dd995ccf7e9c2384ee043eeb27bb3d1b WHIRLPOOL 2b229c0568b69ec9bd4ed74e37df88a9dedc1f4705747332180f730892ebca6943e118d1bbc848289e02168cb9e76e2c5f934087bfbbae5a2ad662c7f982790b +DIST sbcl-1.4.0-x86-64-linux-binary.tar.bz2 10573661 SHA256 2b8d5256cb7e3057f47c3d81355d46dd96d966928652c011da613c519c532b67 SHA512 7cd8ea2a411b55a85df5113c0bcb63078d67c9c31edf12f3ee87075569436711725c325027b6bbdd6d5a2c79511da12a034278d734c7cc75c96f0a44941ee437 WHIRLPOOL e97ceb6736072d3e48885db92ccec0f153b79532c0ad6371c0cafa62f3d4d2f37984c92bfea12857f1f8ba0bfeb488e6332dac15c413e32f76b69905b13370ad +EBUILD sbcl-1.3.0.ebuild 8434 SHA256 e288cb77e4f7d20b71c9435b59d01e1029438ceca656f4cd0e7d702808660ab2 SHA512 63362681e4d60dd2533f63f95de736d36d025b99076a1b570d51162b0d6ad490195dbcc5548751ca5eb69d4e3f3d26e2cb3fd2161a118802c8a3770bfb2dba18 WHIRLPOOL f7edbf4c7e32e7cb38c72de1cbd3f6f831f6746485ac99c84b056ac153763ee82f707e6925948501123af26629b0a60539873f5be076cb295dab42ab22324c18 +EBUILD sbcl-1.3.11.ebuild 8382 SHA256 251fec325de57feb97ab4635c615986ea4a0fc05807f64b14b73f7a495c2e3c7 SHA512 d6b00cc75cc3bc55be589d4e7690469e1ae8d8c00174ec67d83eff42f977e0840a97c22550be732ce0335b38d38b0429f0a47d9cf4de25402d91ea7814c3c351 WHIRLPOOL 952ff6a2fef1e110438b0e59e9eb684649ff4d514e8a8787c12609e8705039e70bc3cda4dc3c5139b5787ac7fb2f449514bc5e63a07b18e2b29bbd99c828081f +EBUILD sbcl-1.3.12.ebuild 8386 SHA256 02cdc92a1c50bb9a8a7e3b8ffaf4898d38a02a31dc80c34a53f207b5e9fbd5be SHA512 1b373b2bdb4ef86b582ecd5d1126df113d3db29ff91a995cfd2caecf9a154983f7ef614216050b31d673a7ecf959afc92b05fdf3e19d7cb7bf5179143a5710fb WHIRLPOOL 800e952d20c14afc665c867066c852bb5c6872f2dbdb7d63301077aaab0c0254b31a6d98b61b24e58366e5521f53370588ff4ce89c1664a267a8b3b9020130c6 +EBUILD sbcl-1.3.13.ebuild 8395 SHA256 39eec713202db56dc0dc6b6c984e8331f6f6da1c3f850a3002ff38782d67678c SHA512 df6b1f58258899381243fc718b2964e074c509bbaaa553db906f29ca2faf42f90bc2df7acf10b928a16a466a7053ad27d91ec31ab21475f44ca0930bd55da703 WHIRLPOOL ce7257afac7e90e583f22a1890ec81c7e000573970bf38e38bbad608492d4f9621f5a8eb48da3cbd6d46ee5af619a6bf46d83b37606ecab3b6ca09b8e7f4127b +EBUILD sbcl-1.3.14.ebuild 8238 SHA256 009fe4398c6b6c46be4dda77c4643a3ec0f30bbacca2226dff8541ad5470ae2a SHA512 60c2c96000d7dd51b51a6e02564ab7d7ee54440100ebbc0fb22c2e2f7a8a8dcfcdc94caabf593ff5a47771e97d691e52b53e720c537e4f138cb1f90873d901b7 WHIRLPOOL 1a185d7548c8c49568504091093d90de49f69a24b6d1e6898ae2e61bcacea4902c69d880f6da206a956b03b4c8a343b8937ec8fd2b1500f35898eb66a094d2a9 +EBUILD sbcl-1.3.15.ebuild 8239 SHA256 2321bbf8677deeb0abf6043cc3ace4f3fa30ae02e53bea8ee8a28622ebdb7969 SHA512 d4e82efaf0607f01d00af483cbc7e1e1ece2fe7d2644a1d451e4953ba69c55917e277d4f82c6d137efbb8d847ce2f79945e6f8b0dc5a051eb1ad064de0496609 WHIRLPOOL 4fbf696b697faebe851b965bef7df7fd698f20afc103f0eb24014aca3bbc68d6abb8676a02552a2a93e13b1da51adf80772621bd5cd530fb1c9bbf30248f50cf +EBUILD sbcl-1.3.16.ebuild 8130 SHA256 ddfd44d34e937826a4e71407981508ea6d2033481f2c907ac1eebf6d0c601721 SHA512 0a964bac7ce7bb2b69603b1ee50940726500b571356760c96256f70d6c06952a8143eb31ad28ee893541f8ae3079ba0e5ab7d973a316a7083b12f87d973a52b5 WHIRLPOOL 1fc20b640329a314ca83b623f527faa8cafffe47fc413354fce73bc4c96dfaaad7ea35e10b8c83658d9739e4ab45332a0e327388379c4192f9aafb82c361d66b +EBUILD sbcl-1.3.17.ebuild 8075 SHA256 243ec7d7762b655416686524c77546e29a60e641d51b3e2cd551b946d9891360 SHA512 577c28682d76b8c149875faf9d57e94e127fbbd69a1e79cae61856ccb0e5fb278534f88609859aff154623f6ff4e1d0beb9a5a9bef9ce5b17d1b64c6f5df24d3 WHIRLPOOL 6d3a7c2575e36584ddbd42146a47ea971b1e3748b26aa4e6899850b3a1a1a334092d9d8e4305cbb5bdaedecffbe682a1e4fa47a4e8975c0c9799c9aba6a137f0 +EBUILD sbcl-1.3.18.ebuild 8075 SHA256 6f35890ba2eab375cdb70e626c985c635eb14d98e40fc5a73adde1d25e0d9701 SHA512 e374caa5d1d63be7418cd225653a97b3c1cc7db4c641948cfc4d12d898c1f4d8a6c9bf925494e09f4907b0e08eac33790197175de2ee61d80fc65185f25963b8 WHIRLPOOL fd7187f5f407a3ea53ab8fabaab9ad15ba8a6d67d548f9db830b068c04fd7ea327d15ffa0eca272b877276c9e07becdb5ffa8381a6a35d9d876a218451dc58c7 +EBUILD sbcl-1.3.19.ebuild 8164 SHA256 11a6409b81ca7935f045a5fc5a6639efd9771ac9bc172aefd051e3b4f7180f77 SHA512 c878588b4c15951c327981937b960a4649c1a719cdf4bdba4a4d125894963b5524323019fe4f58b9a4b923736ef41866e1a5b237909666c5aa823b0076229ce2 WHIRLPOOL bd87c481219a9ed4f7414784fcb94d2696a0af5a5e22c15752a6c8f7c7f1fffae0d3d8f99e87c2fb2005807a784b6790a0f26f9fbb3dc9d57a50bcb5f45dd0cd +EBUILD sbcl-1.3.20.ebuild 8321 SHA256 a0b535cf23b959107df5bbaae02838fb098f34d54b1656906bba52ad7d61be17 SHA512 73405b1915e42e0aad14a8e4ed02df24a1230ee7be80c8fcfd99a8b43836a29c46ea68ba98c5ae793516aa685be115a263a5ac9eb79e738bd44c1d8a8f008fb6 WHIRLPOOL 27571a3f0a451257742e685ea67c3086d59b167b5b14d303e652fba589e3e68a2286f98a39f34dae313a04a3dbe45524f477989c3ba05003df0d36afde0a02ad +EBUILD sbcl-1.3.21.ebuild 8320 SHA256 3118f5623bfb25fd40fff296029466a89ab6ccda8a67ce7b64b7d9c7a9e66bbc SHA512 b4f2a7c14f85a171dc3484e5743945493e9aab7fdfe848822ace3e0bd91e9c63840520af11a63a6c5371a055eb0430abdb76f338c30acbd2def16d9b323f0465 WHIRLPOOL 56430264a472acef6b2db13abd8bc323c0d241efc3093bb4f0a36a315e33b9f1af5edcf9fbb758ca801b977075c4776ab2c6e9c89498ef4aa051009c67ab23aa +EBUILD sbcl-1.4.0.ebuild 8464 SHA256 ab68d98bf91b238678b1acf6165477f08e4a1089cfcb19b7c0c2a18e3d77fcb9 SHA512 c2cc70c76972d32852bfc6060d3241671e95619f043ba8c2f294747b884be9b42e9b73e18dc0d5c4a8e2d9d577cebe9e500c0638e83a565722b6beb11396e4ac WHIRLPOOL 4a6fb75ad6d0d3ba06bd05fb427b94d4e794f45a202c467b5482d0cbe3f430cbbdea6245b8ee84f344c171f7b272ea0b29e93cf7bbecb58b69eda9b37250bef5 +MISC ChangeLog 11602 SHA256 9af6af5a1bef12d483d7b86578e1db51636668715de7366070298478f11c52ff SHA512 b79217e2bc0f007863cdeaea277e0315eefec413eeba2a5b740e1b5760f6e10803009e005a5da5a97d7a754e456833454a7d36baa8442293f2ef4fb8a741ebc4 WHIRLPOOL 326dbf8f3d7cdad839af37e90b11a1aa5be1ceb58f2ff87024423c8cc67f64e2e980412ce644de04d17f6da13e78cfeebbe7591821a3580f025a69deb62ced4c +MISC ChangeLog-2015 59251 SHA256 0853c0abb1c70d1f165f084a6d1c2927dca9a698e142457a391273cc59f9fb8b SHA512 de4457c148436f486b884367d526f4aab3a04e46d3fa7c2f13be5b469572cf6187024dd447114c7bdfbc587ae21889e4b5e54c091ba7110b55d542951b8ad12b WHIRLPOOL 809b96091fba9fd87c2fe31763714ddc15f699e96e9e202d8ea0682e3c937dfaf2e3fc8cdafde6a3e88bcff94f8fe2164494e77b6fe24a0bf8b16b0ddcc1d6d7 +MISC metadata.xml 1771 SHA256 8b4f304c48df97da17bf377fc6d2b36ca5778654cf34cea2e59ea1dd64972d5f SHA512 58c44f7632aade5faefeac78dbcdb09d8dc23d8913571f7022d2a9310e32c041f21589e4f9c80b44e9b3d89ea323fb19c87b49e401340584ae701dd4d39108b9 WHIRLPOOL 0f86b49ecc857531405619b0fbf81a79d48f43e7f409ca99b88b2fd260f3f81ca84f612b766405aa33042e1af4caffe5378e638fdfb614a5ce1afbbb4d6123a6 diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch new file mode 100644 index 000000000000..88f6fa588cee --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch @@ -0,0 +1,350 @@ +diff -r -U2 sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp 2015-04-27 20:56:47.000000000 +0600 ++++ sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp 2015-04-28 22:27:32.588146072 +0600 +@@ -36,13 +36,13 @@ + ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR + ;;; 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) + + (deftest make-inet-socket.smoke +@@ -92,19 +92,19 @@ + t) + +-#-win32 +-(deftest make-inet6-socket.smoke +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) +- (> (socket-file-descriptor s) 1)) +- (address-family-not-supported () t)) +- t) +- +-#-win32 +-(deftest make-inet6-socket.keyword +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) +- (> (socket-file-descriptor s) 1)) +- (address-family-not-supported () t)) +- t) ++;#-win32 ++;(deftest make-inet6-socket.smoke ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) ++; (> (socket-file-descriptor s) 1)) ++; (address-family-not-supported () t)) ++; t) ++ ++;#-win32 ++;(deftest make-inet6-socket.keyword ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) ++; (> (socket-file-descriptor s) 1)) ++; (address-family-not-supported () t)) ++; t) + + (deftest* (non-block-socket) +@@ -114,52 +114,52 @@ + t) + +-(deftest inet-socket-bind +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet-address "127.0.0.1")) +- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (progn +- (socket-bind s1 address 0) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t))) +- (socket-close s1) +- (socket-close s2))) +- t) +- +-#-win32 +-(deftest inet6-socket-bind +- (handler-case +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet6-address "::1")) +- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (handler-case +- (socket-bind s1 address 0) +- (socket-error () +- ;; This may mean no IPv6 support, can't fail a test +- ;; because of that (address-family-not-supported doesn't catch that) +- t) +- (:no-error (x) +- (declare (ignore x)) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t)))) +- (socket-close s1) +- (socket-close s2))) +- (address-family-not-supported () t)) +- t) ++;(deftest inet-socket-bind ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet-address "127.0.0.1")) ++; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (progn ++; (socket-bind s1 address 0) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t))) ++; (socket-close s1) ++; (socket-close s2))) ++; t) ++ ++;#-win32 ++;(deftest inet6-socket-bind ++; (handler-case ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet6-address "::1")) ++; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (handler-case ++; (socket-bind s1 address 0) ++; (socket-error () ++; ;; This may mean no IPv6 support, can't fail a test ++; ;; because of that (address-family-not-supported doesn't catch that) ++; t) ++; (:no-error (x) ++; (declare (ignore x)) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t)))) ++; (socket-close s1) ++; (socket-close s2))) ++; (address-family-not-supported () t)) ++; t) + + (deftest* (simple-sockopt-test) +@@ -228,35 +228,35 @@ + ;;; the message ended up + +-#-win32 +-(deftest simple-local-client +- (progn +- ;; SunOS (Solaris) and Darwin systems don't have a socket at +- ;; /dev/log. We might also be building in a chroot or +- ;; something, so don't fail this test just because the file is +- ;; unavailable, or if it's a symlink to some weird character +- ;; device. +- (when (block nil +- (handler-bind ((sb-posix:syscall-error +- (lambda (e) +- (declare (ignore e)) +- (return nil)))) +- (sb-posix:s-issock +- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) +- (let ((s (make-instance 'local-socket :type :datagram))) +- (format t "Connecting ~A... " s) +- (finish-output) +- (handler-case +- (socket-connect s "/dev/log") +- (sb-bsd-sockets::socket-error () +- (setq s (make-instance 'local-socket :type :stream)) +- (format t "failed~%Retrying with ~A... " s) +- (finish-output) +- (socket-connect s "/dev/log"))) +- (format t "ok.~%") +- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) +- (format stream +- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) +- t) +- t) ++;#-win32 ++;(deftest simple-local-client ++; (progn ++; ;; SunOS (Solaris) and Darwin systems don't have a socket at ++; ;; /dev/log. We might also be building in a chroot or ++; ;; something, so don't fail this test just because the file is ++; ;; unavailable, or if it's a symlink to some weird character ++; ;; device. ++; (when (block nil ++; (handler-bind ((sb-posix:syscall-error ++; (lambda (e) ++; (declare (ignore e)) ++; (return nil)))) ++; (sb-posix:s-issock ++; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) ++; (let ((s (make-instance 'local-socket :type :datagram))) ++; (format t "Connecting ~A... " s) ++; (finish-output) ++; (handler-case ++; (socket-connect s "/dev/log") ++; (sb-bsd-sockets::socket-error () ++; (setq s (make-instance 'local-socket :type :stream)) ++; (format t "failed~%Retrying with ~A... " s) ++; (finish-output) ++; (socket-connect s "/dev/log"))) ++; (format t "ok.~%") ++; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) ++; (format stream ++; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) ++; t) ++; t) + + +@@ -373,58 +373,58 @@ + len address port (subseq buf 0 (min 10 len))))))) + +-#+sb-thread +-(deftest interrupt-io +- (let (result) +- (labels +- ((client (port) +- (setf result +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (socket-connect s #(127 0 0 1) port) +- (let ((stream (socket-make-stream s +- :input t +- :output t +- :buffering :none))) +- (handler-case +- (prog1 +- (catch 'stop +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (close stream)) +- (error (c) +- c)))))) +- (server () +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (setf (sockopt-reuse-address s) t) +- (socket-bind s (make-inet-address "127.0.0.1") 0) +- (socket-listen s 5) +- (multiple-value-bind (* port) +- (socket-name s) +- (let* ((client (sb-thread:make-thread +- (lambda () (client port)))) +- (r (socket-accept s)) +- (stream (socket-make-stream r +- :input t +- :output t +- :buffering :none)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+sb-thread ++;(deftest interrupt-io ++; (let (result) ++; (labels ++; ((client (port) ++; (setf result ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (socket-connect s #(127 0 0 1) port) ++; (let ((stream (socket-make-stream s ++; :input t ++; :output t ++; :buffering :none))) ++; (handler-case ++; (prog1 ++; (catch 'stop ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (close stream)) ++; (error (c) ++; c)))))) ++; (server () ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (setf (sockopt-reuse-address s) t) ++; (socket-bind s (make-inet-address "127.0.0.1") 0) ++; (socket-listen s 5) ++; (multiple-value-bind (* port) ++; (socket-name s) ++; (let* ((client (sb-thread:make-thread ++; (lambda () (client port)))) ++; (r (socket-accept s)) ++; (stream (socket-make-stream r ++; :input t ++; :output t ++; :buffering :none)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) +@@ -485,4 +485,5 @@ + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io)) ++) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch new file mode 100644 index 000000000000..9a4eb151d0ce --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch @@ -0,0 +1,346 @@ +diff -r -U2 sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp 2016-11-30 04:07:35.000000000 +0700 ++++ sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp 2016-12-10 15:56:14.727887603 +0700 +@@ -38,11 +38,11 @@ + #-(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) ++;(deftest get-protocol-by-name/error ++; (handler-case (get-protocol-by-name "nonexistent-protocol") ++; (unknown-protocol () ++; t) ++; (:no-error () ++; nil)) ++; t) + + (deftest make-inet-socket.smoke +@@ -92,19 +92,19 @@ + t) + +-#-win32 +-(deftest make-inet6-socket.smoke +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) +- +-#-win32 +-(deftest make-inet6-socket.keyword +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;#-win32 ++;(deftest make-inet6-socket.smoke ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) ++ ++;#-win32 ++;(deftest make-inet6-socket.keyword ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + (deftest* (non-block-socket) +@@ -114,52 +114,52 @@ + t) + +-(deftest inet-socket-bind +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet-address "127.0.0.1")) +- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (progn +- (socket-bind s1 address 0) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t))) +- (socket-close s1) +- (socket-close s2))) +- t) +- +-#-win32 +-(deftest inet6-socket-bind +- (handler-case +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet6-address "::1")) +- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (handler-case +- (socket-bind s1 address 0) +- (socket-error () +- ;; This may mean no IPv6 support, can't fail a test +- ;; because of that (address-family-not-supported doesn't catch that) +- t) +- (:no-error (x) +- (declare (ignore x)) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t)))) +- (socket-close s1) +- (socket-close s2))) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;(deftest inet-socket-bind ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet-address "127.0.0.1")) ++; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (progn ++; (socket-bind s1 address 0) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t))) ++; (socket-close s1) ++; (socket-close s2))) ++; t) ++ ++;#-win32 ++;(deftest inet6-socket-bind ++; (handler-case ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet6-address "::1")) ++; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) ++; (unwind-protect; ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (handler-case ++; (socket-bind s1 address 0) ++; (socket-error () ++; ;; This may mean no IPv6 support, can't fail a test ++; ;; because of that (address-family-not-supported doesn't catch that) ++; t) ++; (:no-error (x) ++; (declare (ignore x)) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t)))) ++; (socket-close s1) ++; (socket-close s2))) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + (deftest* (simple-sockopt-test) +@@ -228,35 +228,35 @@ + ;;; the message ended up + +-#-win32 +-(deftest simple-local-client +- (progn +- ;; SunOS (Solaris) and Darwin systems don't have a socket at +- ;; /dev/log. We might also be building in a chroot or +- ;; something, so don't fail this test just because the file is +- ;; unavailable, or if it's a symlink to some weird character +- ;; device. +- (when (block nil +- (handler-bind ((sb-posix:syscall-error +- (lambda (e) +- (declare (ignore e)) +- (return nil)))) +- (sb-posix:s-issock +- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) +- (let ((s (make-instance 'local-socket :type :datagram))) +- (format t "Connecting ~A... " s) +- (finish-output) +- (handler-case +- (socket-connect s "/dev/log") +- (sb-bsd-sockets::socket-error () +- (setq s (make-instance 'local-socket :type :stream)) +- (format t "failed~%Retrying with ~A... " s) +- (finish-output) +- (socket-connect s "/dev/log"))) +- (format t "ok.~%") +- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) +- (format stream +- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) +- t) +- t) ++;#-win32 ++;(deftest simple-local-client ++; (progn ++; ;; SunOS (Solaris) and Darwin systems don't have a socket at ++; ;; /dev/log. We might also be building in a chroot or ++; ;; something, so don't fail this test just because the file is ++; ;; unavailable, or if it's a symlink to some weird character ++; ;; device. ++; (when (block nil ++; (handler-bind ((sb-posix:syscall-error ++; (lambda (e) ++; (declare (ignore e)) ++; (return nil)))) ++; (sb-posix:s-issock ++; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) ++; (let ((s (make-instance 'local-socket :type :datagram))) ++; (format t "Connecting ~A... " s) ++; (finish-output) ++; (handler-case ++; (socket-connect s "/dev/log") ++; (sb-bsd-sockets::socket-error () ++; (setq s (make-instance 'local-socket :type :stream)) ++; (format t "failed~%Retrying with ~A... " s) ++; (finish-output) ++; (socket-connect s "/dev/log"))) ++; (format t "ok.~%") ++; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) ++; (format stream ++; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) ++; t) ++; t) + + +@@ -373,58 +373,58 @@ + len address port (subseq buf 0 (min 10 len))))))) + +-#+sb-thread +-(deftest interrupt-io +- (let (result) +- (labels +- ((client (port) +- (setf result +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (socket-connect s #(127 0 0 1) port) +- (let ((stream (socket-make-stream s +- :input t +- :output t +- :buffering :none))) +- (handler-case +- (prog1 +- (catch 'stop +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (close stream)) +- (error (c) +- c)))))) +- (server () +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (setf (sockopt-reuse-address s) t) +- (socket-bind s (make-inet-address "127.0.0.1") 0) +- (socket-listen s 5) +- (multiple-value-bind (* port) +- (socket-name s) +- (let* ((client (sb-thread:make-thread +- (lambda () (client port)))) +- (r (socket-accept s)) +- (stream (socket-make-stream r +- :input t +- :output t +- :buffering :none)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+sb-thread ++;(deftest interrupt-io ++; (let (result) ++; (labels ++; ((client (port) ++; (setf result ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (socket-connect s #(127 0 0 1) port) ++; (let ((stream (socket-make-stream s ++; :input t ++; :output t ++; :buffering :none))) ++; (handler-case ++; (prog1 ++; (catch 'stop ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (close stream)) ++; (error (c) ++; c)))))) ++; (server () ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (setf (sockopt-reuse-address s) t) ++; (socket-bind s (make-inet-address "127.0.0.1") 0) ++; (socket-listen s 5) ++; (multiple-value-bind (* port) ++; (socket-name s) ++; (let* ((client (sb-thread:make-thread ++; (lambda () (client port)))) ++; (r (socket-accept s)) ++; (stream (socket-make-stream r ++; :input t ++; :output t ++; :buffering :none)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) +@@ -485,4 +485,5 @@ + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io)) ++) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test.patch b/dev-lisp/sbcl/files/bsd-sockets-test.patch new file mode 100644 index 000000000000..d08fd8610b89 --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test.patch @@ -0,0 +1,22 @@ +diff -r -U1 sbcl-1.1.14.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.1.14/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.1.14.orig/contrib/sb-bsd-sockets/tests.lisp 2013-11-30 21:28:17.000000000 +0700 ++++ sbcl-1.1.14/contrib/sb-bsd-sockets/tests.lisp 2014-01-11 20:48:22.762700792 +0700 +@@ -31,10 +31,10 @@ + ;;; for unknown protocols... +-#-(and freebsd 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) ++;(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 new file mode 100644 index 000000000000..b85fc168ed0e --- /dev/null +++ b/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch @@ -0,0 +1,24 @@ +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/concurrency-test-1.3.15.patch b/dev-lisp/sbcl/files/concurrency-test-1.3.15.patch new file mode 100644 index 000000000000..53b5bea06bc1 --- /dev/null +++ b/dev-lisp/sbcl/files/concurrency-test-1.3.15.patch @@ -0,0 +1,17 @@ +diff -r -U2 sbcl-1.3.15.orig/contrib/sb-concurrency/tests/test-frlock.lisp sbcl-1.3.15/contrib/sb-concurrency/tests/test-frlock.lisp +--- sbcl-1.3.15.orig/contrib/sb-concurrency/tests/test-frlock.lisp 2017-02-28 20:51:29.000000000 +0100 ++++ sbcl-1.3.15/contrib/sb-concurrency/tests/test-frlock.lisp 2017-03-02 18:15:41.225284441 +0100 +@@ -25,5 +25,5 @@ + (defun test-frlocks (&key (reader-count 100) (read-count 1000000) + (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)) +@@ -88,5 +88,5 @@ + (deftest* (frlock.1) + (handler-case +- (sb-ext:with-timeout 10 ++ (sb-ext:with-timeout 240 + (test-frlocks #+win32 :outer-write-pause #+win32 t )) + (sb-ext:timeout (c) diff --git a/dev-lisp/sbcl/files/gentoo-fix_install_man.patch b/dev-lisp/sbcl/files/gentoo-fix_install_man.patch new file mode 100644 index 000000000000..87a5f43c0c13 --- /dev/null +++ b/dev-lisp/sbcl/files/gentoo-fix_install_man.patch @@ -0,0 +1,12 @@ +diff --git a/install.sh b/install.sh +index 1400791..ac149c1 100644 +--- a/install.sh ++++ b/install.sh +@@ -106,6 +106,7 @@ echo "Documentation:" + + # man + cp doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1" ++cp doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1" + + # info + for info in doc/manual/*.info diff --git a/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch new file mode 100644 index 000000000000..517208a791e2 --- /dev/null +++ b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch @@ -0,0 +1,40 @@ +diff -r -U1 sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp +--- sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp 2015-08-31 00:59:03.000000000 +0600 ++++ sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp 2015-09-22 10:19:20.000000000 +0600 +@@ -169,19 +169,19 @@ + +-(deftest rmdir.error.3 +- (handler-case +- (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir")) +- (sb-posix:syscall-error (c) +- (typep +- (sb-posix:syscall-errno c) +- '(member +- #+(or darwin openbsd) +- #.sb-posix:eisdir +- #+win32 +- #.sb-posix::eacces +- #+win32 +- #.sb-posix::enotempty +- #+sunos +- #.sb-posix::einval +- #-(or darwin openbsd win32 sunos) +- #.sb-posix::ebusy)))) t) ++;(deftest rmdir.error.3 ++; (handler-case ++; (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir")) ++; (sb-posix:syscall-error (c) ++; (typep ++; (sb-posix:syscall-errno c) ++; '(member ++; #+(or darwin openbsd) ++; #.sb-posix:eisdir ++; #+win32 ++; #.sb-posix::eacces ++; #+win32 ++; #.sb-posix::enotempty ++; #+sunos ++; #.sb-posix::einval ++; #-(or darwin openbsd win32 sunos) ++; #.sb-posix::ebusy)))) t) + 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 new file mode 100644 index 000000000000..bf03ada518fe --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,22 @@ +--- 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/files/sbcl-1.2.11-solaris.patch b/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch new file mode 100644 index 000000000000..850fd5d9dba7 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch @@ -0,0 +1,12 @@ +diff -r -U2 sbcl-1.2.11.orig/src/runtime/Config.x86-sunos sbcl-1.2.11/src/runtime/Config.x86-sunos +--- sbcl-1.2.11.orig/src/runtime/Config.x86-sunos 2015-04-27 20:56:50.000000000 +0600 ++++ sbcl-1.2.11/src/runtime/Config.x86-sunos 2015-04-28 22:38:01.569103626 +0600 +@@ -12,6 +12,6 @@ + CC=gcc + CFLAGS = -g -O2 -Wall -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DSVR4 -D_REENTRANT -fno-omit-frame-pointer +-NM = nm -xgp +-GREP = ggrep ++NM = nm -t x -p ++GREP = grep + + ASSEM_SRC = x86-assem.S ldso-stubs.S diff --git a/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch b/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch new file mode 100644 index 000000000000..ade4f0868c67 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch @@ -0,0 +1,25 @@ +diff -r -U2 sbcl-1.2.13.orig/make.sh sbcl-1.2.13/make.sh +--- sbcl-1.2.13.orig/make.sh 2015-06-29 01:24:03.000000000 +0600 ++++ sbcl-1.2.13/make.sh 2015-06-29 15:53:04.430927942 +0600 +@@ -25,5 +25,5 @@ + # any --xc-host parameter should be suitable for the host machine + # instead of the target. +-sh make-config.sh "$@" || exit $? ++sh -x make-config.sh "$@" || exit $? + + . output/prefix.def +@@ -70,9 +70,9 @@ + # and the make-target-*.sh scripts will take care of transferring the + # necessary files. +-time sh make-host-1.sh +-time sh make-target-1.sh +-time sh make-host-2.sh +-time sh make-target-2.sh +-time sh make-target-contrib.sh ++time sh -x make-host-1.sh ++time sh -x make-target-1.sh ++time sh -x make-host-2.sh ++time sh -x make-target-2.sh ++time sh -x make-target-contrib.sh + + NCONTRIBS=`find contrib -name Makefile -print | wc -l` diff --git a/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch new file mode 100644 index 000000000000..e23f1e6d9bcb --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch @@ -0,0 +1,16 @@ +diff -r -U2 sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux sbcl-1.3.11/src/runtime/Config.x86-64-linux +--- sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux 2016-10-30 23:28:43.000000000 +0700 ++++ sbcl-1.3.11/src/runtime/Config.x86-64-linux 2016-11-16 23:27:37.248815622 +0700 +@@ -58,12 +58,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + # Nothing to do for after-grovel-headers. + .PHONY: after-grovel-headers diff --git a/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch new file mode 100644 index 000000000000..e20fc07b028d --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch @@ -0,0 +1,32 @@ +diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux sbcl-1.3.13/src/runtime/Config.x86-64-linux +--- sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux 2016-12-31 09:38:30.000000000 +0100 ++++ sbcl-1.3.13/src/runtime/Config.x86-64-linux 2017-02-05 16:11:54.801938872 +0100 +@@ -58,12 +58,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + # Nothing to do for after-grovel-headers. + .PHONY: after-grovel-headers +diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-linux sbcl-1.3.13/src/runtime/Config.x86-linux +--- sbcl-1.3.13.orig/src/runtime/Config.x86-linux 2016-12-31 09:38:30.000000000 +0100 ++++ sbcl-1.3.13/src/runtime/Config.x86-linux 2017-02-05 16:10:16.882945480 +0100 +@@ -50,12 +50,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + GC_SRC = gencgc.c + diff --git a/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch new file mode 100644 index 000000000000..aa74a2d61354 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,17 @@ +--- sbcl-1.3.14-orig/src/runtime/GNUmakefile 2017-01-23 06:43:20.000000000 +1100 ++++ sbcl-1.3.14/src/runtime/GNUmakefile 2017-02-28 12:44:37.627161988 +1100 +@@ -40,12 +40,12 @@ + include Config + + # Disable PIE when possible +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),) + CFLAGS += -fno-pie + LINKFLAGS += -no-pie + LDFLAGS += -no-pie + endif +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e -nopie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]nopie'),) + CFLAGS += -fno-pie + LINKFLAGS += -nopie + LDFLAGS += -nopie diff --git a/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch new file mode 100644 index 000000000000..a3f933097503 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,19 @@ +diff -U3 -r sbcl-1.3.15.orig/src/runtime/GNUmakefile sbcl-1.3.15/src/runtime/GNUmakefile +--- sbcl-1.3.15.orig/src/runtime/GNUmakefile 2017-02-28 20:51:29.000000000 +0100 ++++ sbcl-1.3.15/src/runtime/GNUmakefile 2017-03-02 18:22:13.959257937 +0100 +@@ -46,13 +46,13 @@ + include Config + + # Disable PIE when possible +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),) + CFLAGS += -fno-pie + LINKFLAGS += -no-pie + LDFLAGS += -no-pie + __LDFLAGS__ += -no-pie + endif +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e nopie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]nopie'),) + CFLAGS += -fno-pie + LINKFLAGS += -nopie + LDFLAGS += -nopie diff --git a/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch b/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch new file mode 100644 index 000000000000..5e01b331fac8 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch @@ -0,0 +1,12 @@ +diff -Nuar a/install.sh b/install.sh +--- a/install.sh 2017-03-27 11:57:34.000000000 +0200 ++++ b/install.sh 2017-04-04 20:21:25.510085555 +0200 +@@ -110,7 +110,7 @@ + CP="cp -f" + + # man +-$CP doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1" ++$CP doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1" + + # info + for info in doc/manual/*.info diff --git a/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch new file mode 100644 index 000000000000..c5a16ae05778 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch @@ -0,0 +1,363 @@ +diff -Nuar a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp +--- a/contrib/sb-bsd-sockets/tests.lisp 2017-06-28 12:51:14.000000000 +0200 ++++ b/contrib/sb-bsd-sockets/tests.lisp 2017-07-02 17:18:23.862316798 +0200 +@@ -35,15 +35,15 @@ + ;;; See https://bugs.launchpad.net/sbcl/+bug/659857 + ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR + ;;; 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) + + (when (handler-case (make-instance 'inet-socket + :type :stream +@@ -102,21 +102,21 @@ + (:no-error nil)) + t) + +-#-win32 +-(deftest make-inet6-socket.smoke +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) +- +-#-win32 +-(deftest make-inet6-socket.keyword +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;#-win32 ++;(deftest make-inet6-socket.smoke ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) ++ ++;#-win32 ++;(deftest make-inet6-socket.keyword ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + #+ipv4-support + (deftest* (non-block-socket) +@@ -125,55 +125,55 @@ + (non-blocking-mode s)) + t) + +-#+ipv4-support +-(deftest inet-socket-bind +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet-address "127.0.0.1")) +- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (progn +- (socket-bind s1 address 0) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t))) +- (socket-close s1) +- (socket-close s2))) +- t) +- +-#-win32 +-(deftest inet6-socket-bind +- (handler-case +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet6-address "::1")) +- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (handler-case +- (socket-bind s1 address 0) +- (socket-error () +- ;; This may mean no IPv6 support, can't fail a test +- ;; because of that (address-family-not-supported doesn't catch that) +- t) +- (:no-error (x) +- (declare (ignore x)) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t)))) +- (socket-close s1) +- (socket-close s2))) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;#+ipv4-support ++;(deftest inet-socket-bind ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet-address "127.0.0.1")) ++; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (progn ++; (socket-bind s1 address 0) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t))) ++; (socket-close s1) ++; (socket-close s2))) ++; t) ++ ++;#-win32 ++;(deftest inet6-socket-bind ++; (handler-case ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet6-address "::1")) ++; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (handler-case ++; (socket-bind s1 address 0) ++; (socket-error () ++; ;; This may mean no IPv6 support, can't fail a test ++; ;; because of that (address-family-not-supported doesn't catch that) ++; t) ++; (:no-error (x) ++; (declare (ignore x)) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t)))) ++; (socket-close s1) ++; (socket-close s2))) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + #+ipv4-support + (deftest* (simple-sockopt-test) +@@ -241,37 +241,37 @@ + ;;; to look at /etc/syslog.conf or local equivalent to find out where + ;;; the message ended up + +-#-win32 +-(deftest simple-local-client +- (progn +- ;; SunOS (Solaris) and Darwin systems don't have a socket at +- ;; /dev/log. We might also be building in a chroot or +- ;; something, so don't fail this test just because the file is +- ;; unavailable, or if it's a symlink to some weird character +- ;; device. +- (when (block nil +- (handler-bind ((sb-posix:syscall-error +- (lambda (e) +- (declare (ignore e)) +- (return nil)))) +- (sb-posix:s-issock +- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) +- (let ((s (make-instance 'local-socket :type :datagram))) +- (format t "Connecting ~A... " s) +- (finish-output) +- (handler-case +- (socket-connect s "/dev/log") +- (sb-bsd-sockets::socket-error () +- (setq s (make-instance 'local-socket :type :stream)) +- (format t "failed~%Retrying with ~A... " s) +- (finish-output) +- (socket-connect s "/dev/log"))) +- (format t "ok.~%") +- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) +- (format stream +- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) +- t) +- t) ++;#-win32 ++;(deftest simple-local-client ++; (progn ++; ;; SunOS (Solaris) and Darwin systems don't have a socket at ++; ;; /dev/log. We might also be building in a chroot or ++; ;; something, so don't fail this test just because the file is ++; ;; unavailable, or if it's a symlink to some weird character ++; ;; device. ++; (when (block nil ++; (handler-bind ((sb-posix:syscall-error ++; (lambda (e) ++; (declare (ignore e)) ++; (return nil)))) ++; (sb-posix:s-issock ++; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) ++; (let ((s (make-instance 'local-socket :type :datagram))) ++; (format t "Connecting ~A... " s) ++; (finish-output) ++; (handler-case ++; (socket-connect s "/dev/log") ++; (sb-bsd-sockets::socket-error () ++; (setq s (make-instance 'local-socket :type :stream)) ++; (format t "failed~%Retrying with ~A... " s) ++; (finish-output) ++; (socket-connect s "/dev/log"))) ++; (format t "ok.~%") ++; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) ++; (format stream ++; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) ++; t) ++; t) + + + ;;; these require that the internet (or bits of it, at least) is available +@@ -388,60 +388,60 @@ + (format t "Received ~A bytes from ~A:~A - ~A ~%" + len address port (subseq buf 0 (min 10 len))))))) + +-#+(and ipv4-support sb-thread) +-(deftest interrupt-io +- (let (result) +- (labels +- ((client (port) +- (setf result +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (socket-connect s #(127 0 0 1) port) +- (let ((stream (socket-make-stream s +- :input t +- :output t +- :buffering :none))) +- (handler-case +- (prog1 +- (catch 'stop +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (close stream)) +- (error (c) +- c)))))) +- (server () +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (setf (sockopt-reuse-address s) t) +- (socket-bind s (make-inet-address "127.0.0.1") 0) +- (socket-listen s 5) +- (multiple-value-bind (* port) +- (socket-name s) +- (let* ((client (sb-thread:make-thread +- (lambda () (client port)))) +- (r (socket-accept s)) +- (stream (socket-make-stream r +- :input t +- :output t +- :buffering :none)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+(and ipv4-support sb-thread) ++;(deftest interrupt-io ++; (let (result) ++; (labels ++; ((client (port) ++; (setf result ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (socket-connect s #(127 0 0 1) port) ++; (let ((stream (socket-make-stream s ++; :input t ++; :output t ++; :buffering :none))) ++; (handler-case ++; (prog1 ++; (catch 'stop ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (close stream)) ++; (error (c) ++; c)))))) ++; (server () ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (setf (sockopt-reuse-address s) t) ++; (socket-bind s (make-inet-address "127.0.0.1") 0) ++; (socket-listen s 5) ++; (multiple-value-bind (* port) ++; (socket-name s) ++; (let* ((client (sb-thread:make-thread ++; (lambda () (client port)))) ++; (r (socket-accept s)) ++; (stream (socket-make-stream r ++; :input t ++; :output t ++; :buffering :none)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) + (let ((listen-socket (gensym "LISTEN-SOCKET"))) +@@ -501,5 +501,6 @@ + (define-shutdown-test ,(make-name 'shutdown.client.ub8) + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io) ++) diff --git a/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch b/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch new file mode 100644 index 000000000000..d51bdd5c507c --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch @@ -0,0 +1,383 @@ +diff -Nuar a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp +--- a/contrib/sb-bsd-sockets/tests.lisp 2017-09-30 18:30:58.000000000 +0200 ++++ b/contrib/sb-bsd-sockets/tests.lisp 2017-10-01 18:45:57.132900158 +0200 +@@ -18,11 +18,11 @@ + (equalp (make-inet-address "242.1.211.3") #(242 1 211 3)) + t) + +-#-win32 +-(deftest make-inet6-address.1 +- (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") +- #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) +- t) ++;#-win32 ++;(deftest make-inet6-address.1 ++; (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") ++; #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) ++; t) + + (deftest get-protocol-by-name/tcp + (integerp (get-protocol-by-name "tcp")) +@@ -35,15 +35,15 @@ + ;;; See https://bugs.launchpad.net/sbcl/+bug/659857 + ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR + ;;; 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) + + (when (handler-case (make-instance 'inet-socket + :type :stream +@@ -102,21 +102,21 @@ + (:no-error nil)) + t) + +-#-win32 +-(deftest make-inet6-socket.smoke +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) +- +-#-win32 +-(deftest make-inet6-socket.keyword +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) +- (> (socket-file-descriptor s) 1)) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;#-win32 ++;(deftest make-inet6-socket.smoke ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) ++ ++;#-win32 ++;(deftest make-inet6-socket.keyword ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) ++; (> (socket-file-descriptor s) 1)) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + #+ipv4-support + (deftest* (non-block-socket) +@@ -125,55 +125,55 @@ + (non-blocking-mode s)) + t) + +-#+ipv4-support +-(deftest inet-socket-bind +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet-address "127.0.0.1")) +- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (progn +- (socket-bind s1 address 0) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t))) +- (socket-close s1) +- (socket-close s2))) +- t) +- +-#-win32 +-(deftest inet6-socket-bind +- (handler-case +- (let* ((tcp (get-protocol-by-name "tcp")) +- (address (make-inet6-address "::1")) +- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) +- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) +- (unwind-protect +- ;; Given the functions we've got so far, if you can think of a +- ;; better way to make sure the bind succeeded than trying it +- ;; twice, let me know +- (handler-case +- (socket-bind s1 address 0) +- (socket-error () +- ;; This may mean no IPv6 support, can't fail a test +- ;; because of that (address-family-not-supported doesn't catch that) +- t) +- (:no-error (x) +- (declare (ignore x)) +- (handler-case +- (let ((port (nth-value 1 (socket-name s1)))) +- (socket-bind s2 address port) +- nil) +- (address-in-use-error () t)))) +- (socket-close s1) +- (socket-close s2))) +- ((or address-family-not-supported protocol-not-supported-error) () t)) +- t) ++;#+ipv4-support ++;(deftest inet-socket-bind ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet-address "127.0.0.1")) ++; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (progn ++; (socket-bind s1 address 0) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t))) ++; (socket-close s1) ++; (socket-close s2))) ++; t) ++ ++;#-win32 ++;(deftest inet6-socket-bind ++; (handler-case ++; (let* ((tcp (get-protocol-by-name "tcp")) ++; (address (make-inet6-address "::1")) ++; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) ++; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) ++; (unwind-protect ++; ;; Given the functions we've got so far, if you can think of a ++; ;; better way to make sure the bind succeeded than trying it ++; ;; twice, let me know ++; (handler-case ++; (socket-bind s1 address 0) ++; (socket-error () ++; ;; This may mean no IPv6 support, can't fail a test ++; ;; because of that (address-family-not-supported doesn't catch that) ++; t) ++; (:no-error (x) ++; (declare (ignore x)) ++; (handler-case ++; (let ((port (nth-value 1 (socket-name s1)))) ++; (socket-bind s2 address port) ++; nil) ++; (address-in-use-error () t)))) ++; (socket-close s1) ++; (socket-close s2))) ++; ((or address-family-not-supported protocol-not-supported-error) () t)) ++; t) + + #+ipv4-support + (deftest* (simple-sockopt-test) +@@ -241,37 +241,37 @@ + ;;; to look at /etc/syslog.conf or local equivalent to find out where + ;;; the message ended up + +-#-win32 +-(deftest simple-local-client +- (progn +- ;; SunOS (Solaris) and Darwin systems don't have a socket at +- ;; /dev/log. We might also be building in a chroot or +- ;; something, so don't fail this test just because the file is +- ;; unavailable, or if it's a symlink to some weird character +- ;; device. +- (when (block nil +- (handler-bind ((sb-posix:syscall-error +- (lambda (e) +- (declare (ignore e)) +- (return nil)))) +- (sb-posix:s-issock +- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) +- (let ((s (make-instance 'local-socket :type :datagram))) +- (format t "Connecting ~A... " s) +- (finish-output) +- (handler-case +- (socket-connect s "/dev/log") +- (sb-bsd-sockets::socket-error () +- (setq s (make-instance 'local-socket :type :stream)) +- (format t "failed~%Retrying with ~A... " s) +- (finish-output) +- (socket-connect s "/dev/log"))) +- (format t "ok.~%") +- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) +- (format stream +- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) +- t) +- t) ++;#-win32 ++;(deftest simple-local-client ++; (progn ++; ;; SunOS (Solaris) and Darwin systems don't have a socket at ++; ;; /dev/log. We might also be building in a chroot or ++; ;; something, so don't fail this test just because the file is ++; ;; unavailable, or if it's a symlink to some weird character ++; ;; device. ++; (when (block nil ++; (handler-bind ((sb-posix:syscall-error ++; (lambda (e) ++; (declare (ignore e)) ++; (return nil)))) ++; (sb-posix:s-issock ++; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) ++; (let ((s (make-instance 'local-socket :type :datagram))) ++; (format t "Connecting ~A... " s) ++; (finish-output) ++; (handler-case ++; (socket-connect s "/dev/log") ++; (sb-bsd-sockets::socket-error () ++; (setq s (make-instance 'local-socket :type :stream)) ++; (format t "failed~%Retrying with ~A... " s) ++; (finish-output) ++; (socket-connect s "/dev/log"))) ++; (format t "ok.~%") ++; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) ++; (format stream ++; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) ++; t) ++; t) + + ;;; these require that the internet (or bits of it, at least) is available + +@@ -387,60 +387,60 @@ + (format t "Received ~A bytes from ~A:~A - ~A ~%" + len address port (subseq buf 0 (min 10 len))))))) + +-#+(and ipv4-support sb-thread) +-(deftest interrupt-io +- (let (result) +- (labels +- ((client (port) +- (setf result +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (socket-connect s #(127 0 0 1) port) +- (let ((stream (socket-make-stream s +- :input t +- :output t +- :buffering :none))) +- (handler-case +- (prog1 +- (catch 'stop +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (close stream)) +- (error (c) +- c)))))) +- (server () +- (let ((s (make-instance 'inet-socket +- :type :stream +- :protocol :tcp))) +- (setf (sockopt-reuse-address s) t) +- (socket-bind s (make-inet-address "127.0.0.1") 0) +- (socket-listen s 5) +- (multiple-value-bind (* port) +- (socket-name s) +- (let* ((client (sb-thread:make-thread +- (lambda () (client port)))) +- (r (socket-accept s)) +- (stream (socket-make-stream r +- :input t +- :output t +- :buffering :none)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+(and ipv4-support sb-thread) ++;(deftest interrupt-io ++; (let (result) ++; (labels ++; ((client (port) ++; (setf result ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (socket-connect s #(127 0 0 1) port) ++; (let ((stream (socket-make-stream s ++; :input t ++; :output t ++; :buffering :none))) ++; (handler-case ++; (prog1 ++; (catch 'stop ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (close stream)) ++; (error (c) ++; c)))))) ++; (server () ++; (let ((s (make-instance 'inet-socket ++; :type :stream ++; :protocol :tcp))) ++; (setf (sockopt-reuse-address s) t) ++; (socket-bind s (make-inet-address "127.0.0.1") 0) ++; (socket-listen s 5) ++; (multiple-value-bind (* port) ++; (socket-name s) ++; (let* ((client (sb-thread:make-thread ++; (lambda () (client port)))) ++; (r (socket-accept s)) ++; (stream (socket-make-stream r ++; :input t ++; :output t ++; :buffering :none)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server (((socket-class &rest common-initargs) + (listen-socket-var &rest listen-address) +@@ -503,8 +503,9 @@ + (define-shutdown-test ,(make-name 'shutdown.client.ub8) + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io) ++) + + #+linux + (deftest abstract.smoke diff --git a/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch b/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch new file mode 100644 index 000000000000..27ad3b0758d4 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch @@ -0,0 +1,29 @@ +diff -Nuar a/make.sh b/make.sh +--- a/make.sh 2017-09-30 18:30:58.000000000 +0200 ++++ b/make.sh 2017-10-01 18:08:26.742909789 +0200 +@@ -24,7 +24,7 @@ + # thing" when run on the target machine, with the minor caveat that + # any --xc-host parameter should be suitable for the host machine + # instead of the target. +-sh make-config.sh "$@" || exit $? ++sh -x make-config.sh "$@" || exit $? + + . output/prefix.def + . output/build-config +@@ -76,11 +76,11 @@ + $@ + fi + } +-maybetime sh make-host-1.sh +-maybetime sh make-target-1.sh +-maybetime sh make-host-2.sh +-maybetime sh make-target-2.sh +-maybetime sh make-target-contrib.sh ++maybetime sh -x make-host-1.sh ++maybetime sh -x make-target-1.sh ++maybetime sh -x make-host-2.sh ++maybetime sh -x make-target-2.sh ++maybetime sh -x make-target-contrib.sh + + NCONTRIBS=`find contrib -name Makefile -print | wc -l` + NPASSED=`find obj/asdf-cache -name test-passed.test-report -print | wc -l` diff --git a/dev-lisp/sbcl/metadata.xml b/dev-lisp/sbcl/metadata.xml new file mode 100644 index 000000000000..e4a3f6aa22b7 --- /dev/null +++ b/dev-lisp/sbcl/metadata.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>pchrist@gentoo.org</email> + <name>Panagiotis Christopoulos</name> + <description>primary-maintainer</description> + </maintainer> + <maintainer type="person"> + <email>bugs@cddr.org</email> + <name>Stelian Ionescu (fe[nl]ix)</name> + <description>second-maintainer</description> + </maintainer> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription>Steel Bank Common Lisp is an open source Common + Lisp implementation. It provides an integrated native compiler, + interpreter, and debugger. SBCL is a fork off of the main branch + of CMUCL. SBCL is distinguished from CMUCL by a greater emphasis + on maintainability. In particular, the SBCL system can be built + directly from its source code, so that the output corresponds to + the source code in a controlled, verifiable way, and arbitrary + changes can be made to the system without causing bootstrapping + problems. SBCL also places less emphasis than CMU CL does on new + non-ANSI extensions, or on backward compatibility with old + non-ANSI features. Support for native threading on GNU/Linux is + available for the x86 and amd64 platforms using an NPTL enabled + GLIBC. SBCL 0.8.17 and later support Unicode. +</longdescription> + <use> + <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> + </use> + <upstream> + <remote-id type="sourceforge">sbcl</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lisp/sbcl/sbcl-1.3.0.ebuild b/dev-lisp/sbcl/sbcl-1.3.0.ebuild new file mode 100644 index 000000000000..572b9a65fc22 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.0.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.0 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.2.7 +BV_ARM64=1.3.0 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.2.6.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.2.11.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + # To make the hardened compiler NOT compile with -fPIE -pie + if gcc-specs-pie ; then + einfo "Disabling PIE..." + eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch + fi + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + docinto html + dodoc -r doc/manual/ + 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 + + dodoc BUGS CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README TLA TODO + + # install the SBCL source + if use source; then + ./clean.sh + cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.11.ebuild b/dev-lisp/sbcl/sbcl-1.3.11.ebuild new file mode 100644 index 000000000000..0695a8193433 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.11.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.11 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.9 +BV_ARM64=1.3.11 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.2.6.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.2.11.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + # bug #599902 + eapply "${FILESDIR}"/${PN}-1.3.11-config.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + # To make the hardened compiler NOT compile with -fPIE -pie + if gcc-specs-pie ; then + einfo "Disabling PIE..." + eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch + fi + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.12.ebuild b/dev-lisp/sbcl/sbcl-1.3.12.ebuild new file mode 100644 index 000000000000..45da677bb662 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.12.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.12 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.9 +BV_ARM64=1.3.11 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.2.6.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + # bug #599902 + eapply "${FILESDIR}"/${PN}-1.3.11-config.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + # To make the hardened compiler NOT compile with -fPIE -pie + if gcc-specs-pie ; then + einfo "Disabling PIE..." + eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch + fi + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.13.ebuild b/dev-lisp/sbcl/sbcl-1.3.13.ebuild new file mode 100644 index 000000000000..3f97aebcd190 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.13.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.13 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.9 +BV_ARM64=1.3.11 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.2.6.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + # bug #599902, #607302 + eapply "${FILESDIR}"/${PN}-1.3.13-config.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + # To make the hardened compiler NOT compile with -fPIE -pie + if gcc-specs-pie ; then + einfo "Disabling PIE..." + eapply "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch + fi + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.14.ebuild b/dev-lisp/sbcl/sbcl-1.3.14.ebuild new file mode 100644 index 000000000000..167c479828ac --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.14.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.14 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.11 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.2.6.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + # bug #599902, #607302, #583930 + eapply "${FILESDIR}"/${PN}-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.15.ebuild b/dev-lisp/sbcl/sbcl-1.3.15.ebuild new file mode 100644 index 000000000000..51f1378df246 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.15.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.15 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.11 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + # bug #599902, #607302, #583930 + eapply "${FILESDIR}"/${PN}-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.16.ebuild b/dev-lisp/sbcl/sbcl-1.3.16.ebuild new file mode 100644 index 000000000000..57ea1430d92b --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.16.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.16 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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() { + eapply "${FILESDIR}"/${P}-gentoo-fix_install_man.patch + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.17.ebuild b/dev-lisp/sbcl/sbcl-1.3.17.ebuild new file mode 100644 index 000000000000..7ba0df37c2e6 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.17.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.17 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.18.ebuild b/dev-lisp/sbcl/sbcl-1.3.18.ebuild new file mode 100644 index 000000000000..8ddf97d51508 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.18.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.18 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-1.3.12.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.19.ebuild b/dev-lisp/sbcl/sbcl-1.3.19.ebuild new file mode 100644 index 000000000000..19be040bd272 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.19.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.19 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/${PN}-1.3.19-bsd-sockets-test.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bug #526194 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \ + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.20.ebuild b/dev-lisp/sbcl/sbcl-1.3.20.ebuild new file mode 100644 index 000000000000..a6c44f0043ba --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.20.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.3.20 +BV_AMD64=1.3.20 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/${PN}-1.3.19-bsd-sockets-test.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bugs #526194 and #620532 + sed -e "s@CFLAGS +=.*\$@CFLAGS = ${CFLAGS} -Wall -Wsign-compare -Wpointer-arith@" \ + -e "s@LINKFLAGS += -g\$@LINKFLAGS = ${LDFLAGS}@" \ + -e "s@LINKFLAGS += -no-pie\$@LINKFLAGS = ${LDFLAGS} -no-pie@" \ + -e "s@LINKFLAGS += -nopie\$@LINKFLAGS = ${LDFLAGS} -nopie@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.3.21.ebuild b/dev-lisp/sbcl/sbcl-1.3.21.ebuild new file mode 100644 index 000000000000..8d9ab4469898 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.3.21.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.3.21 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/${PN}-1.3.19-bsd-sockets-test.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch + + eapply_user + + # bugs #526194 and #620532 + sed -e "s@CFLAGS +=.*\$@CFLAGS = ${CFLAGS} -Wall -Wsign-compare -Wpointer-arith@" \ + -e "s@LINKFLAGS += -g\$@LINKFLAGS = ${LDFLAGS}@" \ + -e "s@LINKFLAGS += -no-pie\$@LINKFLAGS = ${LDFLAGS} -no-pie@" \ + -e "s@LINKFLAGS += -nopie\$@LINKFLAGS = ${LDFLAGS} -nopie@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + cp "${EPREFIX}"/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,${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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/sbcl/sbcl-1.4.0.ebuild b/dev-lisp/sbcl/sbcl-1.4.0.ebuild new file mode 100644 index 000000000000..9f565e6c9e05 --- /dev/null +++ b/dev-lisp/sbcl/sbcl-1.4.0.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib eutils flag-o-matic pax-utils + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.2.7 +BV_AMD64=1.4.0 +BV_PPC=1.2.7 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.3.12 +BV_ARM64=1.3.16 +BV_PPC_MACOS=1.0.47 +BV_X86_MACOS=1.1.6 +BV_X64_MACOS=1.2.11 +BV_SPARC_SOLARIS=1.0.23 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 + +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 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-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 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +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/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-1.3.15.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/${PN}-1.4.0-bsd-sockets-test.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch + + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch + eapply "${FILESDIR}"/${PN}-1.4.0-verbose-build.patch + + eapply_user + + # bugs #526194, #620532 + sed -e "s@CFLAGS +=.*\$@CFLAGS = ${CFLAGS} -Wall -Wsign-compare -Wpointer-arith@" \ + -e "s@LINKFLAGS += -g\$@LINKFLAGS = ${LDFLAGS}@" \ + -e "s@LINKFLAGS += -no-pie\$@LINKFLAGS = ${LDFLAGS} -no-pie@" \ + -e "s@LINKFLAGS += -nopie\$@LINKFLAGS = ${LDFLAGS} -nopie@" \ + -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 + + strip-unsupported-flags ; filter-flags -fomit-frame-pointer + + 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 + 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}" +} diff --git a/dev-lisp/trivial-gray-streams/Manifest b/dev-lisp/trivial-gray-streams/Manifest new file mode 100644 index 000000000000..a61f4ea17501 --- /dev/null +++ b/dev-lisp/trivial-gray-streams/Manifest @@ -0,0 +1,5 @@ +DIST trivial-gray-streams-20170830.tar.bz2 7520 SHA256 0aa3640bb5862b3427950d6732c0d3cef18a7b3d401d50f2ec8537017bd9db07 SHA512 4fbcfff5f2875daaf9c9bb286e2f753fccbb9840bb3c3593b9755204475aaf34241c1ffc2c93b5bf2c3428400e91082b01f15812eb51251afcabe9a57d5df3fa WHIRLPOOL 0d18affea069d4871277cbe64d6e09a2b90ee6de189e3108fdd6c7b76faf84021b191509958dc3ffcc71af9f9ad5a8983ba4d3c7dc773b0e24981cabf02746fe +EBUILD trivial-gray-streams-20170830.ebuild 427 SHA256 5f74795f9111fd0b8dcd5f4db25d10e3830e142d99819530735cf4d2a6579e06 SHA512 2dce2e1ae6fe587c3c73e8304c6237a42b4fe7b1c4186c2f1ceaff42c7e2bd395d9f82e2e2dc790cb0d783e0b69b7e136b94fd8c017688996e95cdd572e6bc14 WHIRLPOOL 550af2ae71100cf05806dcc3093f29baf607c0df074f85036ed44e37babdc9ec40a1d0bfc9a5d7d4349d2827f4f35e6ec73821df677118c1042240663296452e +EBUILD trivial-gray-streams-99999999.ebuild 409 SHA256 8a15d5af7700b6a2fdd12fd0bf51c7eabeab900c81fb611ead37936d72e03751 SHA512 193bb970f025012af66a890758ee862d0b97d03e558b9b19fd4b4378c51b1811e33f10690e88b7804927f500c31cd332a07eec6b96e13a8e631517f51630860f WHIRLPOOL 61551506b38e5b7d34e1c871c1672bbf4f3c45f52bb09d8be1a783e5b5b276c38752562ea3f019875c2f74b61293557891dc2afd8d81d447c001eed1e2068ccf +MISC ChangeLog 826 SHA256 38204dc95620daa128026efb3686bac9c59cea6d687a10a172b097f589f4ae52 SHA512 5d80b7400be7b02dbcfded28d6df2dc400b49c970b6435fe1a792b1bdfeba6c117da6edd35d4f2bae7519655b534b67723ac0b1781a703682490f68fce2d0e05 WHIRLPOOL 3080c9c7b6f86039dc4269ce2a1aa4d1285ead166618e71f55604b4634b7df8c36117f96ff580275b0da8e624744b6fc7ec196a69092ddda837dcab500a4d9e8 +MISC metadata.xml 394 SHA256 598a820ae92f6b7b9d784d4ae146d377d2cdd00fe472e9ddcc4342f8a6bb1ba3 SHA512 2aee230ee6fd936e5ba5d50c3e17e47aaa1dffc4cae7cddf2751ff331fe2191ad4c4e899aed7871ce90404c1b3e366282a9fcfaf928fea3dba8c159c64c6560f WHIRLPOOL 70f0f83a1a8a3183eab399d874e5f0981bccc5b2ffb35d10f4320345cadecc7276877f1843157698543f2fae223dafe74455a2b4ef14f947e879aad15a8890ea diff --git a/dev-lisp/trivial-gray-streams/metadata.xml b/dev-lisp/trivial-gray-streams/metadata.xml new file mode 100644 index 000000000000..53f2ee0bd5c2 --- /dev/null +++ b/dev-lisp/trivial-gray-streams/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription lang="en"> + This system provides an extremely thin compatibility layer for + Gray streams + </longdescription> +</pkgmetadata> diff --git a/dev-lisp/trivial-gray-streams/trivial-gray-streams-20170830.ebuild b/dev-lisp/trivial-gray-streams/trivial-gray-streams-20170830.ebuild new file mode 100644 index 000000000000..63d5924ffdb0 --- /dev/null +++ b/dev-lisp/trivial-gray-streams/trivial-gray-streams-20170830.ebuild @@ -0,0 +1,17 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="A thin compatibility layer between Gray Stream Common Lisp implementations" +HOMEPAGE="https://common-lisp.net/project/trivial-gray-streams/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" +IUSE="" + +RDEPEND="!dev-lisp/cl-${PN}" diff --git a/dev-lisp/trivial-gray-streams/trivial-gray-streams-99999999.ebuild b/dev-lisp/trivial-gray-streams/trivial-gray-streams-99999999.ebuild new file mode 100644 index 000000000000..9fa802eff228 --- /dev/null +++ b/dev-lisp/trivial-gray-streams/trivial-gray-streams-99999999.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 git-r3 + +DESCRIPTION="A thin compatibility layer between Gray Stream Common Lisp implementations" +HOMEPAGE="https://common-lisp.net/project/trivial-gray-streams/" +EGIT_REPO_URI="https://github.com/${PN}/${PN}" + +LICENSE="MIT" +SLOT="0" +IUSE="" + +RDEPEND="!dev-lisp/cl-${PN}" diff --git a/dev-lisp/uiop/Manifest b/dev-lisp/uiop/Manifest new file mode 100644 index 000000000000..1aa0358e3dac --- /dev/null +++ b/dev-lisp/uiop/Manifest @@ -0,0 +1,17 @@ +DIST asdf-3.0.3.tar.gz 427575 SHA256 05f11d83d33f1080f683701ad0e139011051f9c3190c3b1f22bc63208d8d5f47 SHA512 d9d8d466c7b6aa6beb1c22da4fd10499fa784c39ab138bea7ecb8cdccf769766572ebe91c89db2d5c53e493096248f82a224be95c1fcac8b7beebe1b57f34883 WHIRLPOOL 3503250361350b59d095b743dcc627e9ec1e3ec469066287b80d97924d54ea254fed94f77596ed71b4c9974e4c9b97de8b6a35b3c6529f559d6ba392b695ccf4 +DIST asdf-3.1.5.tar.gz 400359 SHA256 3005aa50470feefc3f786e4e300f275bef3d3662ed1904fd25a22552e4cc59ad SHA512 937d45eabea0853cd1b2e78e84cf33e7b55065857ffcf49fd87ccd60e21ae09c6dc7ab3649d48b37aeb1beaeeaf6c816e5ce035f0283707105296fb976044516 WHIRLPOOL 730e55f875367d190a893b52663bcf35ed5880715ef696d519d35947b82f8a304c94a46294f48c4403c1583895f41a03955510c92848a7290d1d681ab3214e24 +DIST asdf-3.1.6.tar.gz 396066 SHA256 1c15f8db038ace781fa5e6f0cf045b06f6315c715c55d8bcc185238182bb6514 SHA512 3203bef1ce4c2d28306ca1ee214d3d5fd04b3d2caa61f606d0334f100358bfbd9b03d69c95e83734175639a91e76aeac509e949768fc694817631078671a9bc1 WHIRLPOOL 52a4a62f17d54c638a3f3ed4c42804c64e34a86c8df5bf0e118ff478c38c1558adb8751a987b97093ec5adc0f7a6c951f9c563ef7549fc7591fdffd9a7aa1212 +DIST asdf-3.1.7.tgz 402257 SHA256 06b7b081a887183d31d1fc710d4f63a2e30ff6f70ee9792f130017abd62037be SHA512 ebe2ddf702f6200bf98408fb262e9929565c9d29bcd874dd2657a6f84e123b0153a78e457fb425d48a05c427f7c090ab5fd0e6201223eb4b296b3b4cd5b57c26 WHIRLPOOL 6fff0e34909bc3094c6ea5acddd5c35b08a1ae173f3343f3fd4e11f4ba4320d377f014bca4f74218de794d2dd4d461641ba96ba55172427e8fa4c846aa2e20fb +DIST asdf-3.2.0.tar.gz 438536 SHA256 2a5d406394c8b124e02857ccb0a640363afea8d71c194cfc7ece2ae00a84445b SHA512 2c273aa7b1049c1a8f4da5d195ac7c2cceba238228508847b5afbed8a258ad49e6b346e79b07d0347be0326d3558ed881838fe8461a6d45cc3f2d58380789fcb WHIRLPOOL 346d1acc18e8c48f3e49b5abb2cf0042005bea86be9895e0622963156133d4c5dfa2616e98b8bc15304acce8ce21c06c2bed015fc700c0f1b098126d9d14add0 +DIST asdf-3.2.1.tar.gz 460536 SHA256 58dcb02e0bc890aee4869e93726dc07a14d856f9eb9e3530cb3c79a081e69fa9 SHA512 686881536126eb6ffb7e9db763aec02e1ad7ab4df60cc96d094bc4cebb95453e3d57273cb925471c7ee13e4378ca3c0d697c416b7374ad07148e11d89aee85b0 WHIRLPOOL 7ac3c0b069cb23266b264c912880dbd1a2d92f3f5d6fe4de4e747fdeed10faf65bf8ad846f5bb46992f10febcfa0701bd58604b9ad19fbd808ea43c889ed1ff6 +DIST asdf-3.3.0.tar.gz 498451 SHA256 685bc6252feb2120c6d66aa73a0a0e4217da7bb64b9a913fbd44371a8584179b SHA512 4e8b3434d9eb504af253fa39ac759cceb7ea0c3e2c364875d7259b32a9818b051fb2a3c94c188c7f38e43825e2a18107f1732211534a8b1fbbaa77b6c7f90486 WHIRLPOOL da640ea3f99a6a2bee89ebb004fdca700bffe9f719c45233be9e26952fab0ae2b7461ad1078913e224e2fc63e3e7c9970690510e8631dab7a23f77dd3df005d2 +EBUILD uiop-3.0.3.ebuild 797 SHA256 356735c5b55f25e7c46938dd12663bf557f3b9cbc316b9b1cb775db43761adae SHA512 b9899eee938e8e013ccc2400997b8ee3e9070bf6836171bbddd416baecf67ae957bb9901dde39f26e22b72bb0104dd64091e24c30883e4656cac0649cf2dc6be WHIRLPOOL 60ad301cba1ae14463e114dbd72af6e47ab5715f9e3138e20c301982898aaefc1daaf90c9979e2088fd19bc0881b1ea1c0515c8c9f3a12ec25875e84ab6534ab +EBUILD uiop-3.1.5.ebuild 867 SHA256 7eaa3c06fa95775dfb52d572e2157e6f90cd97f404f8aa46f3131881b5315bd0 SHA512 9f7fbeb708368d333ffb36094746b83193b64c23a5c25491e5fc53d9fa0e5d70ffde0ba356621916b50e04b3d3eff9fc855fddc821899636c880f64044ac8ce1 WHIRLPOOL 99e54ea4c2eb63e620e8e108d883041b34179be172933b9860963c0ecbe1c03b068cdc6009e0b3f3b871ecc3fea4f01ab0592ea114908a6fb46656410b235c47 +EBUILD uiop-3.1.6.ebuild 871 SHA256 c2c90c1eb147c6f92f048f36b647e112f84a83d46b7f15352c16162ed8435522 SHA512 d1a46364aa2a55e3bf474d9ec5a9187657510f0497fbbae743229737017ba5bbb66f75080c72227c833b6a3ac4ffcdab34b0633ea0c8c287645b38c418ba668c WHIRLPOOL 8225e30a02e793de472b86e037cfb66115a8fd573b6cb0eee08f5418705ac520f63ce274dad839481035721af972b476edfd3f77251cb01c40a3062f8107a938 +EBUILD uiop-3.1.7.ebuild 795 SHA256 074dbc93ed1799b10b4909b4fba454a6334e58575b2e1a9c84b1936dbcd93e1e SHA512 dbd0ab07ecd5b6fd80153de10b39593af511ce1e929b4e9d9fc1037782469335679725c84d1028642ee1c2d613a5a2583000c8288cc93ca1188fa9a65dff37cb WHIRLPOOL 32b592a5f27fc964280229d5103bf54647a2f591a42b657c77ad36dd6baa320f7350658020d7bd6259987788c3f875ea50d47686ec14eb24d0a2c11685aa8892 +EBUILD uiop-3.2.0.ebuild 809 SHA256 e8fc6df353085b7f56d1f719f63c48c284e2f0196211962ffc7fe72619260995 SHA512 7ca137a6496e41b7a1c8ffdc99990aab7d54bb20887357f23422f4411d32a50c9eb299e1e86bdbf118063a1bbe182f5d889efbe7b5bae65db8f07a8dbdc9aadc WHIRLPOOL 55056cb6946aafc69b7498c5e11f68ceabd95efdaf09109e9e6be8bc69d0d6892341e04277fa2475172da911623b839edfd6789d4cb1f49352ce33b55f5c1cc0 +EBUILD uiop-3.2.1.ebuild 809 SHA256 e8fc6df353085b7f56d1f719f63c48c284e2f0196211962ffc7fe72619260995 SHA512 7ca137a6496e41b7a1c8ffdc99990aab7d54bb20887357f23422f4411d32a50c9eb299e1e86bdbf118063a1bbe182f5d889efbe7b5bae65db8f07a8dbdc9aadc WHIRLPOOL 55056cb6946aafc69b7498c5e11f68ceabd95efdaf09109e9e6be8bc69d0d6892341e04277fa2475172da911623b839edfd6789d4cb1f49352ce33b55f5c1cc0 +EBUILD uiop-3.3.0.ebuild 809 SHA256 e8fc6df353085b7f56d1f719f63c48c284e2f0196211962ffc7fe72619260995 SHA512 7ca137a6496e41b7a1c8ffdc99990aab7d54bb20887357f23422f4411d32a50c9eb299e1e86bdbf118063a1bbe182f5d889efbe7b5bae65db8f07a8dbdc9aadc WHIRLPOOL 55056cb6946aafc69b7498c5e11f68ceabd95efdaf09109e9e6be8bc69d0d6892341e04277fa2475172da911623b839edfd6789d4cb1f49352ce33b55f5c1cc0 +MISC ChangeLog 3786 SHA256 30b5f2ebf31a3cfcb89a4a6021e9f1fe2ffa93c0127d7c5ff248cf16466973f9 SHA512 cbd095696aa72936596c24009e6eb228977a959a449ebdcf7003d193cb2ce2c65ea979b11d5ebe2e38a553daae6af93a008160c7490e0066a37361adad67c1ca WHIRLPOOL ca2eba23e6358c1617102d4a6528fe30085f6f63ee31af96d49459df739534be539183da34bcef3529444139f1df28a150f8efed1691bb160bca30e7749cbf50 +MISC ChangeLog-2015 2464 SHA256 b7f8590b72cb78df09e79d95f063c03ae690086290eb322db6546d16414b353e SHA512 498a54ed0b4d83a05cf3acdee556716a2474367f41dd2fb53efbc5a8602873e3fffa2446b1ead6c6317fb2f0ccddc0b4d74f058f7bbdaeaef21ba7dfa1380487 WHIRLPOOL 9d74b7bd0c8b7c92348e2e93add942cf84da09692f1dede8808eac81c506d6b31d3a5dd8a720d4a75f5d745c45ac73dfbc211519fdbfc0577a534e3c5a7bc944 +MISC metadata.xml 261 SHA256 627a8fb846aff40f2f1e29e77040baa5b21fd7663158ab97b84012e0b5e2f742 SHA512 fb754c4ed3579db5dbe303197a05647b7cfab0a3fe47fd2140d5f77641be752d10ccf49a9c267406a0f3ba3dcda8831f778b9596d723f65aff10142bfad60d3d WHIRLPOOL 02fb9a9a64cd705025462ef7601b9b452954c62e41f57422a5a74e6e0c84695aca510635335b0cf35031dfbe75142c0feb06ce1ba4f2794c6230378d772c3ae3 diff --git a/dev-lisp/uiop/metadata.xml b/dev-lisp/uiop/metadata.xml new file mode 100644 index 000000000000..7ea645c67e72 --- /dev/null +++ b/dev-lisp/uiop/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> +</maintainer> +</pkgmetadata> diff --git a/dev-lisp/uiop/uiop-3.0.3.ebuild b/dev-lisp/uiop/uiop-3.0.3.ebuild new file mode 100644 index 000000000000..65ac464f69ee --- /dev/null +++ b/dev-lisp/uiop/uiop-3.0.3.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/${PN}" + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r contrib *.lisp ../version.lisp-expr uiop.asd asdf-driver.asd + dodir /usr/share/common-lisp/systems + dosym /usr/share/common-lisp/source/${PN}/uiop.asd /usr/share/common-lisp/systems/uiop.asd + dosym /usr/share/common-lisp/source/${PN}/asdf-driver.asd /usr/share/common-lisp/systems/asdf-driver.asd +} diff --git a/dev-lisp/uiop/uiop-3.1.5.ebuild b/dev-lisp/uiop/uiop-3.1.5.ebuild new file mode 100644 index 000000000000..45586fb2d9df --- /dev/null +++ b/dev-lisp/uiop/uiop-3.1.5.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/asdf-${PV}/${PN}" + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r contrib *.lisp ../version.lisp-expr uiop.asd asdf-driver.asd + dodir /usr/share/common-lisp/systems + dosym /usr/share/common-lisp/source/${PN}/uiop.asd /usr/share/common-lisp/systems/uiop.asd + dosym /usr/share/common-lisp/source/${PN}/asdf-driver.asd /usr/share/common-lisp/systems/asdf-driver.asd +} diff --git a/dev-lisp/uiop/uiop-3.1.6.ebuild b/dev-lisp/uiop/uiop-3.1.6.ebuild new file mode 100644 index 000000000000..4f22c7320455 --- /dev/null +++ b/dev-lisp/uiop/uiop-3.1.6.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/asdf-${PV}/${PN}" + +src_install() { + insinto /usr/share/common-lisp/source/${PN} + doins -r contrib *.lisp ../version.lisp-expr uiop.asd asdf-driver.asd + dodir /usr/share/common-lisp/systems + dosym /usr/share/common-lisp/source/${PN}/uiop.asd /usr/share/common-lisp/systems/uiop.asd + dosym /usr/share/common-lisp/source/${PN}/asdf-driver.asd /usr/share/common-lisp/systems/asdf-driver.asd +} diff --git a/dev-lisp/uiop/uiop-3.1.7.ebuild b/dev-lisp/uiop/uiop-3.1.7.ebuild new file mode 100644 index 000000000000..0340a992de22 --- /dev/null +++ b/dev-lisp/uiop/uiop-3.1.7.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit common-lisp-3 + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tgz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/${PN}" + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r contrib *.lisp ../version.lisp-expr "${PN}.asd" asdf-driver.asd + dodir "${CLSYSTEMROOT}" + dosym "${CLSOURCEROOT}/${PN}/${PN}.asd" "${CLSYSTEMROOT}/${PN}.asd" + dosym "${CLSOURCEROOT}/${PN}/asdf-driver.asd" "${CLSYSTEMROOT}/asdf-driver.asd" +} diff --git a/dev-lisp/uiop/uiop-3.2.0.ebuild b/dev-lisp/uiop/uiop-3.2.0.ebuild new file mode 100644 index 000000000000..354fca8768ef --- /dev/null +++ b/dev-lisp/uiop/uiop-3.2.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/asdf-${PV}/${PN}" + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r contrib *.lisp ../version.lisp-expr "${PN}.asd" asdf-driver.asd + dodir "${CLSYSTEMROOT}" + dosym "${CLSOURCEROOT}/${PN}/${PN}.asd" "${CLSYSTEMROOT}/${PN}.asd" + dosym "${CLSOURCEROOT}/${PN}/asdf-driver.asd" "${CLSYSTEMROOT}/asdf-driver.asd" +} diff --git a/dev-lisp/uiop/uiop-3.2.1.ebuild b/dev-lisp/uiop/uiop-3.2.1.ebuild new file mode 100644 index 000000000000..354fca8768ef --- /dev/null +++ b/dev-lisp/uiop/uiop-3.2.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/asdf-${PV}/${PN}" + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r contrib *.lisp ../version.lisp-expr "${PN}.asd" asdf-driver.asd + dodir "${CLSYSTEMROOT}" + dosym "${CLSOURCEROOT}/${PN}/${PN}.asd" "${CLSYSTEMROOT}/${PN}.asd" + dosym "${CLSOURCEROOT}/${PN}/asdf-driver.asd" "${CLSYSTEMROOT}/asdf-driver.asd" +} diff --git a/dev-lisp/uiop/uiop-3.3.0.ebuild b/dev-lisp/uiop/uiop-3.3.0.ebuild new file mode 100644 index 000000000000..354fca8768ef --- /dev/null +++ b/dev-lisp/uiop/uiop-3.3.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit common-lisp-3 + +DESCRIPTION="UIOP is a portability layer spun off ASDF3" +HOMEPAGE="http://common-lisp.net/project/asdf/" +SRC_URI="http://common-lisp.net/project/asdf/archives/asdf-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris" +IUSE="" + +RDEPEND="~dev-lisp/asdf-${PV}" + +S="${WORKDIR}/asdf-${PV}/${PN}" + +src_install() { + insinto "${CLSOURCEROOT}/${PN}" + doins -r contrib *.lisp ../version.lisp-expr "${PN}.asd" asdf-driver.asd + dodir "${CLSYSTEMROOT}" + dosym "${CLSOURCEROOT}/${PN}/${PN}.asd" "${CLSYSTEMROOT}/${PN}.asd" + dosym "${CLSOURCEROOT}/${PN}/asdf-driver.asd" "${CLSYSTEMROOT}/asdf-driver.asd" +} |