summaryrefslogtreecommitdiff
path: root/dev-lisp/ecls
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lisp/ecls
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lisp/ecls')
-rw-r--r--dev-lisp/ecls/Manifest6
-rw-r--r--dev-lisp/ecls/ecls-16.1.3.ebuild96
-rw-r--r--dev-lisp/ecls/files/README.Gentoo15
-rw-r--r--dev-lisp/ecls/files/ecls-16.1.3-build.patch10
-rw-r--r--dev-lisp/ecls/files/ecls-16.1.3-headers-gentoo.patch15
-rw-r--r--dev-lisp/ecls/metadata.xml22
6 files changed, 164 insertions, 0 deletions
diff --git a/dev-lisp/ecls/Manifest b/dev-lisp/ecls/Manifest
new file mode 100644
index 000000000000..25c581b0617f
--- /dev/null
+++ b/dev-lisp/ecls/Manifest
@@ -0,0 +1,6 @@
+AUX README.Gentoo 632 BLAKE2B 3067b3165fb18fb2ef83a70513e73df3a10b94d97920931a15764e1f01d62db5c908fffd9bde06d1cee7b507884470025189aa3e4ab3c2273246071922d95744 SHA512 df0640792271d01f84437645fe8854740b17dd349e36b76711c55f6f4fefa7d2fd810176ece2a25d8cab88192f31a6df38e67dfcb7992857e5d038ad74b11c8a
+AUX ecls-16.1.3-build.patch 341 BLAKE2B 6a3b588010b66b6e060dfa29642bacea08e77e64cb9674c5677da69c3f3d7668e7893a16c67980b6ea87642c9961b475a29aafdf786afb3903ac4a6552164f30 SHA512 0af8f0704e79197a4d7857ae11f20f0086f2e1c3d2578ec613c6ce5df742e35b9676399d8f724528781a530426425a977646ec75b317f01609d17d3a98b04ef4
+AUX ecls-16.1.3-headers-gentoo.patch 446 BLAKE2B db2adc332867435e799e2779fbad5ebb175b247db5de7ab436da6631d31dc8d6059736dbb41be6fd91b0fd8116ee84e361772ae5da29c1448627bbeb07212646 SHA512 a58b39deb9f8577da66216fd6902803019751171e4415149a89bdb72f13a006e5f6d9bede2312521162a0895340c1a1ce756b09bc0a18dccceca3e4c0950a7cb
+DIST ecl-16.1.3.tgz 7459212 BLAKE2B 4f9d6ad2bd92ede4b5b20857b95a48bad5002049e83611865d9cf13e7131adfaad147a31f22f9a3f6a2c06e46db1996aa98135c28b97bf5ef16e17b5eba0dc4b SHA512 5d743f422f6bc24671abf4c739cde8273d08f056906a1ef8aed5145c703b6d52c7fa4b5e0be8c125f32240c20ce053007786bb3ae81cc34d47791f6fae0819c1
+EBUILD ecls-16.1.3.ebuild 2406 BLAKE2B 95287ef8109fd47d030d46fed47bf0205ea4344cca2edeb177220ad751bbbf6be3240089ef49e2f2a5f6e75aea7cfef7a0b96873bf93e1dda17f104032b577d5 SHA512 fd4bfaeed4bb257724e33d105d499fc19f8d760a98ff8989eb08c540553c929ddb7478e644255bb1f1c5f239057d2666f1f6904d470b283d9c0234bf6767b9ed
+MISC metadata.xml 901 BLAKE2B 96892af45b0d5c6b7c0e0ee20010ce7ac068a25d024d31f2dae1acd730aaa62f7589f322d7ad0ade27a03cdae7eeef5297adcd9fb821ca67d4e1ba88de1c2a17 SHA512 15403f25533646601eb454946599d1d97353038286df0d075f923b598fe44047e525745a33f7e3dbc15fee717d6311abbe546371ecbc4c9df347771dd5c007e9
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..d0b75dd9dd39
--- /dev/null
+++ b/dev-lisp/ecls/ecls-16.1.3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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-2 LGPL-2.1+"
+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}
+
+PATCHES=(
+ "${FILESDIR}/${P}-headers-gentoo.patch"
+ "${FILESDIR}/${P}-build.patch"
+)
+
+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() {
+ default
+ 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)
+}
+
+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/README.Gentoo b/dev-lisp/ecls/files/README.Gentoo
new file mode 100644
index 000000000000..9bb82f220097
--- /dev/null
+++ b/dev-lisp/ecls/files/README.Gentoo
@@ -0,0 +1,15 @@
+-*- outline -*-
+
+Gentoo GNU/Linux specific notes for ECL
+---------------------------------------
+
+This is the README.Gentoo file from /usr/share/doc/@PF@/ directory.
+
+ * The Gentoo port includes a patch to ECL's installed header file (ech.h) so
+ that TRUE and FALSE are not redefined if they're already included from
+ elsewhere. This makes it easier to use ECL with other software which defines
+ those C preprocesser symbols (eg. glib-2.0).
+
+If you encounter any problems or have suggestions, use http://bugs.gentoo.org.
+Please don't bother the upstream authors unless you are absolutely certain it is
+not Gentoo-related.
diff --git a/dev-lisp/ecls/files/ecls-16.1.3-build.patch b/dev-lisp/ecls/files/ecls-16.1.3-build.patch
new file mode 100644
index 000000000000..ff7d6cd74d8b
--- /dev/null
+++ b/dev-lisp/ecls/files/ecls-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/ecls-16.1.3-headers-gentoo.patch b/dev-lisp/ecls/files/ecls-16.1.3-headers-gentoo.patch
new file mode 100644
index 000000000000..10802aa48803
--- /dev/null
+++ b/dev-lisp/ecls/files/ecls-16.1.3-headers-gentoo.patch
@@ -0,0 +1,15 @@
+diff -r -U2 ecl-16.1.3.orig/src/h/object.h ecl-16.1.3/src/h/object.h
+--- ecl-16.1.3.orig/src/h/object.h 2016-12-19 17:25:00.000000000 +0700
++++ ecl-16.1.3/src/h/object.h 2016-12-19 19:22:21.147557750 +0700
+@@ -26,6 +26,11 @@
+ */
+
++#ifndef TRUE
+ #define TRUE 1 /* boolean true value */
++#endif
++
++#ifndef FALSE
+ #define FALSE 0 /* boolean false value */
++#endif
+
+ #if !defined(__cplusplus) && !defined(bool)
diff --git a/dev-lisp/ecls/metadata.xml b/dev-lisp/ecls/metadata.xml
new file mode 100644
index 000000000000..8b14211eb876
--- /dev/null
+++ b/dev-lisp/ecls/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>common-lisp@gentoo.org</email>
+ <name>Gentoo Common Lisp Project</name>
+ </maintainer>
+ <longdescription>
+ECL (Embeddable Common Lisp) is an implementation of the Common Lisp language as
+described in the X3J13 Ansi specification, featuring CLOS (Common Lisp Object
+System), conditions, loops, etc, plus a translator to C, which can produce
+standalone executables.
+</longdescription>
+ <use>
+ <flag name="gengc">Use generational garbage collection (experimental)</flag>
+ <flag name="precisegc">Use type information during garbage collection (experimental)</flag>
+ <flag name="libatomic">Use <pkg>dev-libs/libatomic_ops</pkg> library</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">ecls</remote-id>
+ </upstream>
+</pkgmetadata>