diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lisp/ecls | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lisp/ecls')
-rw-r--r-- | dev-lisp/ecls/Manifest | 6 | ||||
-rw-r--r-- | dev-lisp/ecls/ecls-16.1.3.ebuild | 96 | ||||
-rw-r--r-- | dev-lisp/ecls/files/README.Gentoo | 15 | ||||
-rw-r--r-- | dev-lisp/ecls/files/ecls-16.1.3-build.patch | 10 | ||||
-rw-r--r-- | dev-lisp/ecls/files/ecls-16.1.3-headers-gentoo.patch | 15 | ||||
-rw-r--r-- | dev-lisp/ecls/metadata.xml | 22 |
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> |