public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2017-10-06 15:39 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2017-10-06 15:39 UTC (permalink / raw
  To: gentoo-commits

commit:     8a94d5e42b336a223df0b1e8b61d6af232cca5f2
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  6 15:39:28 2017 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Fri Oct  6 15:39:28 2017 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=8a94d5e4

dev-lisp/clisp: Syncs with gentoo repository

 dev-lisp/clisp/clisp-2.49-r100.ebuild              | 150 +++++++++++++++++++++
 dev-lisp/clisp/clisp-2.49-r8.ebuild                | 144 ++++++++++++++++++++
 dev-lisp/clisp/files/clisp-2.49-get_hostname.patch |  56 ++++++++
 dev-lisp/clisp/files/clisp-2.49-readline-7.patch   |  10 ++
 dev-lisp/clisp/files/clisp-2.49-tinfo.patch        |  15 +++
 5 files changed, 375 insertions(+)

diff --git a/dev-lisp/clisp/clisp-2.49-r100.ebuild b/dev-lisp/clisp/clisp-2.49-r100.ebuild
new file mode 100644
index 00000000..8210edc7
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.49-r100.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
+HOMEPAGE="http://clisp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2/7"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
+# "jit" disabled ATM
+
+RDEPEND=">=dev-lisp/asdf-2.33-r3
+		 virtual/libiconv
+		 >=dev-libs/libsigsegv-2.4
+		 >=dev-libs/ffcall-1.10
+		 dbus? ( sys-apps/dbus )
+		 fastcgi? ( dev-libs/fcgi )
+		 gdbm? ( sys-libs/gdbm )
+		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
+		 pari? ( <sci-mathematics/pari-2.5.0 )
+		 postgres? ( >=dev-db/postgresql-8.0:* )
+		 readline? ( >=sys-libs/readline-7.0:0= )
+		 pcre? ( dev-libs/libpcre:3 )
+		 svm? ( sci-libs/libsvm )
+		 zlib? ( sys-libs/zlib )
+		 X? ( x11-libs/libXpm )
+		 hyperspec? ( dev-lisp/hyperspec )
+		 berkdb? ( sys-libs/db:4.8 )"
+#		 jit? ( >=dev-libs/lightning-1.2 )
+
+DEPEND="${RDEPEND}
+	X? ( x11-misc/imake x11-proto/xextproto )"
+
+enable_modules() {
+	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
+	for m in "$@" ; do
+		einfo "enabling module $m"
+		myconf+=" --with-module=${m}"
+	done
+}
+
+BUILDDIR="builddir"
+
+# modules not enabled:
+#  * berkdb: must figure out a way to make the configure script pick up the
+#            currect version of the library and headers
+#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
+#  * matlab, netica: not in portage
+#  * oracle: can't install oracle-instantclient
+
+src_prepare() {
+	# More than -O1 breaks alpha/ia64
+	if use alpha || use ia64; then
+		sed -i -e 's/-O2//g' src/makemake.in || die
+	fi
+	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
+	epatch "${FILESDIR}"/${P}-get_hostname.patch
+	epatch "${FILESDIR}"/${P}-tinfo.patch
+	# bug #594552
+	epatch "${FILESDIR}"/${P}-readline-7.patch
+}
+
+src_configure() {
+	# We need this to build on alpha/ia64
+	if use alpha || use ia64; then
+		replace-flags -O? -O1
+		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
+	fi
+
+	if use x86; then
+		append-flags -falign-functions=4
+	fi
+
+	# QA issue with lisp.run
+	append-flags -Wa,--noexecstack
+
+	# built-in features
+	local myconf="--with-ffcall --without-dynamic-modules"
+#    There's a problem with jit_allocai function
+#    if use jit; then
+#        myconf+=" --with-jitc=lightning"
+#    fi
+	if use threads; then
+		myconf+=" --with-threads=POSIX_THREADS"
+	fi
+
+	# default modules
+	enable_modules wildcard rawsock
+	# optional modules
+	use elibc_glibc && enable_modules bindings/glibc
+	use X && enable_modules clx/new-clx
+	if use postgres; then
+		enable_modules postgresql
+		append-cppflags -I$(pg_config --includedir)
+	fi
+	if use berkdb; then
+		enable_modules berkeley-db
+		append-cppflags -I/usr/include/db4.8
+	fi
+	use dbus && enable_modules dbus
+	use fastcgi && enable_modules fastcgi
+	use gdbm && enable_modules gdbm
+	use gtk && enable_modules gtk2
+	use pari && enable_modules pari
+	use pcre && enable_modules pcre
+	use svm && enable_modules libsvm
+	use zlib && enable_modules zlib
+
+	if use hyperspec; then
+		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
+	else
+		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
+	fi
+
+	# configure chokes on --sysconfdir option
+	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
+		$(use_with readline) $(use_with unicode) \
+		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
+	einfo "${configure}"
+	${configure} || die "./configure failed"
+
+	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
+	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
+		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
+}
+
+src_compile() {
+	export VARTEXFONTS="${T}"/fonts
+	cd "${BUILDDIR}"
+	# parallel build fails
+	emake -j1
+}
+
+src_install() {
+	pushd "${BUILDDIR}"
+	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
+	doman clisp.1
+	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
+	# stripping them removes common symbols (defined but uninitialised variables)
+	# which are then needed to build modules...
+	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
+	popd
+	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
+	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
+}

diff --git a/dev-lisp/clisp/clisp-2.49-r8.ebuild b/dev-lisp/clisp/clisp-2.49-r8.ebuild
new file mode 100644
index 00000000..e19e47f6
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.49-r8.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
+HOMEPAGE="http://clisp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2/${PV}"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
+# "jit" disabled ATM
+
+RDEPEND=">=dev-lisp/asdf-2.33-r3
+		 virtual/libiconv
+		 >=dev-libs/libsigsegv-2.4
+		 >=dev-libs/ffcall-1.10
+		 dbus? ( sys-apps/dbus )
+		 fastcgi? ( dev-libs/fcgi )
+		 gdbm? ( sys-libs/gdbm )
+		 gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
+		 pari? ( <sci-mathematics/pari-2.5.0 )
+		 postgres? ( >=dev-db/postgresql-8.0 )
+		 readline? ( >=sys-libs/readline-5.0 <sys-libs/readline-7.0 )
+		 pcre? ( dev-libs/libpcre )
+		 svm? ( sci-libs/libsvm )
+		 zlib? ( sys-libs/zlib )
+		 X? ( x11-libs/libXpm )
+		 hyperspec? ( dev-lisp/hyperspec )
+		 berkdb? ( sys-libs/db:4.8 )"
+#		 jit? ( >=dev-libs/lightning-1.2 )
+
+DEPEND="${RDEPEND}
+	X? ( x11-misc/imake x11-proto/xextproto )"
+
+enable_modules() {
+	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
+	for m in "$@" ; do
+		einfo "enabling module $m"
+		myconf+=" --with-module=${m}"
+	done
+}
+
+BUILDDIR="builddir"
+
+# modules not enabled:
+#  * berkdb: must figure out a way to make the configure script pick up the
+#            currect version of the library and headers
+#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
+#  * matlab, netica: not in portage
+#  * oracle: can't install oracle-instantclient
+
+src_prepare() {
+	# More than -O1 breaks alpha/ia64
+	if use alpha || use ia64; then
+		sed -i -e 's/-O2//g' src/makemake.in || die
+	fi
+	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
+	epatch "${FILESDIR}"/${P}-get_hostname.patch
+	epatch "${FILESDIR}"/${P}-tinfo.patch
+}
+
+src_configure() {
+	# We need this to build on alpha/ia64
+	if use alpha || use ia64; then
+		replace-flags -O? -O1
+		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
+	fi
+
+	# QA issue with lisp.run
+	append-flags -Wa,--noexecstack
+
+	# built-in features
+	local myconf="--with-ffcall --without-dynamic-modules"
+#    There's a problem with jit_allocai function
+#    if use jit; then
+#        myconf+=" --with-jitc=lightning"
+#    fi
+	if use threads; then
+		myconf+=" --with-threads=POSIX_THREADS"
+	fi
+
+	# default modules
+	enable_modules wildcard rawsock
+	# optional modules
+	use elibc_glibc && enable_modules bindings/glibc
+	use X && enable_modules clx/new-clx
+	if use postgres; then
+		enable_modules postgresql
+		append-cppflags -I$(pg_config --includedir)
+	fi
+	if use berkdb; then
+		enable_modules berkeley-db
+		append-cppflags -I/usr/include/db4.8
+	fi
+	use dbus && enable_modules dbus
+	use fastcgi && enable_modules fastcgi
+	use gdbm && enable_modules gdbm
+	use gtk && enable_modules gtk2
+	use pari && enable_modules pari
+	use pcre && enable_modules pcre
+	use svm && enable_modules libsvm
+	use zlib && enable_modules zlib
+
+	if use hyperspec; then
+		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
+	else
+		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
+	fi
+
+	# configure chokes on --sysconfdir option
+	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
+		$(use_with readline) $(use_with unicode) \
+		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
+	einfo "${configure}"
+	${configure} || die "./configure failed"
+
+	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
+	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
+		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
+}
+
+src_compile() {
+	export VARTEXFONTS="${T}"/fonts
+	cd "${BUILDDIR}"
+	# parallel build fails
+	emake -j1
+}
+
+src_install() {
+	pushd "${BUILDDIR}"
+	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
+	doman clisp.1
+	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
+	# stripping them removes common symbols (defined but uninitialised variables)
+	# which are then needed to build modules...
+	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
+	popd
+	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
+	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
+}

diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
new file mode 100644
index 00000000..5db3a71e
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
@@ -0,0 +1,56 @@
+diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d
+--- clisp-2.49.orig/src/socket.d	2009-10-08 21:45:13.000000000 +0700
++++ clisp-2.49/src/socket.d	2013-04-20 16:24:11.133895050 +0700
+@@ -59,5 +59,5 @@
+  Fetches the machine's host name.
+- get_hostname(host =);
+- The name is allocated on the stack, with dynamic extent.
+- < const char* host: The host name.
++ get_hostname(hostname);
++ where hostname is an array of MAXHOTNAMELEN+1 characters.
++ < const char host[]: The host name.
+  (Note: In some cases we could get away with less system calls by simply
+@@ -69,10 +69,8 @@
+ /* present on all supported unix systems and on woe32 */
+-  #define get_hostname(host_assignment)                                 \
+-    do {  var char hostname[MAXHOSTNAMELEN+1];                          \
+-      begin_system_call();                                              \
+-      if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
+-      end_system_call();                                                \
+-      hostname[MAXHOSTNAMELEN] = '\0';                                  \
+-      host_assignment &hostname[0];                                     \
+-    } while(0)
++static void get_hostname (char *hostname) {
++  begin_system_call();
++  if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); }
++  end_system_call();
++  hostname[MAXHOSTNAMELEN] = '\0';
++}
+ #else
+@@ -209,4 +207,4 @@
+            (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
+-    var const char* host;
+-    get_hostname(host =);
++    var char host[MAXHOSTNAMELEN+1];
++    get_hostname(host);
+     result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
+@@ -391,4 +389,4 @@
+   if (eq(arg,S(Kdefault))) {
+-    var char* host;
+-    get_hostname(host =);
++    var char host[MAXHOSTNAMELEN+1];
++    get_hostname(host);
+     begin_system_call();
+@@ -726,3 +724,4 @@
+       if (host[0] == '\0') {
+-        get_hostname(host =);
++        var char host[MAXHOSTNAMELEN+1];
++        get_hostname(host);
+         fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
+@@ -800,4 +799,4 @@
+   if (resolve_p) { /* Fill in hd->truename. */
+-    var const char* host;
+-    get_hostname(host =); /* was: host = "localhost"; */
++    var char host[MAXHOSTNAMELEN+1];
++    get_hostname(host);
+     ASSERT(strlen(host) <= MAXHOSTNAMELEN);

diff --git a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
new file mode 100644
index 00000000..0be5bd8c
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
@@ -0,0 +1,10 @@
+diff -r -U2 clisp-2.49.orig/modules/readline/readline.lisp clisp-2.49/modules/readline/readline.lisp
+--- clisp-2.49.orig/modules/readline/readline.lisp	2010-01-07 04:18:03.000000000 +0600
++++ clisp-2.49/modules/readline/readline.lisp	2016-09-29 22:23:53.837631568 +0700
+@@ -425,5 +425,5 @@
+ (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int)
+   (:documentation "True if this is real GNU readline."))
+-(def-c-var readline-state (:name "rl_readline_state") (:type int)
++(def-c-var readline-state (:name "rl_readline_state") (:type ulong)
+   (:documentation "Flags word encapsulating the current readline state."))
+ (def-c-var editing-mode (:name "rl_editing_mode") (:type int)

diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
new file mode 100644
index 00000000..72f40d58
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
@@ -0,0 +1,15 @@
+clisp does not need a full blown ncurses, but it does require a termcap or tinfo
+I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR
+
+
+--- a/src/configure
++++ b/src/configure
+@@ -28613,7 +28613,7 @@
+   return 0;
+ }
+ _ACEOF
+-for ac_lib in '' ncurses termcap; do
++for ac_lib in '' tinfo ncurses termcap; do
+   if test -z "$ac_lib"; then
+     ac_res="none required"
+   else


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-02-19 18:36 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2018-02-19 18:36 UTC (permalink / raw
  To: gentoo-commits

commit:     30bab251f0c9258dbe3029dd780bb59c6e638d09
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 18:37:39 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Feb 19 18:37:39 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=30bab251

dev-lisp/clisp: Bumps version to 2.49.90

 dev-lisp/clisp/clisp-2.49-r100.ebuild              | 150 --------------------
 dev-lisp/clisp/clisp-2.49-r101.ebuild              | 153 ---------------------
 .../{clisp-2.49.60.ebuild => clisp-2.49.90.ebuild} |  10 +-
 dev-lisp/clisp/clisp-2.50_pre20130414.ebuild       | 144 -------------------
 .../clisp-2.49-bits_ipctypes_to_sys_ipc.patch      |  21 ---
 dev-lisp/clisp/files/clisp-2.49-get_hostname.patch |  56 --------
 dev-lisp/clisp/files/clisp-2.49-readline-7.patch   |  10 --
 dev-lisp/clisp/files/clisp-2.49-tinfo.patch        |  15 --
 ...h => clisp-2.49.90-after_glibc_cfree_bdb.patch} |  80 ++++-------
 ...2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch |  12 --
 dev-lisp/clisp/metadata.xml                        |  31 +++++
 11 files changed, 63 insertions(+), 619 deletions(-)

diff --git a/dev-lisp/clisp/clisp-2.49-r100.ebuild b/dev-lisp/clisp/clisp-2.49-r100.ebuild
deleted file mode 100644
index 8210edc7..00000000
--- a/dev-lisp/clisp/clisp-2.49-r100.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49-r101.ebuild b/dev-lisp/clisp/clisp-2.49-r101.ebuild
deleted file mode 100644
index 8948b19a..00000000
--- a/dev-lisp/clisp/clisp-2.49-r101.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# Bug 618170. If anyone has a better idea...
-	append-flags -fno-pie
-
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49.60.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
similarity index 94%
rename from dev-lisp/clisp/clisp-2.49.60.ebuild
rename to dev-lisp/clisp/clisp-2.49.90.ebuild
index 84dc47a3..e1167a08 100644
--- a/dev-lisp/clisp/clisp-2.49.60.ebuild
+++ b/dev-lisp/clisp/clisp-2.49.90.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -7,10 +7,10 @@ inherit eutils flag-o-matic multilib toolchain-funcs
 
 DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
 HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://haible.de/bruno/gnu/clisp-2.49.60.tar.bz2"
+SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
 
 LICENSE="GPL-2"
-SLOT="2/7"
+SLOT="2/8"
 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
 IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
 # "jit" disabled ATM
@@ -66,16 +66,12 @@ src_configure() {
 	# We need this to build on alpha/ia64
 	if use alpha || use ia64; then
 		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
 	fi
 
 	if use x86; then
 		append-flags -falign-functions=4
 	fi
 
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
 	# built-in features
 	local myconf="--with-ffcall --without-dynamic-modules"
 #    There's a problem with jit_allocai function

diff --git a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild b/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
deleted file mode 100644
index 013d2623..00000000
--- a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://deneb.cddr.org/lisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
-		 pari? ( >=sci-mathematics/pari-2.3.0 )
-		 postgres? ( >=dev-db/postgresql-base-8.0 )
-		 readline? ( >=sys-libs/readline-5.0 )
-		 pcre? ( dev-libs/libpcre )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}/${P}-bits_ipctypes_to_sys_ipc.patch"
-
-	cp /usr/share/common-lisp/source/asdf/build/asdf.lisp modules/asdf/ || die
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --with-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules asdf rawsock syscalls
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1 || die "emake failed"
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1 || die
-	dodoc SUMMARY README* NEWS MAGIC.add ANNOUNCE || die
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png || die
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt || die
-}

diff --git a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 8037157c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -67,7 +67,7 @@
- (def-c-type __daddr_t)          ; int
- (def-c-type __caddr_t)          ; c-pointer
- (def-c-type __time_t)           ; long
--(def-c-type __swblk_t)          ; long
-+;(def-c-type __swblk_t)          ; long
- 
- (def-c-type __fd_mask ulong)
- (eval-when (load compile eval)
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
deleted file mode 100644
index 5db3a71e..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d
---- clisp-2.49.orig/src/socket.d	2009-10-08 21:45:13.000000000 +0700
-+++ clisp-2.49/src/socket.d	2013-04-20 16:24:11.133895050 +0700
-@@ -59,5 +59,5 @@
-  Fetches the machine's host name.
-- get_hostname(host =);
-- The name is allocated on the stack, with dynamic extent.
-- < const char* host: The host name.
-+ get_hostname(hostname);
-+ where hostname is an array of MAXHOTNAMELEN+1 characters.
-+ < const char host[]: The host name.
-  (Note: In some cases we could get away with less system calls by simply
-@@ -69,10 +69,8 @@
- /* present on all supported unix systems and on woe32 */
--  #define get_hostname(host_assignment)                                 \
--    do {  var char hostname[MAXHOSTNAMELEN+1];                          \
--      begin_system_call();                                              \
--      if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
--      end_system_call();                                                \
--      hostname[MAXHOSTNAMELEN] = '\0';                                  \
--      host_assignment &hostname[0];                                     \
--    } while(0)
-+static void get_hostname (char *hostname) {
-+  begin_system_call();
-+  if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); }
-+  end_system_call();
-+  hostname[MAXHOSTNAMELEN] = '\0';
-+}
- #else
-@@ -209,4 +207,4 @@
-            (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
--    var const char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
-@@ -391,4 +389,4 @@
-   if (eq(arg,S(Kdefault))) {
--    var char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     begin_system_call();
-@@ -726,3 +724,4 @@
-       if (host[0] == '\0') {
--        get_hostname(host =);
-+        var char host[MAXHOSTNAMELEN+1];
-+        get_hostname(host);
-         fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
-@@ -800,4 +799,4 @@
-   if (resolve_p) { /* Fill in hd->truename. */
--    var const char* host;
--    get_hostname(host =); /* was: host = "localhost"; */
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     ASSERT(strlen(host) <= MAXHOSTNAMELEN);

diff --git a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
deleted file mode 100644
index 0be5bd8c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -r -U2 clisp-2.49.orig/modules/readline/readline.lisp clisp-2.49/modules/readline/readline.lisp
---- clisp-2.49.orig/modules/readline/readline.lisp	2010-01-07 04:18:03.000000000 +0600
-+++ clisp-2.49/modules/readline/readline.lisp	2016-09-29 22:23:53.837631568 +0700
-@@ -425,5 +425,5 @@
- (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int)
-   (:documentation "True if this is real GNU readline."))
--(def-c-var readline-state (:name "rl_readline_state") (:type int)
-+(def-c-var readline-state (:name "rl_readline_state") (:type ulong)
-   (:documentation "Flags word encapsulating the current readline state."))
- (def-c-var editing-mode (:name "rl_editing_mode") (:type int)

diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
deleted file mode 100644
index 72f40d58..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-clisp does not need a full blown ncurses, but it does require a termcap or tinfo
-I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR
-
-
---- a/src/configure
-+++ b/src/configure
-@@ -28613,7 +28613,7 @@
-   return 0;
- }
- _ACEOF
--for ac_lib in '' ncurses termcap; do
-+for ac_lib in '' tinfo ncurses termcap; do
-   if test -z "$ac_lib"; then
-     ac_res="none required"
-   else

diff --git a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
similarity index 76%
rename from dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
rename to dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
index 3ab075ba..ae83bbb8 100644
--- a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
+++ b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
@@ -1,8 +1,7 @@
-diff --git a/modules/berkeley-db/bdb.c b/modules/berkeley-db/bdb.c
-index a266d41..942652a 100644
---- a/modules/berkeley-db/bdb.c
-+++ b/modules/berkeley-db/bdb.c
-@@ -2216,7 +2216,13 @@ DEFUN(BDB:DB-COMPACT, db &key TRANSACTION :START STOP FREE FILL TIMEOUT \
+diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
+--- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
++++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
+@@ -2216,7 +2216,13 @@
    c_data.compact_timeout = timeout;
    c_data.compact_pages = pages;
    SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
@@ -17,10 +16,9 @@ index a266d41..942652a 100644
    pushSTACK(uint32_to_I(c_data.compact_pages_free));
    pushSTACK(uint32_to_I(c_data.compact_pages_examine));
    pushSTACK(uint32_to_I(c_data.compact_levels));
-diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
-index c960753..2993990 100644
---- a/modules/bindings/glibc/linux.lisp
-+++ b/modules/bindings/glibc/linux.lisp
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
+--- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
 @@ -1,7 +1,7 @@
  ;; Foreign functions provided by the Linux C library version 6,
  ;; i.e. the GNU C library version 2.0.7.
@@ -30,15 +28,7 @@ index c960753..2993990 100644
  
  ;; NB: quite a few functions here have more portable counterparts in POSIX
  
-@@ -649,7 +649,6 @@
- (def-call-out calloc (:arguments (nmemb size_t) (size size_t))
-   (:return-type c-pointer))
- (def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
--(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
- (def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
- 
- (def-call-out abort (:arguments) (:return-type nil))
-@@ -687,9 +686,8 @@
+@@ -686,9 +686,8 @@
  (def-call-out system? (:arguments (null c-string))
    (:return-type boolean) (:name "system"))
  
@@ -46,11 +36,11 @@ index c960753..2993990 100644
 -; (def-call-out canonicalize_file_name (:arguments (name c-string))
 -;  (:return-type c-string :malloc-free))
 +(def-call-out canonicalize_file_name (:arguments (name c-string))
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++ (:return-type c-string :malloc-free))
  
  (def-call-out realpath
      (:arguments (name c-string)
-@@ -1041,9 +1039,8 @@
+@@ -1040,9 +1039,8 @@
  (def-call-out access (:arguments (name c-string) (type int))
    (:return-type int))
  
@@ -58,11 +48,11 @@ index c960753..2993990 100644
 -; (def-call-out euidaccess (:arguments (name c-string) (type int))
 -;   (:return-type int))
 +(def-call-out euidaccess (:arguments (name c-string) (type int))
-+  (:return-type int) (:guard "defined(__USE_GNU)"))
++  (:return-type int))
  
  (defconstant SEEK_SET 0)
  (defconstant SEEK_CUR 1)
-@@ -1094,9 +1091,8 @@
+@@ -1093,9 +1091,8 @@
  ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
  ;  (:return-type c-string))
  
@@ -70,33 +60,31 @@ index c960753..2993990 100644
 -; (def-call-out get_current_dir_name (:arguments)
 -;   (:return-type c-string :malloc-free))
 +(def-call-out get_current_dir_name (:arguments)
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++  (:return-type c-string :malloc-free))
  
  ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
  ;  (:return-type c-string))
-@@ -1324,8 +1320,8 @@
+@@ -1323,8 +1320,7 @@
  ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
  ;  (:return-type int))
  
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
-+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean)
-+   (:guard "defined(__USE_GNU)"))
++(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
  (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
  (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
    (:return-type int))
-@@ -1822,8 +1818,8 @@
+@@ -1821,8 +1817,7 @@
    (:return-type c-string :malloc-free))
  (def-call-out ungetc (:arguments (c int) (fp FILE))
    (:return-type int))
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out fcloseall (:arguments) (:return-type int))
-+(def-call-out fcloseall (:arguments) (:return-type int)
-+  (:guard "defined(__USE_GNU)"))
++(def-call-out fcloseall (:arguments) (:return-type int))
  (def-call-out fdopen (:arguments (fildes int) (mode c-string))
    (:return-type c-pointer))
  (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
-@@ -1901,11 +1897,11 @@ typedef __off64_t clisp_dirent_off_t;
+@@ -1900,11 +1895,11 @@
    (:return-type (c-ptr-null dirent)))
  (def-call-out readdir64 (:arguments (dirp c-pointer))
    (:return-type (c-ptr-null dirent64)))
@@ -110,13 +98,12 @@ index c960753..2993990 100644
      (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
                  (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
    (:return-type int))
-diff --git a/modules/bindings/glibc/test.tst b/modules/bindings/glibc/test.tst
-index f807389..b2c1222 100644
---- a/modules/bindings/glibc/test.tst
-+++ b/modules/bindings/glibc/test.tst
-@@ -5,6 +5,16 @@
- (progn (require "linux") T) T
- (listp (show (multiple-value-list (ext:module-info "linux" t)) :pretty t)) T
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
+--- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
+@@ -14,6 +14,16 @@
+ (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
+ (linux:closedir *d*) 0
  
 +(stringp (show (linux:get-domain-name))) T
 +(stringp (show (linux:get-host-name))) T
@@ -129,20 +116,11 @@ index f807389..b2c1222 100644
 +T
 +
  (defparameter *d* (show (linux:opendir "."))) *D*
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) "."
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) ".."
-diff --git a/src/foreign1.lisp b/src/foreign1.lisp
-index 26a3ba5..0e43de7 100644
---- a/src/foreign1.lisp
-+++ b/src/foreign1.lisp
-@@ -1,6 +1,6 @@
- ;;; Foreign function interface for CLISP
- ;;; Bruno Haible 19.2.1995
--;;; Sam Steingold 1998-2010
-+;;; Sam Steingold 1998-2010, 2017
- 
- #+UNICODE
- (progn
+ (linux:dirent-d_name (show (linux:readdir *d*))) "."
+ (linux:dirent-d_name (show (linux:readdir *d*))) ".."
+diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
+--- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
 @@ -805,14 +805,17 @@
                  c-name (to-c-string c-name) (third variable) (first variable))
          (when *foreign-guard* (format *coutput-stream* "# endif~%"))))

diff --git a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 61d807e8..00000000
--- a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/metadata.xml b/dev-lisp/clisp/metadata.xml
new file mode 100644
index 00000000..256106c8
--- /dev/null
+++ b/dev-lisp/clisp/metadata.xml
@@ -0,0 +1,31 @@
+<?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>
+CLISP is a Common Lisp implementation. It mostly supports the Lisp
+described in the ANSI Common Lisp standard.  It includes an
+interpreter, a compiler, almost all of CLOS, a foreign language
+interface and a socket interface. An X11 interface is available
+through CLX and Garnet. Command line editing is provided by readline.
+CLISP runs on microcomputers (OS/2, Windows 95/98/NT/2000/XP, Amiga
+500-4000, Acorn RISC PC) as well as on Unix workstations (GNU/Linux,
+BSD, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and
+others) and needs only 2 MB of RAM.  The user interface comes in
+German, English, French, Spanish, Dutch and Russian, and can be
+changed at run time.
+</longdescription>
+	<use>
+		<flag name="hyperspec">Use local hyperspec instead of online version</flag>
+		<flag name="new-clx">Build CLISP with support for the NEW-CLX module which is a
+C binding to the Xorg libraries</flag>
+		<flag name="pari">Build CLISP with support for the PARI Computer Algebra System</flag>
+		<flag name="svm">Build CLISP with support for the Support Vector Machine module</flag>
+	</use>
+	<upstream>
+		<remote-id type="sourceforge">clisp</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-03-09 17:41 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2018-03-09 17:41 UTC (permalink / raw
  To: gentoo-commits

commit:     ff4fffd910eb0a705bdd20ede05e668361fc8626
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 18:37:39 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 17:38:47 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=ff4fffd9

dev-lisp/clisp: Bumps version to 2.49.90

 dev-lisp/clisp/clisp-2.49-r100.ebuild              | 150 --------------------
 dev-lisp/clisp/clisp-2.49-r101.ebuild              | 153 ---------------------
 .../{clisp-2.49.60.ebuild => clisp-2.49.90.ebuild} |  10 +-
 dev-lisp/clisp/clisp-2.50_pre20130414.ebuild       | 144 -------------------
 .../clisp-2.49-bits_ipctypes_to_sys_ipc.patch      |  21 ---
 dev-lisp/clisp/files/clisp-2.49-get_hostname.patch |  56 --------
 dev-lisp/clisp/files/clisp-2.49-readline-7.patch   |  10 --
 dev-lisp/clisp/files/clisp-2.49-tinfo.patch        |  15 --
 ...h => clisp-2.49.90-after_glibc_cfree_bdb.patch} |  80 ++++-------
 ...2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch |  12 --
 dev-lisp/clisp/metadata.xml                        |  31 +++++
 11 files changed, 63 insertions(+), 619 deletions(-)

diff --git a/dev-lisp/clisp/clisp-2.49-r100.ebuild b/dev-lisp/clisp/clisp-2.49-r100.ebuild
deleted file mode 100644
index 8210edc7..00000000
--- a/dev-lisp/clisp/clisp-2.49-r100.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49-r101.ebuild b/dev-lisp/clisp/clisp-2.49-r101.ebuild
deleted file mode 100644
index 8948b19a..00000000
--- a/dev-lisp/clisp/clisp-2.49-r101.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# Bug 618170. If anyone has a better idea...
-	append-flags -fno-pie
-
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49.60.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
similarity index 94%
rename from dev-lisp/clisp/clisp-2.49.60.ebuild
rename to dev-lisp/clisp/clisp-2.49.90.ebuild
index 84dc47a3..e1167a08 100644
--- a/dev-lisp/clisp/clisp-2.49.60.ebuild
+++ b/dev-lisp/clisp/clisp-2.49.90.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -7,10 +7,10 @@ inherit eutils flag-o-matic multilib toolchain-funcs
 
 DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
 HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://haible.de/bruno/gnu/clisp-2.49.60.tar.bz2"
+SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
 
 LICENSE="GPL-2"
-SLOT="2/7"
+SLOT="2/8"
 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
 IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
 # "jit" disabled ATM
@@ -66,16 +66,12 @@ src_configure() {
 	# We need this to build on alpha/ia64
 	if use alpha || use ia64; then
 		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
 	fi
 
 	if use x86; then
 		append-flags -falign-functions=4
 	fi
 
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
 	# built-in features
 	local myconf="--with-ffcall --without-dynamic-modules"
 #    There's a problem with jit_allocai function

diff --git a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild b/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
deleted file mode 100644
index 013d2623..00000000
--- a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://deneb.cddr.org/lisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
-		 pari? ( >=sci-mathematics/pari-2.3.0 )
-		 postgres? ( >=dev-db/postgresql-base-8.0 )
-		 readline? ( >=sys-libs/readline-5.0 )
-		 pcre? ( dev-libs/libpcre )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}/${P}-bits_ipctypes_to_sys_ipc.patch"
-
-	cp /usr/share/common-lisp/source/asdf/build/asdf.lisp modules/asdf/ || die
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --with-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules asdf rawsock syscalls
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1 || die "emake failed"
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1 || die
-	dodoc SUMMARY README* NEWS MAGIC.add ANNOUNCE || die
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png || die
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt || die
-}

diff --git a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 8037157c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -67,7 +67,7 @@
- (def-c-type __daddr_t)          ; int
- (def-c-type __caddr_t)          ; c-pointer
- (def-c-type __time_t)           ; long
--(def-c-type __swblk_t)          ; long
-+;(def-c-type __swblk_t)          ; long
- 
- (def-c-type __fd_mask ulong)
- (eval-when (load compile eval)
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
deleted file mode 100644
index 5db3a71e..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d
---- clisp-2.49.orig/src/socket.d	2009-10-08 21:45:13.000000000 +0700
-+++ clisp-2.49/src/socket.d	2013-04-20 16:24:11.133895050 +0700
-@@ -59,5 +59,5 @@
-  Fetches the machine's host name.
-- get_hostname(host =);
-- The name is allocated on the stack, with dynamic extent.
-- < const char* host: The host name.
-+ get_hostname(hostname);
-+ where hostname is an array of MAXHOTNAMELEN+1 characters.
-+ < const char host[]: The host name.
-  (Note: In some cases we could get away with less system calls by simply
-@@ -69,10 +69,8 @@
- /* present on all supported unix systems and on woe32 */
--  #define get_hostname(host_assignment)                                 \
--    do {  var char hostname[MAXHOSTNAMELEN+1];                          \
--      begin_system_call();                                              \
--      if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
--      end_system_call();                                                \
--      hostname[MAXHOSTNAMELEN] = '\0';                                  \
--      host_assignment &hostname[0];                                     \
--    } while(0)
-+static void get_hostname (char *hostname) {
-+  begin_system_call();
-+  if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); }
-+  end_system_call();
-+  hostname[MAXHOSTNAMELEN] = '\0';
-+}
- #else
-@@ -209,4 +207,4 @@
-            (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
--    var const char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
-@@ -391,4 +389,4 @@
-   if (eq(arg,S(Kdefault))) {
--    var char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     begin_system_call();
-@@ -726,3 +724,4 @@
-       if (host[0] == '\0') {
--        get_hostname(host =);
-+        var char host[MAXHOSTNAMELEN+1];
-+        get_hostname(host);
-         fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
-@@ -800,4 +799,4 @@
-   if (resolve_p) { /* Fill in hd->truename. */
--    var const char* host;
--    get_hostname(host =); /* was: host = "localhost"; */
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     ASSERT(strlen(host) <= MAXHOSTNAMELEN);

diff --git a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
deleted file mode 100644
index 0be5bd8c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -r -U2 clisp-2.49.orig/modules/readline/readline.lisp clisp-2.49/modules/readline/readline.lisp
---- clisp-2.49.orig/modules/readline/readline.lisp	2010-01-07 04:18:03.000000000 +0600
-+++ clisp-2.49/modules/readline/readline.lisp	2016-09-29 22:23:53.837631568 +0700
-@@ -425,5 +425,5 @@
- (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int)
-   (:documentation "True if this is real GNU readline."))
--(def-c-var readline-state (:name "rl_readline_state") (:type int)
-+(def-c-var readline-state (:name "rl_readline_state") (:type ulong)
-   (:documentation "Flags word encapsulating the current readline state."))
- (def-c-var editing-mode (:name "rl_editing_mode") (:type int)

diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
deleted file mode 100644
index 72f40d58..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-clisp does not need a full blown ncurses, but it does require a termcap or tinfo
-I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR
-
-
---- a/src/configure
-+++ b/src/configure
-@@ -28613,7 +28613,7 @@
-   return 0;
- }
- _ACEOF
--for ac_lib in '' ncurses termcap; do
-+for ac_lib in '' tinfo ncurses termcap; do
-   if test -z "$ac_lib"; then
-     ac_res="none required"
-   else

diff --git a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
similarity index 76%
rename from dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
rename to dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
index 3ab075ba..ae83bbb8 100644
--- a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
+++ b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
@@ -1,8 +1,7 @@
-diff --git a/modules/berkeley-db/bdb.c b/modules/berkeley-db/bdb.c
-index a266d41..942652a 100644
---- a/modules/berkeley-db/bdb.c
-+++ b/modules/berkeley-db/bdb.c
-@@ -2216,7 +2216,13 @@ DEFUN(BDB:DB-COMPACT, db &key TRANSACTION :START STOP FREE FILL TIMEOUT \
+diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
+--- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
++++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
+@@ -2216,7 +2216,13 @@
    c_data.compact_timeout = timeout;
    c_data.compact_pages = pages;
    SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
@@ -17,10 +16,9 @@ index a266d41..942652a 100644
    pushSTACK(uint32_to_I(c_data.compact_pages_free));
    pushSTACK(uint32_to_I(c_data.compact_pages_examine));
    pushSTACK(uint32_to_I(c_data.compact_levels));
-diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
-index c960753..2993990 100644
---- a/modules/bindings/glibc/linux.lisp
-+++ b/modules/bindings/glibc/linux.lisp
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
+--- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
 @@ -1,7 +1,7 @@
  ;; Foreign functions provided by the Linux C library version 6,
  ;; i.e. the GNU C library version 2.0.7.
@@ -30,15 +28,7 @@ index c960753..2993990 100644
  
  ;; NB: quite a few functions here have more portable counterparts in POSIX
  
-@@ -649,7 +649,6 @@
- (def-call-out calloc (:arguments (nmemb size_t) (size size_t))
-   (:return-type c-pointer))
- (def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
--(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
- (def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
- 
- (def-call-out abort (:arguments) (:return-type nil))
-@@ -687,9 +686,8 @@
+@@ -686,9 +686,8 @@
  (def-call-out system? (:arguments (null c-string))
    (:return-type boolean) (:name "system"))
  
@@ -46,11 +36,11 @@ index c960753..2993990 100644
 -; (def-call-out canonicalize_file_name (:arguments (name c-string))
 -;  (:return-type c-string :malloc-free))
 +(def-call-out canonicalize_file_name (:arguments (name c-string))
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++ (:return-type c-string :malloc-free))
  
  (def-call-out realpath
      (:arguments (name c-string)
-@@ -1041,9 +1039,8 @@
+@@ -1040,9 +1039,8 @@
  (def-call-out access (:arguments (name c-string) (type int))
    (:return-type int))
  
@@ -58,11 +48,11 @@ index c960753..2993990 100644
 -; (def-call-out euidaccess (:arguments (name c-string) (type int))
 -;   (:return-type int))
 +(def-call-out euidaccess (:arguments (name c-string) (type int))
-+  (:return-type int) (:guard "defined(__USE_GNU)"))
++  (:return-type int))
  
  (defconstant SEEK_SET 0)
  (defconstant SEEK_CUR 1)
-@@ -1094,9 +1091,8 @@
+@@ -1093,9 +1091,8 @@
  ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
  ;  (:return-type c-string))
  
@@ -70,33 +60,31 @@ index c960753..2993990 100644
 -; (def-call-out get_current_dir_name (:arguments)
 -;   (:return-type c-string :malloc-free))
 +(def-call-out get_current_dir_name (:arguments)
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++  (:return-type c-string :malloc-free))
  
  ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
  ;  (:return-type c-string))
-@@ -1324,8 +1320,8 @@
+@@ -1323,8 +1320,7 @@
  ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
  ;  (:return-type int))
  
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
-+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean)
-+   (:guard "defined(__USE_GNU)"))
++(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
  (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
  (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
    (:return-type int))
-@@ -1822,8 +1818,8 @@
+@@ -1821,8 +1817,7 @@
    (:return-type c-string :malloc-free))
  (def-call-out ungetc (:arguments (c int) (fp FILE))
    (:return-type int))
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out fcloseall (:arguments) (:return-type int))
-+(def-call-out fcloseall (:arguments) (:return-type int)
-+  (:guard "defined(__USE_GNU)"))
++(def-call-out fcloseall (:arguments) (:return-type int))
  (def-call-out fdopen (:arguments (fildes int) (mode c-string))
    (:return-type c-pointer))
  (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
-@@ -1901,11 +1897,11 @@ typedef __off64_t clisp_dirent_off_t;
+@@ -1900,11 +1895,11 @@
    (:return-type (c-ptr-null dirent)))
  (def-call-out readdir64 (:arguments (dirp c-pointer))
    (:return-type (c-ptr-null dirent64)))
@@ -110,13 +98,12 @@ index c960753..2993990 100644
      (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
                  (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
    (:return-type int))
-diff --git a/modules/bindings/glibc/test.tst b/modules/bindings/glibc/test.tst
-index f807389..b2c1222 100644
---- a/modules/bindings/glibc/test.tst
-+++ b/modules/bindings/glibc/test.tst
-@@ -5,6 +5,16 @@
- (progn (require "linux") T) T
- (listp (show (multiple-value-list (ext:module-info "linux" t)) :pretty t)) T
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
+--- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
+@@ -14,6 +14,16 @@
+ (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
+ (linux:closedir *d*) 0
  
 +(stringp (show (linux:get-domain-name))) T
 +(stringp (show (linux:get-host-name))) T
@@ -129,20 +116,11 @@ index f807389..b2c1222 100644
 +T
 +
  (defparameter *d* (show (linux:opendir "."))) *D*
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) "."
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) ".."
-diff --git a/src/foreign1.lisp b/src/foreign1.lisp
-index 26a3ba5..0e43de7 100644
---- a/src/foreign1.lisp
-+++ b/src/foreign1.lisp
-@@ -1,6 +1,6 @@
- ;;; Foreign function interface for CLISP
- ;;; Bruno Haible 19.2.1995
--;;; Sam Steingold 1998-2010
-+;;; Sam Steingold 1998-2010, 2017
- 
- #+UNICODE
- (progn
+ (linux:dirent-d_name (show (linux:readdir *d*))) "."
+ (linux:dirent-d_name (show (linux:readdir *d*))) ".."
+diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
+--- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
 @@ -805,14 +805,17 @@
                  c-name (to-c-string c-name) (third variable) (first variable))
          (when *foreign-guard* (format *coutput-stream* "# endif~%"))))

diff --git a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 61d807e8..00000000
--- a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/metadata.xml b/dev-lisp/clisp/metadata.xml
new file mode 100644
index 00000000..256106c8
--- /dev/null
+++ b/dev-lisp/clisp/metadata.xml
@@ -0,0 +1,31 @@
+<?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>
+CLISP is a Common Lisp implementation. It mostly supports the Lisp
+described in the ANSI Common Lisp standard.  It includes an
+interpreter, a compiler, almost all of CLOS, a foreign language
+interface and a socket interface. An X11 interface is available
+through CLX and Garnet. Command line editing is provided by readline.
+CLISP runs on microcomputers (OS/2, Windows 95/98/NT/2000/XP, Amiga
+500-4000, Acorn RISC PC) as well as on Unix workstations (GNU/Linux,
+BSD, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and
+others) and needs only 2 MB of RAM.  The user interface comes in
+German, English, French, Spanish, Dutch and Russian, and can be
+changed at run time.
+</longdescription>
+	<use>
+		<flag name="hyperspec">Use local hyperspec instead of online version</flag>
+		<flag name="new-clx">Build CLISP with support for the NEW-CLX module which is a
+C binding to the Xorg libraries</flag>
+		<flag name="pari">Build CLISP with support for the PARI Computer Algebra System</flag>
+		<flag name="svm">Build CLISP with support for the Support Vector Machine module</flag>
+	</use>
+	<upstream>
+		<remote-id type="sourceforge">clisp</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-03-09 21:36 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2018-03-09 21:36 UTC (permalink / raw
  To: gentoo-commits

commit:     725588ac0e3a77247c3f9dea206baaa63851e7ff
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 18:37:39 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 21:34:21 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=725588ac

dev-lisp/clisp: Bumps version to 2.49.90

 dev-lisp/clisp/clisp-2.49-r100.ebuild              | 150 --------------------
 dev-lisp/clisp/clisp-2.49-r101.ebuild              | 153 ---------------------
 .../{clisp-2.49.60.ebuild => clisp-2.49.90.ebuild} |  10 +-
 dev-lisp/clisp/clisp-2.50_pre20130414.ebuild       | 144 -------------------
 .../clisp-2.49-bits_ipctypes_to_sys_ipc.patch      |  21 ---
 dev-lisp/clisp/files/clisp-2.49-get_hostname.patch |  56 --------
 dev-lisp/clisp/files/clisp-2.49-readline-7.patch   |  10 --
 dev-lisp/clisp/files/clisp-2.49-tinfo.patch        |  15 --
 ...h => clisp-2.49.90-after_glibc_cfree_bdb.patch} |  80 ++++-------
 ...2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch |  12 --
 dev-lisp/clisp/metadata.xml                        |  31 +++++
 11 files changed, 63 insertions(+), 619 deletions(-)

diff --git a/dev-lisp/clisp/clisp-2.49-r100.ebuild b/dev-lisp/clisp/clisp-2.49-r100.ebuild
deleted file mode 100644
index 8210edc7..00000000
--- a/dev-lisp/clisp/clisp-2.49-r100.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49-r101.ebuild b/dev-lisp/clisp/clisp-2.49-r101.ebuild
deleted file mode 100644
index 8948b19a..00000000
--- a/dev-lisp/clisp/clisp-2.49-r101.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/7"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 pari? ( <sci-mathematics/pari-2.5.0 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
-	epatch "${FILESDIR}"/${P}-get_hostname.patch
-	epatch "${FILESDIR}"/${P}-tinfo.patch
-	# bug #594552
-	epatch "${FILESDIR}"/${P}-readline-7.patch
-}
-
-src_configure() {
-	# Bug 618170. If anyone has a better idea...
-	append-flags -fno-pie
-
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules wildcard rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49.60.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
similarity index 94%
rename from dev-lisp/clisp/clisp-2.49.60.ebuild
rename to dev-lisp/clisp/clisp-2.49.90.ebuild
index 84dc47a3..e1167a08 100644
--- a/dev-lisp/clisp/clisp-2.49.60.ebuild
+++ b/dev-lisp/clisp/clisp-2.49.90.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -7,10 +7,10 @@ inherit eutils flag-o-matic multilib toolchain-funcs
 
 DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
 HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://haible.de/bruno/gnu/clisp-2.49.60.tar.bz2"
+SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
 
 LICENSE="GPL-2"
-SLOT="2/7"
+SLOT="2/8"
 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
 IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
 # "jit" disabled ATM
@@ -66,16 +66,12 @@ src_configure() {
 	# We need this to build on alpha/ia64
 	if use alpha || use ia64; then
 		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
 	fi
 
 	if use x86; then
 		append-flags -falign-functions=4
 	fi
 
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
 	# built-in features
 	local myconf="--with-ffcall --without-dynamic-modules"
 #    There's a problem with jit_allocai function

diff --git a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild b/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
deleted file mode 100644
index 013d2623..00000000
--- a/dev-lisp/clisp/clisp-2.50_pre20130414.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit flag-o-matic eutils toolchain-funcs multilib
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://deneb.cddr.org/lisp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.4
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
-		 pari? ( >=sci-mathematics/pari-2.3.0 )
-		 postgres? ( >=dev-db/postgresql-base-8.0 )
-		 readline? ( >=sys-libs/readline-5.0 )
-		 pcre? ( dev-libs/libpcre )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-#		 jit? ( >=dev-libs/lightning-1.2 )
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	epatch "${FILESDIR}/${P}-bits_ipctypes_to_sys_ipc.patch"
-
-	cp /usr/share/common-lisp/source/asdf/build/asdf.lisp modules/asdf/ || die
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-		append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
-	fi
-
-	# QA issue with lisp.run
-	append-flags -Wa,--noexecstack
-
-	# built-in features
-	local myconf="--with-ffcall --with-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules asdf rawsock syscalls
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pari && enable_modules pari
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
-		$(use_with readline) $(use_with unicode) \
-		${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}"
-	# parallel build fails
-	emake -j1 || die "emake failed"
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
-	doman clisp.1 || die
-	dodoc SUMMARY README* NEWS MAGIC.add ANNOUNCE || die
-	# stripping them removes common symbols (defined but uninitialised variables)
-	# which are then needed to build modules...
-	export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png || die
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt || die
-}

diff --git a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 8037157c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -67,7 +67,7 @@
- (def-c-type __daddr_t)          ; int
- (def-c-type __caddr_t)          ; c-pointer
- (def-c-type __time_t)           ; long
--(def-c-type __swblk_t)          ; long
-+;(def-c-type __swblk_t)          ; long
- 
- (def-c-type __fd_mask ulong)
- (eval-when (load compile eval)
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
deleted file mode 100644
index 5db3a71e..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d
---- clisp-2.49.orig/src/socket.d	2009-10-08 21:45:13.000000000 +0700
-+++ clisp-2.49/src/socket.d	2013-04-20 16:24:11.133895050 +0700
-@@ -59,5 +59,5 @@
-  Fetches the machine's host name.
-- get_hostname(host =);
-- The name is allocated on the stack, with dynamic extent.
-- < const char* host: The host name.
-+ get_hostname(hostname);
-+ where hostname is an array of MAXHOTNAMELEN+1 characters.
-+ < const char host[]: The host name.
-  (Note: In some cases we could get away with less system calls by simply
-@@ -69,10 +69,8 @@
- /* present on all supported unix systems and on woe32 */
--  #define get_hostname(host_assignment)                                 \
--    do {  var char hostname[MAXHOSTNAMELEN+1];                          \
--      begin_system_call();                                              \
--      if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
--      end_system_call();                                                \
--      hostname[MAXHOSTNAMELEN] = '\0';                                  \
--      host_assignment &hostname[0];                                     \
--    } while(0)
-+static void get_hostname (char *hostname) {
-+  begin_system_call();
-+  if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); }
-+  end_system_call();
-+  hostname[MAXHOSTNAMELEN] = '\0';
-+}
- #else
-@@ -209,4 +207,4 @@
-            (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
--    var const char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
-@@ -391,4 +389,4 @@
-   if (eq(arg,S(Kdefault))) {
--    var char* host;
--    get_hostname(host =);
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     begin_system_call();
-@@ -726,3 +724,4 @@
-       if (host[0] == '\0') {
--        get_hostname(host =);
-+        var char host[MAXHOSTNAMELEN+1];
-+        get_hostname(host);
-         fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
-@@ -800,4 +799,4 @@
-   if (resolve_p) { /* Fill in hd->truename. */
--    var const char* host;
--    get_hostname(host =); /* was: host = "localhost"; */
-+    var char host[MAXHOSTNAMELEN+1];
-+    get_hostname(host);
-     ASSERT(strlen(host) <= MAXHOSTNAMELEN);

diff --git a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch b/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
deleted file mode 100644
index 0be5bd8c..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-readline-7.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -r -U2 clisp-2.49.orig/modules/readline/readline.lisp clisp-2.49/modules/readline/readline.lisp
---- clisp-2.49.orig/modules/readline/readline.lisp	2010-01-07 04:18:03.000000000 +0600
-+++ clisp-2.49/modules/readline/readline.lisp	2016-09-29 22:23:53.837631568 +0700
-@@ -425,5 +425,5 @@
- (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int)
-   (:documentation "True if this is real GNU readline."))
--(def-c-var readline-state (:name "rl_readline_state") (:type int)
-+(def-c-var readline-state (:name "rl_readline_state") (:type ulong)
-   (:documentation "Flags word encapsulating the current readline state."))
- (def-c-var editing-mode (:name "rl_editing_mode") (:type int)

diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
deleted file mode 100644
index 72f40d58..00000000
--- a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-clisp does not need a full blown ncurses, but it does require a termcap or tinfo
-I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR
-
-
---- a/src/configure
-+++ b/src/configure
-@@ -28613,7 +28613,7 @@
-   return 0;
- }
- _ACEOF
--for ac_lib in '' ncurses termcap; do
-+for ac_lib in '' tinfo ncurses termcap; do
-   if test -z "$ac_lib"; then
-     ac_res="none required"
-   else

diff --git a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
similarity index 76%
rename from dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
rename to dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
index 3ab075ba..ae83bbb8 100644
--- a/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
+++ b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
@@ -1,8 +1,7 @@
-diff --git a/modules/berkeley-db/bdb.c b/modules/berkeley-db/bdb.c
-index a266d41..942652a 100644
---- a/modules/berkeley-db/bdb.c
-+++ b/modules/berkeley-db/bdb.c
-@@ -2216,7 +2216,13 @@ DEFUN(BDB:DB-COMPACT, db &key TRANSACTION :START STOP FREE FILL TIMEOUT \
+diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
+--- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
++++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
+@@ -2216,7 +2216,13 @@
    c_data.compact_timeout = timeout;
    c_data.compact_pages = pages;
    SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
@@ -17,10 +16,9 @@ index a266d41..942652a 100644
    pushSTACK(uint32_to_I(c_data.compact_pages_free));
    pushSTACK(uint32_to_I(c_data.compact_pages_examine));
    pushSTACK(uint32_to_I(c_data.compact_levels));
-diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
-index c960753..2993990 100644
---- a/modules/bindings/glibc/linux.lisp
-+++ b/modules/bindings/glibc/linux.lisp
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
+--- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
 @@ -1,7 +1,7 @@
  ;; Foreign functions provided by the Linux C library version 6,
  ;; i.e. the GNU C library version 2.0.7.
@@ -30,15 +28,7 @@ index c960753..2993990 100644
  
  ;; NB: quite a few functions here have more portable counterparts in POSIX
  
-@@ -649,7 +649,6 @@
- (def-call-out calloc (:arguments (nmemb size_t) (size size_t))
-   (:return-type c-pointer))
- (def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
--(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
- (def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
- 
- (def-call-out abort (:arguments) (:return-type nil))
-@@ -687,9 +686,8 @@
+@@ -686,9 +686,8 @@
  (def-call-out system? (:arguments (null c-string))
    (:return-type boolean) (:name "system"))
  
@@ -46,11 +36,11 @@ index c960753..2993990 100644
 -; (def-call-out canonicalize_file_name (:arguments (name c-string))
 -;  (:return-type c-string :malloc-free))
 +(def-call-out canonicalize_file_name (:arguments (name c-string))
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++ (:return-type c-string :malloc-free))
  
  (def-call-out realpath
      (:arguments (name c-string)
-@@ -1041,9 +1039,8 @@
+@@ -1040,9 +1039,8 @@
  (def-call-out access (:arguments (name c-string) (type int))
    (:return-type int))
  
@@ -58,11 +48,11 @@ index c960753..2993990 100644
 -; (def-call-out euidaccess (:arguments (name c-string) (type int))
 -;   (:return-type int))
 +(def-call-out euidaccess (:arguments (name c-string) (type int))
-+  (:return-type int) (:guard "defined(__USE_GNU)"))
++  (:return-type int))
  
  (defconstant SEEK_SET 0)
  (defconstant SEEK_CUR 1)
-@@ -1094,9 +1091,8 @@
+@@ -1093,9 +1091,8 @@
  ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
  ;  (:return-type c-string))
  
@@ -70,33 +60,31 @@ index c960753..2993990 100644
 -; (def-call-out get_current_dir_name (:arguments)
 -;   (:return-type c-string :malloc-free))
 +(def-call-out get_current_dir_name (:arguments)
-+  (:return-type c-string :malloc-free) (:guard "defined(__USE_GNU)"))
++  (:return-type c-string :malloc-free))
  
  ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
  ;  (:return-type c-string))
-@@ -1324,8 +1320,8 @@
+@@ -1323,8 +1320,7 @@
  ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
  ;  (:return-type int))
  
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
-+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean)
-+   (:guard "defined(__USE_GNU)"))
++(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
  (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
  (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
    (:return-type int))
-@@ -1822,8 +1818,8 @@
+@@ -1821,8 +1817,7 @@
    (:return-type c-string :malloc-free))
  (def-call-out ungetc (:arguments (c int) (fp FILE))
    (:return-type int))
 -; You can uncomment this if your compiler sets __USE_GNU
 -; (def-call-out fcloseall (:arguments) (:return-type int))
-+(def-call-out fcloseall (:arguments) (:return-type int)
-+  (:guard "defined(__USE_GNU)"))
++(def-call-out fcloseall (:arguments) (:return-type int))
  (def-call-out fdopen (:arguments (fildes int) (mode c-string))
    (:return-type c-pointer))
  (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
-@@ -1901,11 +1897,11 @@ typedef __off64_t clisp_dirent_off_t;
+@@ -1900,11 +1895,11 @@
    (:return-type (c-ptr-null dirent)))
  (def-call-out readdir64 (:arguments (dirp c-pointer))
    (:return-type (c-ptr-null dirent64)))
@@ -110,13 +98,12 @@ index c960753..2993990 100644
      (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
                  (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
    (:return-type int))
-diff --git a/modules/bindings/glibc/test.tst b/modules/bindings/glibc/test.tst
-index f807389..b2c1222 100644
---- a/modules/bindings/glibc/test.tst
-+++ b/modules/bindings/glibc/test.tst
-@@ -5,6 +5,16 @@
- (progn (require "linux") T) T
- (listp (show (multiple-value-list (ext:module-info "linux" t)) :pretty t)) T
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
+--- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
+@@ -14,6 +14,16 @@
+ (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
+ (linux:closedir *d*) 0
  
 +(stringp (show (linux:get-domain-name))) T
 +(stringp (show (linux:get-host-name))) T
@@ -129,20 +116,11 @@ index f807389..b2c1222 100644
 +T
 +
  (defparameter *d* (show (linux:opendir "."))) *D*
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) "."
- (linux:dirent64-d_name (show (linux:readdir64 *d*))) ".."
-diff --git a/src/foreign1.lisp b/src/foreign1.lisp
-index 26a3ba5..0e43de7 100644
---- a/src/foreign1.lisp
-+++ b/src/foreign1.lisp
-@@ -1,6 +1,6 @@
- ;;; Foreign function interface for CLISP
- ;;; Bruno Haible 19.2.1995
--;;; Sam Steingold 1998-2010
-+;;; Sam Steingold 1998-2010, 2017
- 
- #+UNICODE
- (progn
+ (linux:dirent-d_name (show (linux:readdir *d*))) "."
+ (linux:dirent-d_name (show (linux:readdir *d*))) ".."
+diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
+--- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
 @@ -805,14 +805,17 @@
                  c-name (to-c-string c-name) (third variable) (first variable))
          (when *foreign-guard* (format *coutput-stream* "# endif~%"))))

diff --git a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch b/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
deleted file mode 100644
index 61d807e8..00000000
--- a/dev-lisp/clisp/files/clisp-2.50_pre20130414-bits_ipctypes_to_sys_ipc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
---- a/modules/bindings/glibc/linux.lisp	2008-10-08 19:36:19.000000000 +0300
-+++ b/modules/bindings/glibc/linux.lisp	2013-04-08 00:05:06.028305248 +0300
-@@ -86,7 +86,7 @@
- 
- (def-c-type __key_t)            ; int
- 
--(c-lines "#include <bits/ipctypes.h>~%")
-+(c-lines "#include <sys/ipc.h>~%")
- (def-c-type __ipc_pid_t)        ; ushort
- 
- ; --------------------------- <sys/types.h> -----------------------------------

diff --git a/dev-lisp/clisp/metadata.xml b/dev-lisp/clisp/metadata.xml
new file mode 100644
index 00000000..256106c8
--- /dev/null
+++ b/dev-lisp/clisp/metadata.xml
@@ -0,0 +1,31 @@
+<?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>
+CLISP is a Common Lisp implementation. It mostly supports the Lisp
+described in the ANSI Common Lisp standard.  It includes an
+interpreter, a compiler, almost all of CLOS, a foreign language
+interface and a socket interface. An X11 interface is available
+through CLX and Garnet. Command line editing is provided by readline.
+CLISP runs on microcomputers (OS/2, Windows 95/98/NT/2000/XP, Amiga
+500-4000, Acorn RISC PC) as well as on Unix workstations (GNU/Linux,
+BSD, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and
+others) and needs only 2 MB of RAM.  The user interface comes in
+German, English, French, Spanish, Dutch and Russian, and can be
+changed at run time.
+</longdescription>
+	<use>
+		<flag name="hyperspec">Use local hyperspec instead of online version</flag>
+		<flag name="new-clx">Build CLISP with support for the NEW-CLX module which is a
+C binding to the Xorg libraries</flag>
+		<flag name="pari">Build CLISP with support for the PARI Computer Algebra System</flag>
+		<flag name="svm">Build CLISP with support for the Support Vector Machine module</flag>
+	</use>
+	<upstream>
+		<remote-id type="sourceforge">clisp</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-06-21 10:52 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2018-06-21 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     753e7d9f0f8eca8b9851349bb1e80e519c5f12aa
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 10:53:07 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 10:53:07 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=753e7d9f

dev-lisp/clisp: Bump version to 2.49.92

 dev-lisp/clisp/clisp-2.49.92.ebuild                | 138 +++++++++++++++
 .../clisp-2.49.92-after_glibc_cfree_bdb.patch      | 185 +++++++++++++++++++++
 2 files changed, 323 insertions(+)

diff --git a/dev-lisp/clisp/clisp-2.49.92.ebuild b/dev-lisp/clisp/clisp-2.49.92.ebuild
new file mode 100644
index 00000000..08cc45fd
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.49.92.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
+HOMEPAGE="http://clisp.sourceforge.net/"
+SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2/8"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
+# "jit" disabled ATM
+
+RDEPEND=">=dev-lisp/asdf-2.33-r3
+		 virtual/libiconv
+		 >=dev-libs/libsigsegv-2.10
+		 >=dev-libs/ffcall-1.10
+		 dbus? ( sys-apps/dbus )
+		 fastcgi? ( dev-libs/fcgi )
+		 gdbm? ( sys-libs/gdbm )
+		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
+		 postgres? ( >=dev-db/postgresql-8.0:* )
+		 readline? ( >=sys-libs/readline-7.0:0= )
+		 pcre? ( dev-libs/libpcre:3 )
+		 svm? ( sci-libs/libsvm )
+		 zlib? ( sys-libs/zlib )
+		 X? ( x11-libs/libXpm )
+		 hyperspec? ( dev-lisp/hyperspec )
+		 berkdb? ( sys-libs/db:4.8 )"
+
+DEPEND="${RDEPEND}
+	X? ( x11-misc/imake x11-proto/xextproto )"
+
+enable_modules() {
+	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
+	for m in "$@" ; do
+		einfo "enabling module $m"
+		myconf+=" --with-module=${m}"
+	done
+}
+
+BUILDDIR="builddir"
+
+# modules not enabled:
+#  * berkdb: must figure out a way to make the configure script pick up the
+#            currect version of the library and headers
+#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
+#  * matlab, netica: not in portage
+#  * oracle: can't install oracle-instantclient
+
+src_prepare() {
+	# More than -O1 breaks alpha/ia64
+	if use alpha || use ia64; then
+		sed -i -e 's/-O2//g' src/makemake.in || die
+	fi
+	eapply "${FILESDIR}"/"${P}"-after_glibc_cfree_bdb.patch
+	eapply_user
+}
+
+src_configure() {
+	# We need this to build on alpha/ia64
+	if use alpha || use ia64; then
+		replace-flags -O? -O1
+	fi
+
+	if use x86; then
+		append-flags -falign-functions=4
+	fi
+
+	# built-in features
+	local myconf="--with-ffcall --without-dynamic-modules"
+#    There's a problem with jit_allocai function
+#    if use jit; then
+#        myconf+=" --with-jitc=lightning"
+#    fi
+	if use threads; then
+		myconf+=" --with-threads=POSIX_THREADS"
+	fi
+
+	# default modules
+	enable_modules rawsock
+	# optional modules
+	use elibc_glibc && enable_modules bindings/glibc
+	use X && enable_modules clx/new-clx
+	if use postgres; then
+		enable_modules postgresql
+		append-cppflags -I$(pg_config --includedir)
+	fi
+	if use berkdb; then
+		enable_modules berkeley-db
+		append-cppflags -I"${EPREFIX}"/usr/include/db4.8
+	fi
+	use dbus && enable_modules dbus
+	use fastcgi && enable_modules fastcgi
+	use gdbm && enable_modules gdbm
+	use gtk && enable_modules gtk2
+	use pcre && enable_modules pcre
+	use svm && enable_modules libsvm
+	use zlib && enable_modules zlib
+
+	if use hyperspec; then
+		CLHSROOT="file:///${EPREFIX}/usr/share/doc/hyperspec/HyperSpec/"
+	else
+		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
+	fi
+
+	# configure chokes on --sysconfdir option
+	local configure="./configure --prefix=${EPREFIX}/usr --enable-portability \
+		  --libdir=${EPREFIX}/usr/$(get_libdir) $(use_with readline) $(use_with unicode) \
+		  ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
+	einfo "${configure}"
+	${configure} || die "./configure failed"
+
+	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
+	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
+		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
+}
+
+src_compile() {
+	export VARTEXFONTS="${T}"/fonts
+	cd "${BUILDDIR}" || die
+	# parallel build fails
+	emake -j1
+}
+
+src_install() {
+	pushd "${BUILDDIR}"
+	make DESTDIR="${D}" prefix="${EPREFIX}"/usr install-bin || die "Installation failed"
+	doman clisp.1
+	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
+	popd
+	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
+	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
+}

diff --git a/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch
new file mode 100644
index 00000000..ae83bbb8
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch
@@ -0,0 +1,185 @@
+diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
+--- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
++++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
+@@ -2216,7 +2216,13 @@
+   c_data.compact_timeout = timeout;
+   c_data.compact_pages = pages;
+   SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
+-  pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
++  /* ====
++   * compact_empty_buckets is in bdb-5.3 as part of output stats
++   * however this version use bdb-4.8 which does not have it
++   * ====
++   *
++   * pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
++   * */
+   pushSTACK(uint32_to_I(c_data.compact_pages_free));
+   pushSTACK(uint32_to_I(c_data.compact_pages_examine));
+   pushSTACK(uint32_to_I(c_data.compact_levels));
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
+--- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
+@@ -1,7 +1,7 @@
+ ;; Foreign functions provided by the Linux C library version 6,
+ ;; i.e. the GNU C library version 2.0.7.
+ ;; Bruno Haible 10.4.1998, 19.4.1998
+-;; Sam Steingold 2002-2008, 2011
++;; Sam Steingold 2002-2008, 2011, 2013, 2016-2017
+ 
+ ;; NB: quite a few functions here have more portable counterparts in POSIX
+ 
+@@ -686,9 +686,8 @@
+ (def-call-out system? (:arguments (null c-string))
+   (:return-type boolean) (:name "system"))
+ 
+-; You can uncomment this if your compiler sets __USE_GNU
+-; (def-call-out canonicalize_file_name (:arguments (name c-string))
+-;  (:return-type c-string :malloc-free))
++(def-call-out canonicalize_file_name (:arguments (name c-string))
++ (:return-type c-string :malloc-free))
+ 
+ (def-call-out realpath
+     (:arguments (name c-string)
+@@ -1040,9 +1039,8 @@
+ (def-call-out access (:arguments (name c-string) (type int))
+   (:return-type int))
+ 
+-; You can uncomment this if your compiler sets __USE_GNU
+-; (def-call-out euidaccess (:arguments (name c-string) (type int))
+-;   (:return-type int))
++(def-call-out euidaccess (:arguments (name c-string) (type int))
++  (:return-type int))
+ 
+ (defconstant SEEK_SET 0)
+ (defconstant SEEK_CUR 1)
+@@ -1093,9 +1091,8 @@
+ ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
+ ;  (:return-type c-string))
+ 
+-; You can uncomment this if your compiler sets __USE_GNU
+-; (def-call-out get_current_dir_name (:arguments)
+-;   (:return-type c-string :malloc-free))
++(def-call-out get_current_dir_name (:arguments)
++  (:return-type c-string :malloc-free))
+ 
+ ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
+ ;  (:return-type c-string))
+@@ -1323,8 +1320,7 @@
+ ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
+ ;  (:return-type int))
+ 
+-; You can uncomment this if your compiler sets __USE_GNU
+-; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
++(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
+ (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
+ (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
+   (:return-type int))
+@@ -1821,8 +1817,7 @@
+   (:return-type c-string :malloc-free))
+ (def-call-out ungetc (:arguments (c int) (fp FILE))
+   (:return-type int))
+-; You can uncomment this if your compiler sets __USE_GNU
+-; (def-call-out fcloseall (:arguments) (:return-type int))
++(def-call-out fcloseall (:arguments) (:return-type int))
+ (def-call-out fdopen (:arguments (fildes int) (mode c-string))
+   (:return-type c-pointer))
+ (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
+@@ -1900,11 +1895,11 @@
+   (:return-type (c-ptr-null dirent)))
+ (def-call-out readdir64 (:arguments (dirp c-pointer))
+   (:return-type (c-ptr-null dirent64)))
+-(def-call-out readdir_r
++(def-call-out readdir_r                 ; deprecated
+     (:arguments (dirp c-pointer) (entry (c-ptr dirent) :out :alloca)
+                 (result (c-ptr (c-ptr dirent)) :out :alloca)) ; ??
+   (:return-type int))
+-(def-call-out readdir64_r
++(def-call-out readdir64_r               ; deprecated
+     (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
+                 (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
+   (:return-type int))
+diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
+--- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
+@@ -14,6 +14,16 @@
+ (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
+ (linux:closedir *d*) 0
+ 
++(stringp (show (linux:get-domain-name))) T
++(stringp (show (linux:get-host-name))) T
++
++;; usually __USE_GNU is defined, so this should work:
++(let* ((d (linux:get_current_dir_name))
++       (c (linux:canonicalize_file_name (concatenate 'string d "/."))))
++  (or (string= d c)
++      (list :cur-dir d :canonical c)))
++T
++
+ (defparameter *d* (show (linux:opendir "."))) *D*
+ (linux:dirent-d_name (show (linux:readdir *d*))) "."
+ (linux:dirent-d_name (show (linux:readdir *d*))) ".."
+diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
+--- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
++++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
+@@ -805,14 +805,17 @@
+                 c-name (to-c-string c-name) (third variable) (first variable))
+         (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
+     (dolist (function *function-list*)
+-      (let ((c-name (first function)))
+-        (when *foreign-guard*
+-          (format *coutput-stream* "# if defined(HAVE_~A)~%"
+-                  (string-upcase c-name)))
++      (let ((c-name (first function))
++            (guard (fourth function)))
++        (when guard
++          (format *coutput-stream* "# if ~A~%"
++                  (if (eq guard t)
++                      (format nil "defined(HAVE_~A)" (string-upcase c-name))
++                      guard)))
+         (format *coutput-stream*
+                 "  register_foreign_function((void*)&~A,~A,~D);~%"
+                 c-name (to-c-string c-name) (svref (second function) 3))
+-        (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
++        (when guard (format *coutput-stream* "# endif~%"))))
+     (maphash (lambda (type fun-vec)
+                (declare (ignore type))
+                (let ((c-name (to-c-name (car fun-vec))))
+@@ -1083,7 +1086,7 @@
+ (defmacro DEF-CALL-OUT (&whole whole-form name &rest options)
+   (setq name (check-symbol name (first whole-form)))
+   (let* ((alist
+-          (parse-options options '(:name :arguments :return-type :language
++          (parse-options options '(:name :arguments :return-type :language :guard
+                                    :built-in :library :version :documentation)
+                          whole-form))
+          (def (gensym "DEF-CALL-OUT-"))
+@@ -1095,6 +1098,7 @@
+          (version (second (assoc :version alist)))
+          (c-name (foreign-name name (assoc :name alist)))
+          (built-in (second (assoc :built-in alist)))
++         (guard (get-assoc :guard alist '*foreign-guard*))
+          ;; Maximize sharing in .fas file, reuse options
+          ;; parse-c-function ignores unknown options, e.g. :name
+          (ctype `(PARSE-C-FUNCTION ',options ',whole-form)))
+@@ -1102,7 +1106,7 @@
+                   ',c-name ,ctype ',properties ,library ,version NIL)))
+        (EXT:COMPILER-LET ((,def ,ctype))
+          (EVAL-WHEN (COMPILE)
+-           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in)))
++           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in ,guard)))
+          (SYSTEM::EVAL-WHEN-COMPILE
+            (SYSTEM::C-DEFUN ',name (C-TYPE-TO-SIGNATURE ,ctype))))
+        (WHEN ,def                       ; found library function
+@@ -1110,10 +1114,10 @@
+          (SYSTEM::%PUTD ',name ,def))
+        ',name)))
+ 
+-(defun note-c-fun (c-name ctype built-in) ; not ABI, compile-time only
++(defun note-c-fun (c-name ctype built-in guard) ; not ABI, compile-time only
+   (when (system::prepare-coutput-file)
+     (prepare-module)
+-    (push (list c-name ctype built-in)
++    (push (list c-name ctype built-in guard)
+           *function-list*)))
+ 
+ (defun count-inarguments (arg-vector)


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-06-21 11:03 José María Alonso
  0 siblings, 0 replies; 7+ messages in thread
From: José María Alonso @ 2018-06-21 11:03 UTC (permalink / raw
  To: gentoo-commits

commit:     e892129ccbb700e353d0b709911ea73ca49f318d
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 11:04:18 2018 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 11:04:18 2018 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=e892129c

dev-lisp/clisp: Drop old version and update version 2.49.92

 dev-lisp/clisp/clisp-2.49.90.ebuild                | 138 ---------------
 dev-lisp/clisp/clisp-2.49.92.ebuild                |   8 +-
 .../clisp-2.49.90-after_glibc_cfree_bdb.patch      | 185 ---------------------
 3 files changed, 5 insertions(+), 326 deletions(-)

diff --git a/dev-lisp/clisp/clisp-2.49.90.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
deleted file mode 100644
index 08cc45fd..00000000
--- a/dev-lisp/clisp/clisp-2.49.90.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/8"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
-# "jit" disabled ATM
-
-RDEPEND=">=dev-lisp/asdf-2.33-r3
-		 virtual/libiconv
-		 >=dev-libs/libsigsegv-2.10
-		 >=dev-libs/ffcall-1.10
-		 dbus? ( sys-apps/dbus )
-		 fastcgi? ( dev-libs/fcgi )
-		 gdbm? ( sys-libs/gdbm )
-		 gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
-		 postgres? ( >=dev-db/postgresql-8.0:* )
-		 readline? ( >=sys-libs/readline-7.0:0= )
-		 pcre? ( dev-libs/libpcre:3 )
-		 svm? ( sci-libs/libsvm )
-		 zlib? ( sys-libs/zlib )
-		 X? ( x11-libs/libXpm )
-		 hyperspec? ( dev-lisp/hyperspec )
-		 berkdb? ( sys-libs/db:4.8 )"
-
-DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
-
-enable_modules() {
-	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
-	for m in "$@" ; do
-		einfo "enabling module $m"
-		myconf+=" --with-module=${m}"
-	done
-}
-
-BUILDDIR="builddir"
-
-# modules not enabled:
-#  * berkdb: must figure out a way to make the configure script pick up the
-#            currect version of the library and headers
-#  * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
-#  * matlab, netica: not in portage
-#  * oracle: can't install oracle-instantclient
-
-src_prepare() {
-	# More than -O1 breaks alpha/ia64
-	if use alpha || use ia64; then
-		sed -i -e 's/-O2//g' src/makemake.in || die
-	fi
-	eapply "${FILESDIR}"/"${P}"-after_glibc_cfree_bdb.patch
-	eapply_user
-}
-
-src_configure() {
-	# We need this to build on alpha/ia64
-	if use alpha || use ia64; then
-		replace-flags -O? -O1
-	fi
-
-	if use x86; then
-		append-flags -falign-functions=4
-	fi
-
-	# built-in features
-	local myconf="--with-ffcall --without-dynamic-modules"
-#    There's a problem with jit_allocai function
-#    if use jit; then
-#        myconf+=" --with-jitc=lightning"
-#    fi
-	if use threads; then
-		myconf+=" --with-threads=POSIX_THREADS"
-	fi
-
-	# default modules
-	enable_modules rawsock
-	# optional modules
-	use elibc_glibc && enable_modules bindings/glibc
-	use X && enable_modules clx/new-clx
-	if use postgres; then
-		enable_modules postgresql
-		append-cppflags -I$(pg_config --includedir)
-	fi
-	if use berkdb; then
-		enable_modules berkeley-db
-		append-cppflags -I"${EPREFIX}"/usr/include/db4.8
-	fi
-	use dbus && enable_modules dbus
-	use fastcgi && enable_modules fastcgi
-	use gdbm && enable_modules gdbm
-	use gtk && enable_modules gtk2
-	use pcre && enable_modules pcre
-	use svm && enable_modules libsvm
-	use zlib && enable_modules zlib
-
-	if use hyperspec; then
-		CLHSROOT="file:///${EPREFIX}/usr/share/doc/hyperspec/HyperSpec/"
-	else
-		CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
-	fi
-
-	# configure chokes on --sysconfdir option
-	local configure="./configure --prefix=${EPREFIX}/usr --enable-portability \
-		  --libdir=${EPREFIX}/usr/$(get_libdir) $(use_with readline) $(use_with unicode) \
-		  ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
-	einfo "${configure}"
-	${configure} || die "./configure failed"
-
-	IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
-	sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
-		"${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
-}
-
-src_compile() {
-	export VARTEXFONTS="${T}"/fonts
-	cd "${BUILDDIR}" || die
-	# parallel build fails
-	emake -j1
-}
-
-src_install() {
-	pushd "${BUILDDIR}"
-	make DESTDIR="${D}" prefix="${EPREFIX}"/usr install-bin || die "Installation failed"
-	doman clisp.1
-	dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
-	popd
-	dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
-	dodoc doc/{CLOS-guide,LISP-tutorial}.txt
-}

diff --git a/dev-lisp/clisp/clisp-2.49.92.ebuild b/dev-lisp/clisp/clisp-2.49.92.ebuild
index 08cc45fd..8bf41b36 100644
--- a/dev-lisp/clisp/clisp-2.49.92.ebuild
+++ b/dev-lisp/clisp/clisp-2.49.92.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-inherit eutils flag-o-matic multilib toolchain-funcs
+inherit eutils flag-o-matic multilib toolchain-funcs xdg-utils
 
 DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
 HOMEPAGE="http://clisp.sourceforge.net/"
@@ -11,7 +11,7 @@ SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
 
 LICENSE="GPL-2"
 SLOT="2/8"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
 IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
 # "jit" disabled ATM
 
@@ -33,7 +33,7 @@ RDEPEND=">=dev-lisp/asdf-2.33-r3
 		 berkdb? ( sys-libs/db:4.8 )"
 
 DEPEND="${RDEPEND}
-	X? ( x11-misc/imake x11-proto/xextproto )"
+	X? ( x11-base/xorg-proto x11-misc/imake )"
 
 enable_modules() {
 	[[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
@@ -59,6 +59,8 @@ src_prepare() {
 	fi
 	eapply "${FILESDIR}"/"${P}"-after_glibc_cfree_bdb.patch
 	eapply_user
+
+	xdg_environment_reset
 }
 
 src_configure() {

diff --git a/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
deleted file mode 100644
index ae83bbb8..00000000
--- a/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
---- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
-+++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
-@@ -2216,7 +2216,13 @@
-   c_data.compact_timeout = timeout;
-   c_data.compact_pages = pages;
-   SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
--  pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
-+  /* ====
-+   * compact_empty_buckets is in bdb-5.3 as part of output stats
-+   * however this version use bdb-4.8 which does not have it
-+   * ====
-+   *
-+   * pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
-+   * */
-   pushSTACK(uint32_to_I(c_data.compact_pages_free));
-   pushSTACK(uint32_to_I(c_data.compact_pages_examine));
-   pushSTACK(uint32_to_I(c_data.compact_levels));
-diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
---- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
-+++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
-@@ -1,7 +1,7 @@
- ;; Foreign functions provided by the Linux C library version 6,
- ;; i.e. the GNU C library version 2.0.7.
- ;; Bruno Haible 10.4.1998, 19.4.1998
--;; Sam Steingold 2002-2008, 2011
-+;; Sam Steingold 2002-2008, 2011, 2013, 2016-2017
- 
- ;; NB: quite a few functions here have more portable counterparts in POSIX
- 
-@@ -686,9 +686,8 @@
- (def-call-out system? (:arguments (null c-string))
-   (:return-type boolean) (:name "system"))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out canonicalize_file_name (:arguments (name c-string))
--;  (:return-type c-string :malloc-free))
-+(def-call-out canonicalize_file_name (:arguments (name c-string))
-+ (:return-type c-string :malloc-free))
- 
- (def-call-out realpath
-     (:arguments (name c-string)
-@@ -1040,9 +1039,8 @@
- (def-call-out access (:arguments (name c-string) (type int))
-   (:return-type int))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out euidaccess (:arguments (name c-string) (type int))
--;   (:return-type int))
-+(def-call-out euidaccess (:arguments (name c-string) (type int))
-+  (:return-type int))
- 
- (defconstant SEEK_SET 0)
- (defconstant SEEK_CUR 1)
-@@ -1093,9 +1091,8 @@
- ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
- ;  (:return-type c-string))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out get_current_dir_name (:arguments)
--;   (:return-type c-string :malloc-free))
-+(def-call-out get_current_dir_name (:arguments)
-+  (:return-type c-string :malloc-free))
- 
- ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
- ;  (:return-type c-string))
-@@ -1323,8 +1320,7 @@
- ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
- ;  (:return-type int))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
-+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
- (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
- (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
-   (:return-type int))
-@@ -1821,8 +1817,7 @@
-   (:return-type c-string :malloc-free))
- (def-call-out ungetc (:arguments (c int) (fp FILE))
-   (:return-type int))
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out fcloseall (:arguments) (:return-type int))
-+(def-call-out fcloseall (:arguments) (:return-type int))
- (def-call-out fdopen (:arguments (fildes int) (mode c-string))
-   (:return-type c-pointer))
- (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
-@@ -1900,11 +1895,11 @@
-   (:return-type (c-ptr-null dirent)))
- (def-call-out readdir64 (:arguments (dirp c-pointer))
-   (:return-type (c-ptr-null dirent64)))
--(def-call-out readdir_r
-+(def-call-out readdir_r                 ; deprecated
-     (:arguments (dirp c-pointer) (entry (c-ptr dirent) :out :alloca)
-                 (result (c-ptr (c-ptr dirent)) :out :alloca)) ; ??
-   (:return-type int))
--(def-call-out readdir64_r
-+(def-call-out readdir64_r               ; deprecated
-     (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
-                 (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
-   (:return-type int))
-diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
---- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
-+++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
-@@ -14,6 +14,16 @@
- (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
- (linux:closedir *d*) 0
- 
-+(stringp (show (linux:get-domain-name))) T
-+(stringp (show (linux:get-host-name))) T
-+
-+;; usually __USE_GNU is defined, so this should work:
-+(let* ((d (linux:get_current_dir_name))
-+       (c (linux:canonicalize_file_name (concatenate 'string d "/."))))
-+  (or (string= d c)
-+      (list :cur-dir d :canonical c)))
-+T
-+
- (defparameter *d* (show (linux:opendir "."))) *D*
- (linux:dirent-d_name (show (linux:readdir *d*))) "."
- (linux:dirent-d_name (show (linux:readdir *d*))) ".."
-diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
---- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
-+++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
-@@ -805,14 +805,17 @@
-                 c-name (to-c-string c-name) (third variable) (first variable))
-         (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
-     (dolist (function *function-list*)
--      (let ((c-name (first function)))
--        (when *foreign-guard*
--          (format *coutput-stream* "# if defined(HAVE_~A)~%"
--                  (string-upcase c-name)))
-+      (let ((c-name (first function))
-+            (guard (fourth function)))
-+        (when guard
-+          (format *coutput-stream* "# if ~A~%"
-+                  (if (eq guard t)
-+                      (format nil "defined(HAVE_~A)" (string-upcase c-name))
-+                      guard)))
-         (format *coutput-stream*
-                 "  register_foreign_function((void*)&~A,~A,~D);~%"
-                 c-name (to-c-string c-name) (svref (second function) 3))
--        (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
-+        (when guard (format *coutput-stream* "# endif~%"))))
-     (maphash (lambda (type fun-vec)
-                (declare (ignore type))
-                (let ((c-name (to-c-name (car fun-vec))))
-@@ -1083,7 +1086,7 @@
- (defmacro DEF-CALL-OUT (&whole whole-form name &rest options)
-   (setq name (check-symbol name (first whole-form)))
-   (let* ((alist
--          (parse-options options '(:name :arguments :return-type :language
-+          (parse-options options '(:name :arguments :return-type :language :guard
-                                    :built-in :library :version :documentation)
-                          whole-form))
-          (def (gensym "DEF-CALL-OUT-"))
-@@ -1095,6 +1098,7 @@
-          (version (second (assoc :version alist)))
-          (c-name (foreign-name name (assoc :name alist)))
-          (built-in (second (assoc :built-in alist)))
-+         (guard (get-assoc :guard alist '*foreign-guard*))
-          ;; Maximize sharing in .fas file, reuse options
-          ;; parse-c-function ignores unknown options, e.g. :name
-          (ctype `(PARSE-C-FUNCTION ',options ',whole-form)))
-@@ -1102,7 +1106,7 @@
-                   ',c-name ,ctype ',properties ,library ,version NIL)))
-        (EXT:COMPILER-LET ((,def ,ctype))
-          (EVAL-WHEN (COMPILE)
--           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in)))
-+           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in ,guard)))
-          (SYSTEM::EVAL-WHEN-COMPILE
-            (SYSTEM::C-DEFUN ',name (C-TYPE-TO-SIGNATURE ,ctype))))
-        (WHEN ,def                       ; found library function
-@@ -1110,10 +1114,10 @@
-          (SYSTEM::%PUTD ',name ,def))
-        ',name)))
- 
--(defun note-c-fun (c-name ctype built-in) ; not ABI, compile-time only
-+(defun note-c-fun (c-name ctype built-in guard) ; not ABI, compile-time only
-   (when (system::prepare-coutput-file)
-     (prepare-module)
--    (push (list c-name ctype built-in)
-+    (push (list c-name ctype built-in guard)
-           *function-list*)))
- 
- (defun count-inarguments (arg-vector)


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2019-06-15 10:47 Cyprien Nicolas
  0 siblings, 0 replies; 7+ messages in thread
From: Cyprien Nicolas @ 2019-06-15 10:47 UTC (permalink / raw
  To: gentoo-commits

commit:     7631303ac7e17863314394f566559706db415e4c
Author:     Cyprien Nicolas (fulax) <gentoo <AT> fulax <DOT> fr>
AuthorDate: Sat Jun 15 10:46:59 2019 +0000
Commit:     Cyprien Nicolas <c.nicolas+gentoo <AT> gmail <DOT> com>
CommitDate: Sat Jun 15 10:46:59 2019 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=7631303a

dev-lisp/clisp: Drop 2.49.92 (stable in tree); Add -9999

Package-Manager: Portage-2.3.66, Repoman-2.3.11

 .../{clisp-2.49.92.ebuild => clisp-9999.ebuild}    |  10 +-
 .../clisp-2.49.92-after_glibc_cfree_bdb.patch      | 185 ---------------------
 .../files/clisp-9999-after_glibc_cfree_bdb.patch   |  18 ++
 3 files changed, 24 insertions(+), 189 deletions(-)

diff --git a/dev-lisp/clisp/clisp-2.49.92.ebuild b/dev-lisp/clisp/clisp-9999.ebuild
similarity index 94%
rename from dev-lisp/clisp/clisp-2.49.92.ebuild
rename to dev-lisp/clisp/clisp-9999.ebuild
index 83c982ee..3904c794 100644
--- a/dev-lisp/clisp/clisp-2.49.92.ebuild
+++ b/dev-lisp/clisp/clisp-9999.ebuild
@@ -1,17 +1,19 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 
 inherit eutils flag-o-matic multilib toolchain-funcs xdg-utils
+inherit git-r3
 
 DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="http://clisp.sourceforge.net/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
+HOMEPAGE="http://clisp.sourceforge.net/ https://gitlab.com/gnu-clisp/clisp"
+#SRC_URI="mirror://gentoo/${P}.tar.bz2"
+EGIT_REPO_URI="https://gitlab.com/gnu-clisp/clisp.git"
 
 LICENSE="GPL-2"
 SLOT="2/8"
-KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS=""
 IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
 # "jit" disabled ATM
 

diff --git a/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch
deleted file mode 100644
index ae83bbb8..00000000
--- a/dev-lisp/clisp/files/clisp-2.49.92-after_glibc_cfree_bdb.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
---- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
-+++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
-@@ -2216,7 +2216,13 @@
-   c_data.compact_timeout = timeout;
-   c_data.compact_pages = pages;
-   SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
--  pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
-+  /* ====
-+   * compact_empty_buckets is in bdb-5.3 as part of output stats
-+   * however this version use bdb-4.8 which does not have it
-+   * ====
-+   *
-+   * pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
-+   * */
-   pushSTACK(uint32_to_I(c_data.compact_pages_free));
-   pushSTACK(uint32_to_I(c_data.compact_pages_examine));
-   pushSTACK(uint32_to_I(c_data.compact_levels));
-diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
---- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp	2018-01-10 00:32:25.000000000 +0100
-+++ clisp-2.49.90/modules/bindings/glibc/linux.lisp	2018-02-12 20:48:22.467775536 +0100
-@@ -1,7 +1,7 @@
- ;; Foreign functions provided by the Linux C library version 6,
- ;; i.e. the GNU C library version 2.0.7.
- ;; Bruno Haible 10.4.1998, 19.4.1998
--;; Sam Steingold 2002-2008, 2011
-+;; Sam Steingold 2002-2008, 2011, 2013, 2016-2017
- 
- ;; NB: quite a few functions here have more portable counterparts in POSIX
- 
-@@ -686,9 +686,8 @@
- (def-call-out system? (:arguments (null c-string))
-   (:return-type boolean) (:name "system"))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out canonicalize_file_name (:arguments (name c-string))
--;  (:return-type c-string :malloc-free))
-+(def-call-out canonicalize_file_name (:arguments (name c-string))
-+ (:return-type c-string :malloc-free))
- 
- (def-call-out realpath
-     (:arguments (name c-string)
-@@ -1040,9 +1039,8 @@
- (def-call-out access (:arguments (name c-string) (type int))
-   (:return-type int))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out euidaccess (:arguments (name c-string) (type int))
--;   (:return-type int))
-+(def-call-out euidaccess (:arguments (name c-string) (type int))
-+  (:return-type int))
- 
- (defconstant SEEK_SET 0)
- (defconstant SEEK_CUR 1)
-@@ -1093,9 +1091,8 @@
- ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
- ;  (:return-type c-string))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out get_current_dir_name (:arguments)
--;   (:return-type c-string :malloc-free))
-+(def-call-out get_current_dir_name (:arguments)
-+  (:return-type c-string :malloc-free))
- 
- ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
- ;  (:return-type c-string))
-@@ -1323,8 +1320,7 @@
- ;    (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
- ;  (:return-type int))
- 
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
-+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
- (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
- (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
-   (:return-type int))
-@@ -1821,8 +1817,7 @@
-   (:return-type c-string :malloc-free))
- (def-call-out ungetc (:arguments (c int) (fp FILE))
-   (:return-type int))
--; You can uncomment this if your compiler sets __USE_GNU
--; (def-call-out fcloseall (:arguments) (:return-type int))
-+(def-call-out fcloseall (:arguments) (:return-type int))
- (def-call-out fdopen (:arguments (fildes int) (mode c-string))
-   (:return-type c-pointer))
- (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
-@@ -1900,11 +1895,11 @@
-   (:return-type (c-ptr-null dirent)))
- (def-call-out readdir64 (:arguments (dirp c-pointer))
-   (:return-type (c-ptr-null dirent64)))
--(def-call-out readdir_r
-+(def-call-out readdir_r                 ; deprecated
-     (:arguments (dirp c-pointer) (entry (c-ptr dirent) :out :alloca)
-                 (result (c-ptr (c-ptr dirent)) :out :alloca)) ; ??
-   (:return-type int))
--(def-call-out readdir64_r
-+(def-call-out readdir64_r               ; deprecated
-     (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
-                 (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
-   (:return-type int))
-diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
---- clisp-2.49.90.orig/modules/bindings/glibc/test.tst	2018-01-10 00:04:26.000000000 +0100
-+++ clisp-2.49.90/modules/bindings/glibc/test.tst	2018-02-12 20:50:48.225769407 +0100
-@@ -14,6 +14,16 @@
- (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
- (linux:closedir *d*) 0
- 
-+(stringp (show (linux:get-domain-name))) T
-+(stringp (show (linux:get-host-name))) T
-+
-+;; usually __USE_GNU is defined, so this should work:
-+(let* ((d (linux:get_current_dir_name))
-+       (c (linux:canonicalize_file_name (concatenate 'string d "/."))))
-+  (or (string= d c)
-+      (list :cur-dir d :canonical c)))
-+T
-+
- (defparameter *d* (show (linux:opendir "."))) *D*
- (linux:dirent-d_name (show (linux:readdir *d*))) "."
- (linux:dirent-d_name (show (linux:readdir *d*))) ".."
-diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
---- clisp-2.49.90.orig/src/foreign1.lisp	2018-01-10 00:04:26.000000000 +0100
-+++ clisp-2.49.90/src/foreign1.lisp	2018-02-12 21:03:56.768736245 +0100
-@@ -805,14 +805,17 @@
-                 c-name (to-c-string c-name) (third variable) (first variable))
-         (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
-     (dolist (function *function-list*)
--      (let ((c-name (first function)))
--        (when *foreign-guard*
--          (format *coutput-stream* "# if defined(HAVE_~A)~%"
--                  (string-upcase c-name)))
-+      (let ((c-name (first function))
-+            (guard (fourth function)))
-+        (when guard
-+          (format *coutput-stream* "# if ~A~%"
-+                  (if (eq guard t)
-+                      (format nil "defined(HAVE_~A)" (string-upcase c-name))
-+                      guard)))
-         (format *coutput-stream*
-                 "  register_foreign_function((void*)&~A,~A,~D);~%"
-                 c-name (to-c-string c-name) (svref (second function) 3))
--        (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
-+        (when guard (format *coutput-stream* "# endif~%"))))
-     (maphash (lambda (type fun-vec)
-                (declare (ignore type))
-                (let ((c-name (to-c-name (car fun-vec))))
-@@ -1083,7 +1086,7 @@
- (defmacro DEF-CALL-OUT (&whole whole-form name &rest options)
-   (setq name (check-symbol name (first whole-form)))
-   (let* ((alist
--          (parse-options options '(:name :arguments :return-type :language
-+          (parse-options options '(:name :arguments :return-type :language :guard
-                                    :built-in :library :version :documentation)
-                          whole-form))
-          (def (gensym "DEF-CALL-OUT-"))
-@@ -1095,6 +1098,7 @@
-          (version (second (assoc :version alist)))
-          (c-name (foreign-name name (assoc :name alist)))
-          (built-in (second (assoc :built-in alist)))
-+         (guard (get-assoc :guard alist '*foreign-guard*))
-          ;; Maximize sharing in .fas file, reuse options
-          ;; parse-c-function ignores unknown options, e.g. :name
-          (ctype `(PARSE-C-FUNCTION ',options ',whole-form)))
-@@ -1102,7 +1106,7 @@
-                   ',c-name ,ctype ',properties ,library ,version NIL)))
-        (EXT:COMPILER-LET ((,def ,ctype))
-          (EVAL-WHEN (COMPILE)
--           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in)))
-+           (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in ,guard)))
-          (SYSTEM::EVAL-WHEN-COMPILE
-            (SYSTEM::C-DEFUN ',name (C-TYPE-TO-SIGNATURE ,ctype))))
-        (WHEN ,def                       ; found library function
-@@ -1110,10 +1114,10 @@
-          (SYSTEM::%PUTD ',name ,def))
-        ',name)))
- 
--(defun note-c-fun (c-name ctype built-in) ; not ABI, compile-time only
-+(defun note-c-fun (c-name ctype built-in guard) ; not ABI, compile-time only
-   (when (system::prepare-coutput-file)
-     (prepare-module)
--    (push (list c-name ctype built-in)
-+    (push (list c-name ctype built-in guard)
-           *function-list*)))
- 
- (defun count-inarguments (arg-vector)

diff --git a/dev-lisp/clisp/files/clisp-9999-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-9999-after_glibc_cfree_bdb.patch
new file mode 100644
index 00000000..84645d71
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-9999-after_glibc_cfree_bdb.patch
@@ -0,0 +1,18 @@
+diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
+--- clisp-2.49.90.orig/modules/berkeley-db/bdb.c	2018-01-27 12:03:01.000000000 +0100
++++ clisp-2.49.90/modules/berkeley-db/bdb.c	2018-02-12 20:37:24.203803219 +0100
+@@ -2216,7 +2216,13 @@
+   c_data.compact_timeout = timeout;
+   c_data.compact_pages = pages;
+   SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
+-  pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
++  /* ====
++   * compact_empty_buckets is in bdb-5.3 as part of output stats
++   * however this version use bdb-4.8 which does not have it
++   * ====
++   *
++   * pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
++   * */
+   pushSTACK(uint32_to_I(c_data.compact_pages_free));
+   pushSTACK(uint32_to_I(c_data.compact_pages_examine));
+   pushSTACK(uint32_to_I(c_data.compact_levels));


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-06-15 10:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-19 18:36 [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/ José María Alonso
  -- strict thread matches above, loose matches on Subject: below --
2019-06-15 10:47 Cyprien Nicolas
2018-06-21 11:03 José María Alonso
2018-06-21 10:52 José María Alonso
2018-03-09 21:36 José María Alonso
2018-03-09 17:41 José María Alonso
2017-10-06 15:39 José María Alonso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox