dev-lisp/ecls: version bump to 16.0.0
authorAndrey Grozin <grozin@gentoo.org>
Sat, 29 Aug 2015 08:03:30 +0000 (14:03 +0600)
committerAndrey Grozin <grozin@gentoo.org>
Sat, 29 Aug 2015 08:03:30 +0000 (14:03 +0600)
Package-Manager: portage-2.2.20.1

dev-lisp/ecls/Manifest
dev-lisp/ecls/ecls-16.0.0.ebuild [new file with mode: 0644]
dev-lisp/ecls/files/16.0.0-headers-gentoo.patch [new file with mode: 0644]

index 8c08614ee62e8dcaa9a5a757dff74800b3a34b4b..5e7ce279bed9b8e94910e0e9b5b2ff669ea4aaaa 100644 (file)
@@ -1,3 +1,4 @@
 DIST ecl-12.12.1.tgz 9006697 SHA256 54e77ce8157752eab49f8640f7d0077522d493a4d4def463af26d292e46bc297 SHA512 9ac5d61e37cf18a56b2fb572b830955ededbe72d5d9a4e32ed631cd8cb5d27804ff5c0216a41f10ac988320b0584bcc4f9b4fb23732c541ee29f422c5726b23a WHIRLPOOL 8c2b1bd61caa27442bf337ab64788806e7e20150a902fe6c6d6cc593a3350d67252f8d450e6fd1ee99456a6238891c4b383044a6e79a77fad174d5db5a668aeb
 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
diff --git a/dev-lisp/ecls/ecls-16.0.0.ebuild b/dev-lisp/ecls/ecls-16.0.0.ebuild
new file mode 100644 (file)
index 0000000..a5989fe
--- /dev/null
@@ -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="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/files/16.0.0-headers-gentoo.patch b/dev-lisp/ecls/files/16.0.0-headers-gentoo.patch
new file mode 100644 (file)
index 0000000..1c08bc5
--- /dev/null
@@ -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