summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-lisp/ecls
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-lisp/ecls')
-rw-r--r--dev-lisp/ecls/Manifest8
-rw-r--r--dev-lisp/ecls/ecls-10.4.1.ebuild68
-rw-r--r--dev-lisp/ecls/ecls-11.1.1-r1.ebuild82
-rw-r--r--dev-lisp/ecls/ecls-12.12.1-r5.ebuild87
-rw-r--r--dev-lisp/ecls/ecls-12.12.1.ebuild79
-rw-r--r--dev-lisp/ecls/ecls-12.2.1.ebuild79
-rw-r--r--dev-lisp/ecls/ecls-12.7.1.ebuild79
-rw-r--r--dev-lisp/ecls/ecls-13.5.1-r1.ebuild90
-rw-r--r--dev-lisp/ecls/ecls-13.5.1.ebuild85
-rw-r--r--dev-lisp/ecls/ecls-15.3.7.ebuild91
-rw-r--r--dev-lisp/ecls/ecls-9.12.3.ebuild65
-rw-r--r--dev-lisp/ecls/files/10.4.1-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/11.1.1-cmploc.patch35
-rw-r--r--dev-lisp/ecls/files/11.1.1-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/12.12.1-asdf.patch12
-rw-r--r--dev-lisp/ecls/files/12.12.1-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/12.2.1-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/12.7.1-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/13.5.1-gc74.patch57
-rw-r--r--dev-lisp/ecls/files/13.5.1-headers-gentoo.patch13
-rw-r--r--dev-lisp/ecls/files/15.3.7-headers-gentoo.patch13
-rw-r--r--dev-lisp/ecls/files/9.12.3-headers-gentoo.patch17
-rw-r--r--dev-lisp/ecls/files/README.Gentoo15
-rw-r--r--dev-lisp/ecls/metadata.xml19
24 files changed, 1079 insertions, 0 deletions
diff --git a/dev-lisp/ecls/Manifest b/dev-lisp/ecls/Manifest
new file mode 100644
index 000000000000..4928afbf2724
--- /dev/null
+++ b/dev-lisp/ecls/Manifest
@@ -0,0 +1,8 @@
+DIST ecl-10.4.1.tar.gz 5835953 SHA256 505dcfe8f26aca352271225ad5a7f117b9bef0f6e7f7a7abaf7b7f11f7c63c6c SHA512 4e3d378d9e40c56f75e12923e223ee37ed8c12268926032665d11239a8373b58a806a765f60543305cfae09f42a2ce8726c944cdeaa1a9f170a80df488404244 WHIRLPOOL daa638689e308c335fa8fbf2c273f06a954b20c24e3e60ffa8e948e84956f69e4c5d59140ebcb98d92bd6a5cc6c381607be2259b96531d3bc33f1ca0bfa1caad
+DIST ecl-11.1.1.tar.gz 5898523 SHA256 28acce874e264a9e7182a2424bb7a1a3f7d834a8f2e1346ec0ef7156d4ed3b07 SHA512 a813d1514fcb0c1fba2090dc5232ab1261f293db050f54909dd74084cd757144d5e3a24677bbbcfcc74457247a1797059dc09ead8a14b8c23395c03c93e9d0dc WHIRLPOOL 42df041d01a1aeaddb235604e962b5aa55752ed60998bf9a40a4c001bf3281384e787c5a6cd513af3ca863f5b29885b1441640d0b17da5465142a4fda45fa2c3
+DIST ecl-12.12.1.tgz 9006697 SHA256 54e77ce8157752eab49f8640f7d0077522d493a4d4def463af26d292e46bc297 SHA512 9ac5d61e37cf18a56b2fb572b830955ededbe72d5d9a4e32ed631cd8cb5d27804ff5c0216a41f10ac988320b0584bcc4f9b4fb23732c541ee29f422c5726b23a WHIRLPOOL 8c2b1bd61caa27442bf337ab64788806e7e20150a902fe6c6d6cc593a3350d67252f8d450e6fd1ee99456a6238891c4b383044a6e79a77fad174d5db5a668aeb
+DIST ecl-12.2.1.tgz 8974948 SHA256 dbb3f83c27f3d2565ca22c1c6b4ab497bbfdd0d0a7b09dee76338f378621f091 SHA512 bf9bff5bfa02c638549ab7dab28d6778c6f676c0ea3ea8b8c11f85a4e9f3cf9fae23c7ec505024b3925ae0c905fccc132729964992c6d9b1524d9dd3b92bdf1f WHIRLPOOL cc8af8a2f92b66acb8578e76b7c982a57567591967c2e2fafbe681fdb8e78725072ec83d240addc255ff29979e6a6d23d077095f094288316f5dd16325d8ffbe
+DIST ecl-12.7.1.tar.gz 9009087 SHA256 5709bfb92eff00ddc4bcd59375835e9421dae2d258466af75e7e8d2748e01c4d SHA512 1f4312a9b64e55b01df62b492c1d23bdb231abd28c357d18bd813481e0943a852fdaa79bc89c45d1d1da9c0e8a4e5b43c5525488280156d76cc42e0fe9e0c5fe WHIRLPOOL eb915ce3f014ac7583b4c678f9009acfab73a7ad15abe49542fe49718049804e3bc7270e3b8e8e45687738ebc1119d1a224c1b454e8feac1fc1687b2a2bf4320
+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-9.12.3.tgz 5758828 SHA256 f4f2e9d584130db9bb61bd09a676ad67c5d0f1ca8096ed781b50a2ae99c5e682 SHA512 8171d28945e5c06f55f6bc5bcf41b5370ee4d5723b3957d2c841aee1e100f3c2ca497f0651f777acd39ceaefeec2737ec254165280446fe51a4ef5cf81ef64b0 WHIRLPOOL 6ff09c048eb639b424a6b32cac88877d11d150f06a1bb482061dc8561c304afc3dbede3610a523a450a1792fd768e713c36dba04ca16501f090a803d7326dd87
diff --git a/dev-lisp/ecls/ecls-10.4.1.ebuild b/dev-lisp/ecls/ecls-10.4.1.ebuild
new file mode 100644
index 000000000000..3fbef05e4108
--- /dev/null
+++ b/dev-lisp/ecls/ecls-10.4.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils multilib
+
+MY_P=ecl-${PV}
+
+DESCRIPTION="ECL is an embeddable Common Lisp implementation"
+HOMEPAGE="http://common-lisp.net/project/ecl/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="debug gengc precisegc threads +unicode X"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}
+ app-text/texi2html"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ if use gengc || use precisegc; then
+ ewarn "USE flags gengc and precisegc are experimental"
+ ewarn "Don't use them if you want a stable ecl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-longdouble \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(use_enable threads) \
+ $(use_with threads __thread) \
+ $(use_enable unicode) \
+ $(use_with X x) \
+ $(use_with X clx)
+}
+
+src_compile() {
+ #parallel 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-11.1.1-r1.ebuild b/dev-lisp/ecls/ecls-11.1.1-r1.ebuild
new file mode 100644
index 000000000000..2b194af7ec15
--- /dev/null
+++ b/dev-lisp/ecls/ecls-11.1.1-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils multilib
+
+MY_P=ecl-${PV}
+
+DESCRIPTION="ECL is an embeddable Common Lisp implementation"
+HOMEPAGE="http://common-lisp.net/project/ecl/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="debug emacs gengc precisegc threads +unicode X"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ if use gengc || use precisegc; then
+ ewarn "USE flags gengc and precisegc are experimental"
+ ewarn "Don't use them if you want a stable ecl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+
+ # bug #357315
+ epatch "${FILESDIR}"/${PV}-cmploc.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-longdouble \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(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 || die
+ emake ETAGS=${ETAGS} TAGS || die
+ popd
+ else
+ touch build/TAGS
+ fi
+
+ #parallel 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-12.12.1-r5.ebuild b/dev-lisp/ecls/ecls-12.12.1-r5.ebuild
new file mode 100644
index 000000000000..b40cc6aaa52e
--- /dev/null
+++ b/dev-lisp/ecls/ecls-12.12.1-r5.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib
+
+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"
+RESTRICT="mirror"
+
+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
+ epatch "${FILESDIR}"/${PV}-asdf.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-12.12.1.ebuild b/dev-lisp/ecls/ecls-12.12.1.ebuild
new file mode 100644
index 000000000000..ddf9460cd8f4
--- /dev/null
+++ b/dev-lisp/ecls/ecls-12.12.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib
+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"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug emacs gengc precisegc threads +unicode X"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ if use gengc || use precisegc; then
+ ewarn "USE flags gengc and precisegc are experimental"
+ ewarn "Don't use them if you want a stable ecl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-longdouble \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(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 fails
+ emake -j1
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ dodoc ANNOUNCEMENT Copyright
+ dodoc "${FILESDIR}"/README.Gentoo
+ pushd build/doc > /dev/null
+ newman ecl.man ecl.1
+ newman ecl-config.man ecl-config.1
+ popd > /dev/null
+}
diff --git a/dev-lisp/ecls/ecls-12.2.1.ebuild b/dev-lisp/ecls/ecls-12.2.1.ebuild
new file mode 100644
index 000000000000..8714deebf27a
--- /dev/null
+++ b/dev-lisp/ecls/ecls-12.2.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils multilib
+MY_P=ecl-${PV}
+
+DESCRIPTION="ECL is an embeddable Common Lisp implementation"
+HOMEPAGE="http://common-lisp.net/project/ecl/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="debug emacs gengc precisegc threads +unicode X"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ if use gengc || use precisegc; then
+ ewarn "USE flags gengc and precisegc are experimental"
+ ewarn "Don't use them if you want a stable ecl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-longdouble \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(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 || die
+ emake ETAGS=${ETAGS} TAGS || die
+ popd
+ else
+ touch build/TAGS
+ fi
+
+ #parallel 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-12.7.1.ebuild b/dev-lisp/ecls/ecls-12.7.1.ebuild
new file mode 100644
index 000000000000..488ea43c023a
--- /dev/null
+++ b/dev-lisp/ecls/ecls-12.7.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib
+MY_P=ecl-${PV}
+
+DESCRIPTION="ECL is an embeddable Common Lisp implementation"
+HOMEPAGE="http://ecls.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug emacs gengc precisegc threads +unicode X"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ if use gengc || use precisegc; then
+ ewarn "USE flags gengc and precisegc are experimental"
+ ewarn "Don't use them if you want a stable ecl"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-longdouble \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(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 fails
+ emake -j1
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ dodoc ANNOUNCEMENT Copyright
+ dodoc "${FILESDIR}"/README.Gentoo
+ pushd build/doc > /dev/null
+ newman ecl.man ecl.1
+ newman ecl-config.man ecl-config.1
+ popd > /dev/null
+}
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..a4bf82553220
--- /dev/null
+++ b/dev-lisp/ecls/ecls-13.5.1-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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-13.5.1.ebuild b/dev-lisp/ecls/ecls-13.5.1.ebuild
new file mode 100644
index 000000000000..dc9f9d99e980
--- /dev/null
+++ b/dev-lisp/ecls/ecls-13.5.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib
+
+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
+ 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..785e8438321d
--- /dev/null
+++ b/dev-lisp/ecls/ecls-15.3.7.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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-9.12.3.ebuild b/dev-lisp/ecls/ecls-9.12.3.ebuild
new file mode 100644
index 000000000000..68acd4848303
--- /dev/null
+++ b/dev-lisp/ecls/ecls-9.12.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils multilib
+
+MY_P=ecl-${PV}
+
+DESCRIPTION="ECL is an embeddable Common Lisp implementation"
+HOMEPAGE="http://common-lisp.net/project/ecl/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="X doc +threads +unicode"
+
+RDEPEND="dev-libs/gmp
+ virtual/libffi
+ >=dev-libs/boehm-gc-7.1[threads?]"
+DEPEND="${RDEPEND}"
+PDEPEND="dev-lisp/gentoo-init"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
+}
+
+src_configure() {
+ econf \
+ --with-system-gmp \
+ --enable-boehm=system \
+ --enable-gengc \
+ --enable-longdouble \
+ $(use_enable threads) \
+ $(use_with threads __thread) \
+ $(use_enable unicode) \
+ $(use_with X x) \
+ $(use_with X clx)
+}
+
+src_compile() {
+ #parallel fails
+ emake -j1 || die "emake failed"
+ if use doc; then
+ pushd build/doc
+ emake || die "emake doc failed"
+ popd
+ fi
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ANNOUNCEMENT Copyright
+ dodoc "${FILESDIR}"/README.Gentoo
+ pushd build/doc
+ newman ecl.man ecl.1
+ newman ecl-config.man ecl-config.1
+ if use doc; then
+ doinfo *.info || die "doinfo failed"
+ fi
+ popd
+}
diff --git a/dev-lisp/ecls/files/10.4.1-headers-gentoo.patch b/dev-lisp/ecls/files/10.4.1-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/10.4.1-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
diff --git a/dev-lisp/ecls/files/11.1.1-cmploc.patch b/dev-lisp/ecls/files/11.1.1-cmploc.patch
new file mode 100644
index 000000000000..0f15bc6e14e2
--- /dev/null
+++ b/dev-lisp/ecls/files/11.1.1-cmploc.patch
@@ -0,0 +1,35 @@
+diff --git a/src/cmp/cmploc.lsp b/src/cmp/cmploc.lsp
+index ca6a93d..87e6232 100644
+--- src/cmp/cmploc.lsp
++++ src/cmp/cmploc.lsp
+@@ -98,7 +98,7 @@
+ (and (eq (car loc) 'C-INLINE)
+ (eq (sixth loc) 'VALUES)))))
+
+-(defun loc-immediate-value-p (loc &aux head)
++(defun loc-immediate-value-p (loc)
+ (cond ((eq loc t)
+ (values t t))
+ ((eq loc nil)
+@@ -112,9 +112,9 @@
+ (values t value))))
+ ((atom loc)
+ (values nil nil))
+-
+- ((member head '(fixnum-value character-value long-float-value
+- double-float-value single-float-value))
++ ((member (first loc)
++ '(fixnum-value character-value long-float-value
++ double-float-value single-float-value))
+ (values t (second loc)))
+ (t
+ (values nil nil))))
+@@ -123,7 +123,7 @@
+ (baboon :format-control "Unknown location found in ~A~%~S"
+ :format-arguments (list where loc)))
+
+-(defun wt-loc (loc &aux fd)
++(defun wt-loc (loc)
+ (cond ((consp loc)
+ (let ((fd (gethash (car loc) *wt-loc-dispatch-table*)))
+ (if fd
diff --git a/dev-lisp/ecls/files/11.1.1-headers-gentoo.patch b/dev-lisp/ecls/files/11.1.1-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/11.1.1-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
diff --git a/dev-lisp/ecls/files/12.12.1-asdf.patch b/dev-lisp/ecls/files/12.12.1-asdf.patch
new file mode 100644
index 000000000000..344555ccfb44
--- /dev/null
+++ b/dev-lisp/ecls/files/12.12.1-asdf.patch
@@ -0,0 +1,12 @@
+--- src/compile.lsp.in.orig 2013-05-23 22:24:01.858778565 +1200
++++ src/compile.lsp.in 2013-05-23 22:24:20.478785499 +1200
+@@ -205,8 +205,7 @@
+ ;;;
+ #+WANTS-ASDF
+ (build-module "asdf"
+- '("ext:asdf;asdf.lisp"
+- "ext:asdf;asdf-bundle.lisp")
++ '("ext:asdf;asdf.lisp")
+ :dir "build:ext;"
+ :prefix "EXT"
+ :builtin #+:BUILTIN-ASDF t #-:BUILTIN-ASDF nil)
diff --git a/dev-lisp/ecls/files/12.12.1-headers-gentoo.patch b/dev-lisp/ecls/files/12.12.1-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/12.12.1-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
diff --git a/dev-lisp/ecls/files/12.2.1-headers-gentoo.patch b/dev-lisp/ecls/files/12.2.1-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/12.2.1-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
diff --git a/dev-lisp/ecls/files/12.7.1-headers-gentoo.patch b/dev-lisp/ecls/files/12.7.1-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/12.7.1-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
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/9.12.3-headers-gentoo.patch b/dev-lisp/ecls/files/9.12.3-headers-gentoo.patch
new file mode 100644
index 000000000000..635fc5d4afde
--- /dev/null
+++ b/dev-lisp/ecls/files/9.12.3-headers-gentoo.patch
@@ -0,0 +1,17 @@
+diff -Naur ecl-8.12.0.orig/src/h/object.h ecl-8.12.0/src/h/object.h
+--- ecl.orig/src/h/object.h 2008-12-17 16:41:53.000000000 +0100
++++ ecl/src/h/object.h 2008-12-17 19:35:05.000000000 +0100
+@@ -23,8 +23,13 @@
+ Integer and boolean types (see config.h)
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
+ typedef int bool;
diff --git a/dev-lisp/ecls/files/README.Gentoo b/dev-lisp/ecls/files/README.Gentoo
new file mode 100644
index 000000000000..65031ab4021a
--- /dev/null
+++ b/dev-lisp/ecls/files/README.Gentoo
@@ -0,0 +1,15 @@
+-*- outline -*- $Id$
+
+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..8fafd6521aef
--- /dev/null
+++ b/dev-lisp/ecls/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>common-lisp</herd>
+ <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>