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

Reply via email to