diff options
-rw-r--r-- | dev-lisp/ecls/Manifest | 1 | ||||
-rw-r--r-- | dev-lisp/ecls/ecls-16.1.3.ebuild | 93 | ||||
-rw-r--r-- | dev-lisp/ecls/files/16.1.3-build.patch | 10 | ||||
-rw-r--r-- | dev-lisp/ecls/files/16.1.3-headers-gentoo.patch | 15 |
4 files changed, 119 insertions, 0 deletions
diff --git a/dev-lisp/ecls/Manifest b/dev-lisp/ecls/Manifest index 4231f5ba5eb7..cd1a8c906df2 100644 --- a/dev-lisp/ecls/Manifest +++ b/dev-lisp/ecls/Manifest @@ -3,3 +3,4 @@ DIST ecl-13.5.1.tgz 9401163 SHA256 f91c57ce065fe9748bc8104e191e4b2dcfe854d634315 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 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..085a22d64751 --- /dev/null +++ b/dev-lisp/ecls/ecls-16.1.3.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2016 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/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/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) |