+++ /dev/null
-DIST lsp-mode-8.0.0.tar.gz 14703640 BLAKE2B ab7993772cfc127ee94ba4a0af75e8d7f6789ac22c76acce8df250b5579c1dd2f41e353b26cbdcf6e1a2e6a8d1f8a179d4736b67914cdec31c23032f93dffd3c SHA512 2620288142cea7b06ad2725b63e5db945b1d62d0b4c215e8d35d79d6c3f05bcdf2736dab34bd10c2b9f8928caf36ef617182c41c309e62e2ce8ddf45df376cbc
+++ /dev/null
-(add-to-list 'load-path "@SITELISP@")
-(load "@SITELISP@/lsp-mode-autoload.el")
+++ /dev/null
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="26.1"
-
-inherit elisp optfeature
-
-if [[ ${PV} = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/emacs-lsp/lsp-mode"
- EGIT_BRANCH="master"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
- S="${EGIT_CHECKOUT_DIR}"
-else
- SRC_URI="https://github.com/emacs-lsp/lsp-mode/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Emacs client/library for the Language Server Protocol"
-HOMEPAGE="https://emacs-lsp.github.io/lsp-mode/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-RDEPEND="
- >=app-emacs/dash-2.18.0
- >=app-emacs/f-0.20.0
- >=app-emacs/ht-2.3
- >=app-emacs/lv-0.15.0
- >=app-emacs/markdown-mode-2.3
- >=app-emacs/spinner-1.7.3
-"
-DEPEND="${RDEPEND}"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS=( README.md CHANGELOG.org )
-RESTRICT="test" # test requires ert-runner which is not packaged
-
-BYTECOMPFLAGS="${BYTECOMPFLAGS} -L ${S}/clients/"
-
-src_compile() {
- elisp-compile "${S}"/*.el "${S}"/clients/*.el
- elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
-}
-
-src_install() {
- elisp-install ${PN} *.el *.elc
- elisp-install ${PN}/clients "${S}"/clients/{*.el,*.elc}
- elisp-site-file-install ${FILESDIR}/${SITEFILE}
-}
-
-pkg_postinst() {
- elisp_pkg_postinst
- optfeature "lsp-mode UI integration" app-emacs/lsp-ui
- optfeature "on the fly diagnostics" app-emacs/flycheck
- optfeature "code completion" app-emacs/company-mode
- optfeature "helm integration" app-emacs/helm
- optfeature "projectile integration" app-emacs/projectile
-}
+++ /dev/null
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="26.1"
-
-inherit elisp optfeature
-
-if [[ ${PV} = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/emacs-lsp/lsp-mode"
- EGIT_BRANCH="master"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
- S="${EGIT_CHECKOUT_DIR}"
-else
- SRC_URI="https://github.com/emacs-lsp/lsp-mode/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Emacs client/library for the Language Server Protocol"
-HOMEPAGE="https://emacs-lsp.github.io/lsp-mode/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-RDEPEND="
- >=app-emacs/dash-2.18.0
- >=app-emacs/f-0.20.0
- >=app-emacs/ht-2.3
- >=app-emacs/lv-0.15.0
- >=app-emacs/markdown-mode-2.3
- >=app-emacs/spinner-1.7.3
-"
-DEPEND="${RDEPEND}"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS=( README.md CHANGELOG.org )
-RESTRICT="test" # test requires ert-runner which is not packaged
-
-BYTECOMPFLAGS="${BYTECOMPFLAGS} -L ${S}/clients/"
-
-src_compile() {
- elisp-compile "${S}"/*.el "${S}"/clients/*.el
- elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
-}
-
-src_install() {
- elisp-install ${PN} *.el *.elc
- elisp-install ${PN}/clients "${S}"/clients/{*.el,*.elc}
- elisp-site-file-install ${FILESDIR}/${SITEFILE}
-}
-
-pkg_postinst() {
- elisp_pkg_postinst
- optfeature "lsp-mode UI integration" app-emacs/lsp-ui
- optfeature "on the fly diagnostics" app-emacs/flycheck
- optfeature "code completion" app-emacs/company-mode
- optfeature "helm integration" app-emacs/helm
- optfeature "projectile integration" app-emacs/projectile
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jturner.usa+gentoo@gmail.com</email>
- <name>John Turner</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">emacs-lsp/lsp-mode</remote-id>
- <doc>https://github.com/emacs-lsp/lsp-mode/blob/master/README.md</doc>
- </upstream>
- <longdescription>
- Client for Language Server Protocol. lsp-mode aims to provide IDE-like
- experience by providing optional integration with the most popular Emacs
- packages like company, flycheck and projectile.
- </longdescription>
-</pkgmetadata>
+++ /dev/null
-DIST lsp-ui-8.0.0.tar.gz 5609015 BLAKE2B 4260ab5cc44b25937d9d273f35a25bb2a2db2e458c20a6b99bb3c697729f31f92c2423512e5bd2caef21998aadf8d555f09eadc616158d3c835fc7a2cf7a5cd7 SHA512 5e64f1532a4ed3c8ff4ef1254812d13a8c8c9c37e26992adc868f66ddfdd8b73d31eb8ab92c2c1caf1fd6098e292e1ff9bb81689b24a209cfff88224aff7004d
+++ /dev/null
-(add-to-list 'load-path "@SITELISP@")
-(load "@SITELISP@/lsp-ui-autoload.el")
+++ /dev/null
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="26.1"
-
-inherit elisp
-
-if [[ ${PV} = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/emacs-lsp/lsp-ui"
- EGIT_BRANCH="master"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
- S="${EGIT_CHECKOUT_DIR}"
-else
- SRC_URI="https://github.com/emacs-lsp/lsp-ui/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="lsp-mode UI integrations"
-HOMEPAGE="https://emacs-lsp.github.io/lsp-ui/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-DEPEND=">=app-emacs/lsp-mode-6
- >=app-emacs/dash-2.18.0
- >=app-emacs/markdown-mode-2.3"
-RDEPEND="${DEPEND}"
-
-SITEFILE="50lsp-ui-gentoo.el"
-RESTRICT="test" # test requires ert-runner which is not packaged
-
-src_install() {
- elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
- elisp_src_install
-}
+++ /dev/null
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="26.1"
-
-inherit elisp
-
-if [[ ${PV} = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/emacs-lsp/lsp-ui"
- EGIT_BRANCH="master"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
- S="${EGIT_CHECKOUT_DIR}"
-else
- SRC_URI="https://github.com/emacs-lsp/lsp-ui/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="lsp-mode UI integrations"
-HOMEPAGE="https://emacs-lsp.github.io/lsp-ui/"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-DEPEND=">=app-emacs/lsp-mode-6
- >=app-emacs/dash-2.18.0
- >=app-emacs/markdown-mode-2.3"
-RDEPEND="${DEPEND}"
-
-SITEFILE="50lsp-ui-gentoo.el"
-RESTRICT="test" # test requires ert-runner which is not packaged
-
-src_install() {
- elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
- elisp_src_install
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jturner.usa+gentoo@gmail.com</email>
- <name>John Turner</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">emacs-lsp/lsp-ui</remote-id>
- <doc>https://github.com/emacs-lsp/lsp-ui/blob/master/README.md</doc>
- </upstream>
-</pkgmetadata>
+++ /dev/null
-DIST hydra-0.15.0.tar.gz 36150 BLAKE2B 6e7d1ed6501d5b0fb40f3545d61469e461363dc7ec8900c7c697116cb19704529acfd9e886a1fef09ae50dfd68666e6455c62447140f55b1f4651490855c2b3a SHA512 815a8c425aaeb4d2aeb5d9faa0f66a41e37420b8e9435d93b9e78913c0e0722d1e39cad2e8f4bc12cfe34dad2e3fc1290b23d816181b12fd093f9e4d9d37e814
+++ /dev/null
-(add-to-list 'load-path "@SITELISP@")
+++ /dev/null
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="24.3"
-
-inherit elisp
-
-DESCRIPTION="Put semi-permanent hints in the echo area"
-HOMEPAGE="https://github.com/abo-abo/hydra"
-SRC_URI="https://github.com/abo-abo/hydra/archive/refs/tags/${PV}.tar.gz -> hydra-${PV}.tar.gz"
-S="${WORKDIR}/hydra-${PV}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RESTRICT="test" # the tests target hydra and not lv, so we should skip them
-SITEFILE="50lv-gentoo.el"
-ELISP_REMOVE="hydra-examples.el hydra-ox.el hydra-test.el hydra.el"
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jturner.usa+gentoo@gmail.com</email>
- <name>John Turner</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">abo-abo/hydra</remote-id>
- <doc>https://github.com/abo-abo/hydra/blob/master/README.md</doc>
- </upstream>
-</pkgmetadata>
+++ /dev/null
-DIST projectile-2.5.0.tar.gz 1915860 BLAKE2B 4d215e2c1e44c7f85121fc36445112f3064129fe95866b4fbb2e14b11d31519057d9cc69bcdf44c82cd516768cc73a031da48a7c5352b9825816db54810cafcb SHA512 3faeb7db70e5e2198ad307c1d5d24a5fadd207765387e7094691e40071411506e6df690995f923bf246b7176173ca41882d369276862b631d7436747bfeae3a3
+++ /dev/null
-(add-to-list 'load-path "@SITELISP@")
-(load "@SITELISP@/projectile-autoload.el")
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jturner.usa+gentoo@gmail.com</email>
- <name>John Turner</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bbatsov/projectile</remote-id>
- <doc>https://github.com/bbatsov/projectile/blob/master/README.md</doc>
- </upstream>
-</pkgmetadata>
+++ /dev/null
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-NEED_EMACS="25.1"
-
-inherit elisp
-
-DESCRIPTION="A project interaction library for Emacs"
-HOMEPAGE="https://docs.projectile.mx"
-SRC_URI="https://github.com/bbatsov/projectile/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-
-SITEFILE="50projectile-gentoo.el"
-DOCS=( README.md )
-RESTRICT="test" # tests require buttercup which is not packaged
-
-src_install() {
- elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
- elisp_src_install
-}
+++ /dev/null
-DIST cl-change-case-0.2.0.tar.gz 4882 BLAKE2B fcf7484bd59fed185e6c5d32cb6a6a4f9398747004b22421d2550cf4fb5563f997fdce3815502cafe2e8ecc6edc931382dcd406b32ddccf53aa470d9029db79f SHA512 18546d7954ec90d1fd53468af996c921a67f7132bbff1f30d4ffdf08f6968031e1b4dab7a71fdacf9dbdf6f010fb6b557ac806d864ff5a01ab7e927bdcd98225
+++ /dev/null
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit common-lisp-3
-
-DESCRIPTION="Convert strings between camelCase, param-case, snake_case and more"
-HOMEPAGE="https://github.com/rudolfochrist/cl-change-case"
-SRC_URI="https://github.com/rudolfochrist/cl-change-case/archive/refs/tags/${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="LLGPL-2.1"
-SLOT=0
-KEYWORDS="~amd64"
-
-RDEPENDS="dev-lisp/cl-ppcre
- dev-lisp/cl-ppcre-unicode"
-
-PATCHES=(
- "${FILESDIR}/remove-uiop-read-file-from-asd.patch"
-)
+++ /dev/null
-diff --git a/cl-change-case.asd b/cl-change-case.asd
-index 772f112..ff699b5 100644
---- a/cl-change-case.asd
-+++ b/cl-change-case.asd
-@@ -1,7 +1,7 @@
- ;;; cl-change-case.asd
-
- (defsystem "cl-change-case"
-- :version (:read-file-line "version")
-+ :version "0.2.0"
- :author "Sebastian Christ"
- :mailto "rudolfo.christ@gmail.com"
- :license "LLGPL"
+++ /dev/null
-DIST cl-str-0.19.tar.gz 17750 BLAKE2B 0cef03a8258128d7ac69f3dac14190ee6a54287af6245575835e60d00fce8df18a2c79f51a6b2cbc28af228069fabf04e3d44cdc1843ad28391fda2d697ca307 SHA512 0f2e72b9571bd51f4162b5097681aeea3b8b8a29e5c986d928d0f1d2e3036410a2712379104ba61d6a59a16d9e7051a45ca5d452b92f390fc804f002523878e9
+++ /dev/null
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit common-lisp-3
-
-DESCRIPTION="Modern, simple and consistent Common Lisp string manipulation library"
-HOMEPAGE="https://vindarel.github.io/cl-str/"
-SRC_URI="https://github.com/vindarel/cl-str/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT=0
-KEYWORDS="~amd64"
-
-RDEPEND="dev-lisp/cl-ppcre
- dev-lisp/cl-ppcre-unicode
- dev-lisp/cl-change-case"
-
-# This patch can be removed on >cl-str-0.19 since
-# the issue was fixed upstream.
-PATCHES=(
- "${FILESDIR}/remove-uiop-read-from-asd-file.patch"
-)
+++ /dev/null
-diff --git a/str.asd b/str.asd
-index 90d96dc..8c89fcf 100644
---- a/str.asd
-+++ b/str.asd
-@@ -13,8 +13,4 @@
- :cl-ppcre-unicode
- :cl-change-case)
- :components ((:file "str"))
--
-- :long-description
-- #.(uiop:read-file-string
-- (uiop:subpathname *load-pathname* "README.md"))
- :in-order-to ((test-op (test-op :str.test))))
+++ /dev/null
-DIST ecl-21.2.1_p20221211.tar.gz 8039002 BLAKE2B 3ef801b9aff621c7229d0f7902371021ff1a841bae2e69d0e51875f9b38b98e386ffaeba67aa5e952060c0ca0025863fe8f37a0b0b01a4e0dd0984c743dce74a SHA512 f9f42826754af15940bbe0c6385ee0d8c1e90ada077f20e37be098a2369113a343e527dca24be7080c0fc78272eb6c03fe70bdd61aa798a767dfe87e29db55fe
+++ /dev/null
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit readme.gentoo-r1
-
-MY_P=ecl-${PV}
-DESCRIPTION="ECL is an embeddable Common Lisp implementation"
-HOMEPAGE="https://common-lisp.net/project/ecl/"
-COMMIT="7175e592bddf0a612c8f1e17a5a2dc7659223b60"
-SRC_URI="https://gitlab.com/embeddable-common-lisp/ecl/-/archive/${COMMIT}/ecl-${COMMIT}.tar.gz
- -> ecl-${PV}.tar.gz"
-S="${WORKDIR}/ecl-${COMMIT}"
-
-LICENSE="BSD-2 LGPL-2.1+"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X"
-# test phase only works if ecls already installed #516876
-RESTRICT="test"
-
-RDEPEND="dev-libs/gmp:0=
- dev-libs/libffi:=
- dev-libs/libatomic_ops
- >=dev-libs/boehm-gc-7.1[threads?]
- >=dev-lisp/asdf-2.33-r3:="
-DEPEND="${RDEPEND}
- app-text/texi2html
- emacs? ( >=app-editors/emacs-23.1:* >=app-eselect/eselect-emacs-1.12 )"
-
-DOCS=( README.md CHANGELOG )
-
-# We don't need the ldflags patch since upstream fixed the makefile
-# to respect LDFLAGS.
-PATCHES=(
- "${FILESDIR}/${PN}-16.1.3-headers-gentoo.patch"
- "${FILESDIR}/${PN}-16.1.3-build.patch"
- "${FILESDIR}/${PN}-21.2.1-donotcompressinfo.patch"
-)
-
-src_prepare() {
- default
- cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
-}
-
-src_configure() {
- econf \
- --enable-gmp=system \
- --enable-boehm=system \
- --with-dffi \
- --enable-libatomic=system \
- --with-defsystem \
- $(use_with cxx) \
- $(use_enable gengc) \
- $(use_enable precisegc) \
- $(use_with debug debug-cflags) \
- $(use_with cpu_flags_x86_sse sse) \
- $(use_enable threads) \
- $(use_enable unicode) \
- $(use_with X x)
-}
-
-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 || die
- else
- touch build/TAGS
- fi
-
- emake
-}
-
-src_install() {
- default
-
- readme.gentoo_create_doc
- pushd build/doc > /dev/null || die
- newman ecl.man ecl.1
- newman ecl-config.man ecl-config.1
- popd > /dev/null || die
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
+++ /dev/null
--*- outline -*-
-
-Gentoo GNU/Linux specific notes for ECL
----------------------------------------
-
- * 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 https://bugs.gentoo.org/.
-Please don't bother the upstream authors unless you are absolutely certain it is
-not Gentoo-related.
+++ /dev/null
-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>
+++ /dev/null
-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)
+++ /dev/null
-diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in
-index 5660f41..c2aadbe 100644
---- a/src/doc/Makefile.in
-+++ b/src/doc/Makefile.in
-@@ -15,7 +15,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_DATA = @INSTALL_DATA@
- INSTALL_INFO = @INSTALL_INFO@
- mkinstalldirs = $(top_srcdir)/bdwgc/install-sh -d
--INFO_FILE = ecl.info.gz
-+INFO_FILE = ecl.info
- MAKEINFO = @MAKEINFO@
- MANUAL_MAKE_TARGET = @MANUAL_MAKE_TARGET@
- MANUAL_INSTALL_TARGET = @MANUAL_INSTALL_TARGET@
-diff --git a/src/doc/manual/Makefile b/src/doc/manual/Makefile
-index f82c287..2ff67e0 100644
---- a/src/doc/manual/Makefile
-+++ b/src/doc/manual/Makefile
-@@ -5,15 +5,14 @@ FILES= *.txi */*.txi figures/*
- all: pdf info html
-
- pdf: manual.pdf
--info: ecl.info.gz
-+info: ecl.info
- html: html/index.html
-
- manual.pdf: $(FILES)
- texi2pdf manual.txi
-
--ecl.info.gz: $(FILES)
-+ecl.info: $(FILES)
- $(MAKEINFO) --no-split manual.txi
-- gzip < ecl.info > ecl.info.gz
-
- html/index.html: $(FILES)
- $(MAKEINFO) --html --css-include=ecl.css --split=section manual.txi
+++ /dev/null
-https://bugs.gentoo.org/723162
-
---- ecl-21.2.1/src/c/Makefile.in
-+++ ecl-21.2.1/src/c/Makefile.in
-@@ -104,7 +104,7 @@
-
- $(DPP): $(srcdir)/dpp.c $(srcdir)/symbols_list.h
- if test -f ../CROSS-DPP; then touch dpp; else \
-- $(TRUE_CC) -I$(srcdir) -I@true_builddir@ -I./ $(srcdir)/dpp.c @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ -o $@ ; \
-+ $(TRUE_CC) -I$(srcdir) -I@true_builddir@ -I./ $(srcdir)/dpp.c @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ @LDFLAGS@ -o $@ ; \
- fi
-
- $(OBJS): $(DPP)
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://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>
- </use>
- <upstream>
- <remote-id type="sourceforge">ecls</remote-id>
- </upstream>
-</pkgmetadata>
+++ /dev/null
-DIST iterate-1.5.3.tar.gz 340167 BLAKE2B ea731fb496103db78adf5ab6f9e39d0430ca2f01b1a7a744d8e4110f12eae40f57746c867f63963a2b518a9706aad8bbfb2baa4b30459e45b52579f29ba55f23 SHA512 e7f27a74fe6c731885d7ca4f49c5ae57703481806e72e139c9206d824a5fe3da7c1f683cf88db5cecc9206a0a548dab04284df53c53f009f8512bffde02f4cc6
+++ /dev/null
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit common-lisp-3
-
-DESCRIPTION="Common lisp iteration library"
-HOMEPAGE="https://common-lisp.net/project/iterate/"
-SRC_URI="https://gitlab.common-lisp.net/iterate/iterate/-/archive/${PV}/${P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_prepare() {
- rm -rf "${S}/doc/examples"
- default
-}
-
-src_configure() {
- return
-}
+++ /dev/null
-DIST sbcl-2.2.11-source.tar.bz2 7290281 BLAKE2B 5242127e2e9ee384f96cb4a6a7c3db30a4ef20885f1d28edeb8a73ef46275f19a99a801bd3be9fb424fdfaa4c7c5915061f3d87e043388f0d5b73c53648f53d0 SHA512 5c13d9d1305903d0c99b27485224c97f6e8d118afd24711afc7f80f92884352fff8cb075c36c7b752c79a09136206b6a8bcd7fbf8cbe979bbce777b978a1a594
+++ /dev/null
-diff -U3 -r sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp
---- sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp 2020-05-31 20:16:48.000000000 +0700
-+++ sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp 2020-06-08 18:15:59.750860802 +0700
-@@ -18,16 +18,16 @@
- (equalp (make-inet-address "242.1.211.3") #(242 1 211 3))
- t)
-
--(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 unparse-inet6-address
-- (string= (sb-bsd-sockets::unparse-inet6-address
-- (make-inet6-address "fe80::abcd:1234"))
-- "fe80::abcd:1234")
-- t)
-+;(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 unparse-inet6-address
-+; (string= (sb-bsd-sockets::unparse-inet6-address
-+; (make-inet6-address "fe80::abcd:1234"))
-+; "fe80::abcd:1234")
-+; t)
-
- (deftest get-protocol-by-name/tcp
- (integerp (get-protocol-by-name "tcp"))
-@@ -40,15 +40,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)
-
- (eval-when (:compile-toplevel :execute)
- (when (handler-case (make-instance 'inet-socket
-@@ -108,19 +108,19 @@
- (:no-error nil))
- t)
-
--(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)
--
--(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 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)
-+
-+;(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)
-@@ -129,54 +129,54 @@
- (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)
--
--(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)
-+
-+;(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)
-@@ -244,37 +244,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
-
-@@ -390,59 +390,59 @@
- (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
-- (sem (sb-thread:make-semaphore)))
-- (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
-- (sb-thread:signal-semaphore sem)
-- (read-char stream))
-- (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)))
-- (socket-close s)
-- (sb-thread:wait-on-semaphore sem)
-- (sleep 0.1)
-- (sb-thread:interrupt-thread client
-- (lambda () (throw 'stop :ok)))
-- (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
-- (setf result :timeout))
-- (write-char #\x stream)
-- (close stream)
-- (socket-close r)
-- (sb-thread:join-thread client :timeout 5))))))
-- (server))
-- result)
-- :ok)
-+;#+(and ipv4-support sb-thread)
-+;(deftest interrupt-io
-+; (let (result
-+; (sem (sb-thread:make-semaphore)))
-+; (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
-+; (sb-thread:signal-semaphore sem)
-+; (read-char stream))
-+; (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)))
-+; (socket-close s)
-+; (sb-thread:wait-on-semaphore sem)
-+; (sleep 0.1)
-+; (sb-thread:interrupt-thread client
-+; (lambda () (throw 'stop :ok)))
-+; (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5)
-+; (setf result :timeout))
-+; (write-char #\x stream)
-+; (close stream)
-+; (socket-close r)
-+; (sb-thread:join-thread client :timeout 5))))))
-+; (server))
-+; result)
-+; :ok)
-
- (defmacro with-client-and-server (((socket-class &rest common-initargs)
- (listen-socket-var &rest listen-address)
-@@ -505,8 +505,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)
-+)
-
- (defun poor-persons-random-address ()
- (let ((base (expt 36 8)))
+++ /dev/null
-diff -r -U3 sbcl-2.0.1.orig/contrib/sb-concurrency/tests/test-frlock.lisp sbcl-2.0.1/contrib/sb-concurrency/tests/test-frlock.lisp
---- sbcl-2.0.1.orig/contrib/sb-concurrency/tests/test-frlock.lisp 2020-01-27 04:26:30.000000000 +0700
-+++ sbcl-2.0.1/contrib/sb-concurrency/tests/test-frlock.lisp 2020-01-30 21:53:57.750913923 +0700
-@@ -88,7 +88,7 @@
- #+sb-thread
- (deftest* (frlock.1)
- (handler-case
-- (sb-ext:with-timeout 40
-+ (sb-ext:with-timeout 240
- (test-frlocks #+win32 :outer-write-pause #+win32 t ))
- (sb-ext:timeout (c)
- (error "~A" c)))
+++ /dev/null
-diff -r -U2 sbcl-2.1.0.orig/src/runtime/GNUmakefile sbcl-2.1.0/src/runtime/GNUmakefile
---- sbcl-2.1.0.orig/src/runtime/GNUmakefile 2020-12-29 17:05:25.000000000 +0700
-+++ sbcl-2.1.0/src/runtime/GNUmakefile 2021-01-28 18:02:57.682523052 +0700
-@@ -12,5 +12,5 @@
- .PHONY: all clean TAGS tags targets
-
--all: targets tags
-+all: targets
- TARGET=sbcl
-
+++ /dev/null
-diff -r -U2 sbcl-2.2.9.orig/contrib/sb-posix/posix-tests.lisp sbcl-2.2.9/contrib/sb-posix/posix-tests.lisp
---- sbcl-2.2.9.orig/contrib/sb-posix/posix-tests.lisp 2022-09-29 14:43:33.000000000 +0700
-+++ sbcl-2.2.9/contrib/sb-posix/posix-tests.lisp 2022-10-01 16:32:39.919563905 +0700
-@@ -166,15 +166,15 @@
- #.sb-posix::einval)
-
--(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 freebsd) ,sb-posix:eisdir
-- #+win32 ,sb-posix::eacces #+win32 ,sb-posix::enotempty
-- #+sunos ,sb-posix::einval
-- #-(or darwin openbsd freebsd 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 freebsd) ,sb-posix:eisdir
-+; #+win32 ,sb-posix::eacces #+win32 ,sb-posix::enotempty
-+; #+sunos ,sb-posix::einval
-+; #-(or darwin openbsd freebsd win32 sunos) ,sb-posix::ebusy))))
-+; t)
-
- (deftest rmdir.error.4
+++ /dev/null
-diff -U3 -r sbcl-2.0.3.orig/make.sh sbcl-2.0.3/make.sh
---- sbcl-2.0.3.orig/make.sh 2020-03-29 03:58:29.000000000 +0700
-+++ sbcl-2.0.3/make.sh 2020-04-04 19:56:16.510279232 +0700
-@@ -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 "$@" --check-host-lisp || exit $?
-+sh -x make-config.sh "$@" --check-host-lisp || 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
-
- # contrib/Makefile shouldn't be counted in NCONTRIBS.
- # "find contrib/* -name Makefile" would still find contrib/./Makefile.
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://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>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="capstone">Enable disassembly support with <pkg>dev-libs/capstone</pkg></flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">sbcl</remote-id>
- </upstream>
-</pkgmetadata>
+++ /dev/null
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic pax-utils toolchain-funcs
-
-#same order as http://www.sbcl.org/platform-table.html
-BV_X86=1.4.3
-BV_AMD64=2.2.11
-BV_PPC=1.2.7
-BV_PPC64LE=1.5.8
-BV_SPARC=1.0.28
-BV_ALPHA=1.0.28
-BV_ARM=1.4.11
-BV_ARM64=1.4.2
-BV_X64_MACOS=1.2.11
-BV_PPC_MACOS=1.0.47
-BV_X86_SOLARIS=1.2.7
-BV_X64_SOLARIS=1.2.7
-BV_SPARC_SOLARIS=1.0.23
-
-DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
-HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="-* ~amd64"
-IUSE="debug doc source +threads +unicode +zstd"
-
-CDEPEND=">=dev-lisp/asdf-3.3:=
- prefix? ( dev-util/patchelf )"
-
-# bug #843851
-BDEPEND="${CDEPEND}
- doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
- amd64? ( || (
- >=dev-lisp/ecls-21.2.1_p20221211
- >=dev-lisp/sbcl-${BV_AMD64}
- ) )"
-
-RDEPEND="${CDEPEND}
- zstd? ( app-arch/zstd )
- !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 zstd)" ":sb-core-compression"
- sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
- sed 's/^X//' >> "${CONFIG}" <<-'EOF'
- X )
- X list)
- EOF
- cat "${CONFIG}"
-}
-
-with_clean_environment() {
- env --ignore-environment \
- HOME="${T}" \
- PATH="${PATH}" \
- CC="$(tc-getCC)" \
- AS="$(tc-getAS)" \
- LD="$(tc-getLD)" \
- CPPFLAGS="${CPPFLAGS}" \
- CFLAGS="${CFLAGS}" \
- ASFLAGS="${ASFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- GNUMAKE=make \
- TMPDIR="${T}" \
- "$@"
-}
-
-src_prepare() {
- # bug #468482
- eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
- # bugs #486552, #527666, #517004
- eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch
- # bugs #560276, #561018
- eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch
- # bug #767742
- eapply "${FILESDIR}"/etags-2.1.0.patch
-
- eapply "${FILESDIR}"/verbose-build-2.0.3.patch
-
- eapply_user
-
- # Make sure the *FLAGS variables are sane.
- # sbcl needs symbols in resulting binaries, so building with the -s linker flag will fail.
- strip-unsupported-flags
- filter-flags -fomit-frame-pointer -Wl,-s
- filter-ldflags -s
-
- # original bugs #526194, #620532
- # this broke no-pie default builds, c.f. bug #632670
- # Pass CFLAGS down by appending our value, to let users override
- # the default values.
- # Keep passing LDFLAGS down via the LINKFLAGS variable.
- sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \
- -e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \
- -i src/runtime/GNUmakefile || die
-
- sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
- -i make-config.sh || die
-
- # Use installed ASDF version
- cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
- # Avoid installation of ASDF info page. See bug #605752
- sed '/INFOFILES/s/asdf.info//' -i doc/manual/Makefile || die
-
- use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
-
- # Some shells(such as dash) don't have "time" as builtin
- # and we don't want to DEPEND on sys-process/time
- sed "s,^time ,," -i make.sh || die
- sed "s,/lib,/$(get_libdir),g" -i install.sh || die
- # #define SBCL_HOME ...
- sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
- # change location of /etc/sbclrc ...
- sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
-
- find . -type f -name .cvsignore -delete
-}
-
-src_configure() {
- # customizing SBCL version as per
- # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
- echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
- # applying customizations
- sbcl_apply_features
-}
-
-src_compile() {
- # Use the system SBCL if it's available, otherwise build with ECL
- if has_version dev-lisp/sbcl; then
- local lisp="sbcl --no-sysinit --no-userinit --disable-debugger"
- else
- local lisp="ecl --nodebug"
- fi
- # Bug #869434
- append-cppflags -D_GNU_SOURCE
-
- # clear the environment to get rid of non-ASCII strings, see bug #174702
- # set HOME for paludis
- with_clean_environment ./make.sh "${lisp}" || die "make failed"
-
- # need to set HOME because libpango(used by graphviz) complains about it
- if use doc; then
- with_clean_environment \
- 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"
- with_clean_environment \
- CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
- ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
- make -C doc/internals info html || die "Cannot build internal docs"
- fi
-}
-
-src_test() {
- ewarn "Unfortunately, it is known that some tests fail eg."
- ewarn "run-program.impure.lisp. This is an issue of the upstream's"
- ewarn "development and not of Gentoo's side. Please, before filing"
- ewarn "any bug(s) search for older submissions. Thank you."
- time ( cd tests && sh run-tests.sh )
-}
-
-src_install() {
- # install system-wide initfile
- dodir /etc/
- sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
- ;;; The following is required if you want source location functions to
- ;;; work in SLIME, for example.
- X
- (setf (logical-pathname-translations "SYS")
- X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
- X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
- X
- ;;; Setup ASDF2
- (load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
- EOF
-
- # Install documentation
- unset SBCL_HOME
- INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
- sh install.sh || die "install.sh failed"
-
- # bug #517008
- pax-mark -mr "${D}"/usr/bin/sbcl
-
- # rm empty directories lest paludis complain about this
- find "${ED}" -empty -type d -exec rmdir -v {} +
-
- if use doc; then
- dodoc -r doc/internals/sbcl-internals
-
- doinfo doc/manual/*.info*
- doinfo doc/internals/sbcl-internals.info
-
- docinto internals-notes
- dodoc doc/internals-notes/*
- else
- rm -Rv "${ED}/usr/share/doc/${PF}" || die
- fi
-
- # install the SBCL source
- if use source; then
- ./clean.sh
- cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
- for d in contrib/*/; do
- cp -av "$d" "${ED}/usr/$(get_libdir)/sbcl/" || die
- done
- fi
-
- # necessary for running newly-saved images
- echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
- echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
- doenvd "${ENVD}"
-}