summaryrefslogtreecommitdiff
path: root/dev-lisp/ecl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-14 22:48:30 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-14 22:48:30 +0100
commitea7f3f690b55cdfa8b2d350b03c1dfc0c8357a51 (patch)
tree4b5a746c80bd7aacbe83448c66643e9dc4dcc105 /dev-lisp/ecl
parentcdb999af22d9aa464bfd480fc9f5ebda71fc89e2 (diff)
gentoo auto-resync : 14:09:2023 - 22:48:30
Diffstat (limited to 'dev-lisp/ecl')
-rw-r--r--dev-lisp/ecl/Manifest10
-rw-r--r--dev-lisp/ecl/ecl-21.2.1-r5.ebuild88
-rw-r--r--dev-lisp/ecl/ecl-23.9.9-r1.ebuild87
-rw-r--r--dev-lisp/ecl/files/README.gentoo13
-rw-r--r--dev-lisp/ecl/files/ecl-16.1.3-build.patch10
-rw-r--r--dev-lisp/ecl/files/ecl-16.1.3-headers-gentoo.patch15
-rw-r--r--dev-lisp/ecl/files/ecl-21.2.1-donotcompressinfo.patch35
-rw-r--r--dev-lisp/ecl/files/ecl-21.2.1-ldflags.patch13
-rw-r--r--dev-lisp/ecl/metadata.xml21
9 files changed, 292 insertions, 0 deletions
diff --git a/dev-lisp/ecl/Manifest b/dev-lisp/ecl/Manifest
new file mode 100644
index 000000000000..19d6743e2bca
--- /dev/null
+++ b/dev-lisp/ecl/Manifest
@@ -0,0 +1,10 @@
+AUX README.gentoo 565 BLAKE2B 8e260676fa3c8fab086035116ae6c81cbea821a82a7de7fbc80fac28664deb26c154eb23fe92f704ebe13f0e61a095f063cfefd0100a48f97e40030fa743465e SHA512 57598ef3411fefd766393640e550b704a0e5dca9f808007d34799273fa34858c3e9eb74fcd805611c5aa9914326faaaa78be5fa65bca63a8f7acd717bcf389b2
+AUX ecl-16.1.3-build.patch 341 BLAKE2B 6a3b588010b66b6e060dfa29642bacea08e77e64cb9674c5677da69c3f3d7668e7893a16c67980b6ea87642c9961b475a29aafdf786afb3903ac4a6552164f30 SHA512 0af8f0704e79197a4d7857ae11f20f0086f2e1c3d2578ec613c6ce5df742e35b9676399d8f724528781a530426425a977646ec75b317f01609d17d3a98b04ef4
+AUX ecl-16.1.3-headers-gentoo.patch 446 BLAKE2B db2adc332867435e799e2779fbad5ebb175b247db5de7ab436da6631d31dc8d6059736dbb41be6fd91b0fd8116ee84e361772ae5da29c1448627bbeb07212646 SHA512 a58b39deb9f8577da66216fd6902803019751171e4415149a89bdb72f13a006e5f6d9bede2312521162a0895340c1a1ce756b09bc0a18dccceca3e4c0950a7cb
+AUX ecl-21.2.1-donotcompressinfo.patch 1023 BLAKE2B 6a1794bbba48c35ab21976bdfabadfd6baa20adb1e429bd50257add3058af2e0d93ade4307acd29e5a4335a96a728a24ce4ea59cddd3db50af4c963acd04e3a7 SHA512 dae180e0d41bc1e99cd11347625a48e3f55d7565cb269cacaf99b30e3c1bc9d8622dc9f738c900fd217cd5086d7a0f29f0ff05f2ab579af60835a31f5b68dfdd
+AUX ecl-21.2.1-ldflags.patch 468 BLAKE2B 78b515f6ca6be7283bc1323d361a49a3712efe1d3de910b99c4c4156117696f19a3e2ca1d90b7613b22b4c67e23391e416b52f0deff7fe4c1bf70fe0c1b74452 SHA512 083da13a5ee67b8951b075f0bde7d90211c81b38bc8cffee3c96b8c3023c4ece157b8f00bcbd0e1be4dcc7075030d98b0d78f22c42412ef2d7b50153bf8cac33
+DIST ecl-21.2.1.tgz 7875088 BLAKE2B b8c05fab8ce5892ad9df830e3ad230e1c646bd30bc35243703ace18f1bf963057b132d980c74b364ff30a5b776a8f161e71bfd69d7908970811ab3dddbab1aac SHA512 0849bebe1a8073ea8027cfb172c1d7781d43adb6a8b80585bd08d5674b80422d1648b6fbf718cc17a51c5de6c696514523b4d13a82e8113bf9365c95d3c28648
+DIST ecl-23.9.9.tgz 8129105 BLAKE2B 883454e1b5459b348a2184727dc9d512988f3b8218370cbe01045e5bc401a6785cb736a16592d20ad9fe19e6518056ece5b809323fa7697304f39d31d60021fc SHA512 c8f1dcf2bffad7358c3d4e5bb0924cbb69afaf79871e6444bd780a594e1e96e6c547346b7c9c5184a6b12ce920a6a959334cf2a85c3f3ea0e0c8f22f72fb84df
+EBUILD ecl-21.2.1-r5.ebuild 2097 BLAKE2B 47d9a8a8156e860f0ecb5a933e7aae919c885f9b16537bcf701c872a2d4a4b0e1434a684949dd780ab4c2ba9059368a8c9c82b69728321eb8cfdbcc79ec03f27 SHA512 30c973c0f496ce780c1b16fb4535a857a586d36c8a4974b21e8b5ca798ae4c508c9dca24907cc17d94426bb3536da7125d433a98d93fe66b2d57232dfcf3cdd6
+EBUILD ecl-23.9.9-r1.ebuild 2058 BLAKE2B 33a21d932e06337be11b9259c86839db6b53b38687ba417bbe56c9aa7c3ec16c1978b63c5ab4f2f3f895b49e37e2c349f10188ba71ebb18f09bcac9018af405f SHA512 d45cd605763f984b0c75cf39d1f72e51b67b9b7e5ca68d0c65052f4ddce680d69166649e926e9315bee7d8940435aeaa75458007b4593cbeb2bce18d2a2c7216
+MISC metadata.xml 846 BLAKE2B cfd3506d2ef216bd7b6db00f81ce82b51a3e765a5b74472b1e0c3c67319e399b6de622d1b7421b3cdc2f2d26bc085c8b9ddd23a67c9e8a050302ae8ac4b31fc6 SHA512 b94a6287432df3a728e2e103444c881a453ad231a87bb9ce07612139a471481f51894aa73f20e448c61e9bf205404b80b82771819d84d94a6ed5fbab7c269f0a
diff --git a/dev-lisp/ecl/ecl-21.2.1-r5.ebuild b/dev-lisp/ecl/ecl-21.2.1-r5.ebuild
new file mode 100644
index 000000000000..a12f59e6b270
--- /dev/null
+++ b/dev-lisp/ecl/ecl-21.2.1-r5.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit readme.gentoo-r1
+
+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/${P}.tgz"
+
+LICENSE="BSD-2 LGPL-2.1+"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~ppc ppc64 ~sparc x86 ~amd64-linux"
+IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X"
+# test phase only works if ecl already installed #516876
+RESTRICT="test"
+
+RDEPEND="dev-libs/gmp:0=
+ dev-libs/libffi:=
+ dev-libs/libatomic_ops
+ >=dev-libs/boehm-gc-7.1[threads?]
+ >=dev-lisp/asdf-2.33-r3:="
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( >=app-editors/emacs-23.1:* >=app-eselect/eselect-emacs-1.12 )"
+
+DOCS=( README.md CHANGELOG )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-16.1.3-headers-gentoo.patch"
+ "${FILESDIR}/${PN}-16.1.3-build.patch"
+ "${FILESDIR}/${PN}-21.2.1-donotcompressinfo.patch"
+ "${FILESDIR}/${PN}-21.2.1-ldflags.patch"
+)
+
+src_prepare() {
+ default
+ cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
+}
+
+src_configure() {
+ econf \
+ --enable-gmp=system \
+ --enable-boehm=system \
+ --with-dffi \
+ --enable-libatomic=system \
+ --with-defsystem \
+ $(use_with cxx) \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(use_with cpu_flags_x86_sse sse) \
+ $(use_enable threads) \
+ $(use_enable unicode) \
+ $(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 || die
+ else
+ touch build/TAGS
+ fi
+
+ ## for /proc/self/clear_refs (see #867052)
+ addpredict /proc
+
+ emake
+}
+
+src_install() {
+ default
+
+ readme.gentoo_create_doc
+ pushd build/doc > /dev/null || die
+ newman ecl.man ecl.1
+ newman ecl-config.man ecl-config.1
+ popd > /dev/null || die
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-lisp/ecl/ecl-23.9.9-r1.ebuild b/dev-lisp/ecl/ecl-23.9.9-r1.ebuild
new file mode 100644
index 000000000000..37c1e50a8e0d
--- /dev/null
+++ b/dev-lisp/ecl/ecl-23.9.9-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit readme.gentoo-r1
+
+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/${P}.tgz"
+
+LICENSE="BSD-2 LGPL-2.1+"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X"
+# test phase only works if ecl already installed #516876
+RESTRICT="test"
+
+RDEPEND="dev-libs/gmp:0=
+ dev-libs/libffi:=
+ dev-libs/libatomic_ops
+ >=dev-libs/boehm-gc-7.1[threads?]
+ >=dev-lisp/asdf-2.33-r3:="
+DEPEND="${RDEPEND}
+ app-text/texi2html
+ emacs? ( >=app-editors/emacs-23.1:* >=app-eselect/eselect-emacs-1.12 )"
+
+DOCS=( README.md CHANGELOG )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-16.1.3-headers-gentoo.patch"
+ "${FILESDIR}/${PN}-16.1.3-build.patch"
+ "${FILESDIR}/${PN}-21.2.1-donotcompressinfo.patch"
+)
+
+src_prepare() {
+ default
+ cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
+}
+
+src_configure() {
+ econf \
+ --enable-gmp=system \
+ --enable-boehm=system \
+ --with-dffi \
+ --enable-libatomic=system \
+ --with-defsystem \
+ $(use_with cxx) \
+ $(use_enable gengc) \
+ $(use_enable precisegc) \
+ $(use_with debug debug-cflags) \
+ $(use_with cpu_flags_x86_sse sse) \
+ $(use_enable threads) \
+ $(use_enable unicode) \
+ $(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 || die
+ else
+ touch build/TAGS
+ fi
+
+ ## for /proc/self/clear_refs (see #867052)
+ addpredict /proc
+
+ emake
+}
+
+src_install() {
+ default
+
+ readme.gentoo_create_doc
+ pushd build/doc > /dev/null || die
+ newman ecl.man ecl.1
+ newman ecl-config.man ecl-config.1
+ popd > /dev/null || die
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-lisp/ecl/files/README.gentoo b/dev-lisp/ecl/files/README.gentoo
new file mode 100644
index 000000000000..c95b6cb75167
--- /dev/null
+++ b/dev-lisp/ecl/files/README.gentoo
@@ -0,0 +1,13 @@
+-*- outline -*-
+
+Gentoo GNU/Linux specific notes for ECL
+---------------------------------------
+
+ * 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 https://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/ecl/files/ecl-16.1.3-build.patch b/dev-lisp/ecl/files/ecl-16.1.3-build.patch
new file mode 100644
index 000000000000..ff7d6cd74d8b
--- /dev/null
+++ b/dev-lisp/ecl/files/ecl-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/ecl/files/ecl-16.1.3-headers-gentoo.patch b/dev-lisp/ecl/files/ecl-16.1.3-headers-gentoo.patch
new file mode 100644
index 000000000000..10802aa48803
--- /dev/null
+++ b/dev-lisp/ecl/files/ecl-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/ecl/files/ecl-21.2.1-donotcompressinfo.patch b/dev-lisp/ecl/files/ecl-21.2.1-donotcompressinfo.patch
new file mode 100644
index 000000000000..722e5dc7483f
--- /dev/null
+++ b/dev-lisp/ecl/files/ecl-21.2.1-donotcompressinfo.patch
@@ -0,0 +1,35 @@
+diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in
+index 5660f41..c2aadbe 100644
+--- a/src/doc/Makefile.in
++++ b/src/doc/Makefile.in
+@@ -15,7 +15,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_INFO = @INSTALL_INFO@
+ mkinstalldirs = $(top_srcdir)/bdwgc/install-sh -d
+-INFO_FILE = ecl.info.gz
++INFO_FILE = ecl.info
+ MAKEINFO = @MAKEINFO@
+ MANUAL_MAKE_TARGET = @MANUAL_MAKE_TARGET@
+ MANUAL_INSTALL_TARGET = @MANUAL_INSTALL_TARGET@
+diff --git a/src/doc/manual/Makefile b/src/doc/manual/Makefile
+index f82c287..2ff67e0 100644
+--- a/src/doc/manual/Makefile
++++ b/src/doc/manual/Makefile
+@@ -5,15 +5,14 @@ FILES= *.txi */*.txi figures/*
+ all: pdf info html
+
+ pdf: manual.pdf
+-info: ecl.info.gz
++info: ecl.info
+ html: html/index.html
+
+ manual.pdf: $(FILES)
+ texi2pdf manual.txi
+
+-ecl.info.gz: $(FILES)
++ecl.info: $(FILES)
+ $(MAKEINFO) --no-split manual.txi
+- gzip < ecl.info > ecl.info.gz
+
+ html/index.html: $(FILES)
+ $(MAKEINFO) --html --css-include=ecl.css --split=section manual.txi
diff --git a/dev-lisp/ecl/files/ecl-21.2.1-ldflags.patch b/dev-lisp/ecl/files/ecl-21.2.1-ldflags.patch
new file mode 100644
index 000000000000..5ac4cc5ea793
--- /dev/null
+++ b/dev-lisp/ecl/files/ecl-21.2.1-ldflags.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/723162
+
+--- ecl-21.2.1/src/c/Makefile.in
++++ ecl-21.2.1/src/c/Makefile.in
+@@ -104,7 +104,7 @@
+
+ $(DPP): $(srcdir)/dpp.c $(srcdir)/symbols_list.h
+ if test -f ../CROSS-DPP; then touch dpp; else \
+- $(TRUE_CC) -I$(srcdir) -I@true_builddir@ -I./ $(srcdir)/dpp.c @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ -o $@ ; \
++ $(TRUE_CC) -I$(srcdir) -I@true_builddir@ -I./ $(srcdir)/dpp.c @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ @LDFLAGS@ -o $@ ; \
+ fi
+
+ $(OBJS): $(DPP)
diff --git a/dev-lisp/ecl/metadata.xml b/dev-lisp/ecl/metadata.xml
new file mode 100644
index 000000000000..e3597447d67b
--- /dev/null
+++ b/dev-lisp/ecl/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://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>
+ </use>
+ <upstream>
+ <remote-id type="gitlab">embeddable-common-lisp/ecl</remote-id>
+ </upstream>
+</pkgmetadata>