* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2017-12-11 18:56 José María Alonso
0 siblings, 0 replies; 3+ messages in thread
From: José María Alonso @ 2017-12-11 18:56 UTC (permalink / raw
To: gentoo-commits
commit: a08b6eec14e224be89311a9bfe52fbfe298dfe73
Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 18:55:57 2017 +0000
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 18:55:57 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a08b6eec
dev-lisp/clisp: Bumps version to 2.49.60
Bug: https://bugs.gentoo.org/638942
Package-Manager: Portage-2.3.13, Repoman-2.3.3
dev-lisp/clisp/Manifest | 1 +
dev-lisp/clisp/clisp-2.49.60.ebuild | 147 +++++++++++++++
.../clisp-2.49.60-after_glibc_cfree_bdb.patch | 207 +++++++++++++++++++++
3 files changed, 355 insertions(+)
diff --git a/dev-lisp/clisp/Manifest b/dev-lisp/clisp/Manifest
index 670c7cbe49f..4b0e12dda85 100644
--- a/dev-lisp/clisp/Manifest
+++ b/dev-lisp/clisp/Manifest
@@ -1,2 +1,3 @@
DIST clisp-2.48.tar.bz2 7885098 BLAKE2B 42ebfe4721015f522184bce710bf95d79aa7f2a239410af249a8e85d80f140344ec80daaa34f7cdbfd2ae86407984657163ce3f6e4201eb132f7c71e21523cba SHA512 3288b6a2973c924006b14bbed1e8e3e688276a187ac2a6c7851dc7ae699e7832d30e5e7eecdabc76c08c7e8e8ce1b562eb97a44570d3035e558ea2310de2b719
+DIST clisp-2.49.60.tar.bz2 8745713 BLAKE2B 5dffd594c6d00c2057a98e3f93c888cd5cdc60009cd8fc987e39ff5182e71e575e148839d9c973fbfd0842b82ddf1b5918e86d128d9c79f6d0d4b6afcdc5853f SHA512 656cd59a23ba9be5304a6e0d64d79ac518072c431820b8cf95759fa8f3a66e2efe4d07939315b93e5e06b6e5348d8b32739b129a9e8ac0dc362dd5d1f1eb8aa8
DIST clisp-2.49.tar.bz2 8091011 BLAKE2B e034c581b8100837b34d0adf1ef45bd667272d062945875175958178b4ef5b11e899dfb76505eb8cb51fca6101c11a9f21fb2cc9a78a3c0f82b06166211434f7 SHA512 eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81
diff --git a/dev-lisp/clisp/clisp-2.49.60.ebuild b/dev-lisp/clisp/clisp-2.49.60.ebuild
new file mode 100644
index 00000000000..84dc47a3bc6
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.49.60.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2017 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/clisp-2.49.60.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.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 )
+ 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 )"
+
+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
+ 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 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 --enable-portability \
+ --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}" || die
+ # 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.60-after_glibc_cfree_bdb.patch b/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
new file mode 100644
index 00000000000..3ab075badf4
--- /dev/null
+++ b/dev-lisp/clisp/files/clisp-2.49.60-after_glibc_cfree_bdb.patch
@@ -0,0 +1,207 @@
+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 \
+ 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 --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
+@@ -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
+
+@@ -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 @@
+ (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) (:guard "defined(__USE_GNU)"))
+
+ (def-call-out realpath
+ (:arguments (name c-string)
+@@ -1041,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) (:guard "defined(__USE_GNU)"))
+
+ (defconstant SEEK_SET 0)
+ (defconstant SEEK_CUR 1)
+@@ -1094,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) (:guard "defined(__USE_GNU)"))
+
+ ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
+ ; (:return-type c-string))
+@@ -1324,8 +1320,8 @@
+ ; (: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 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 @@
+ (: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 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;
+ (: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 --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
+
++(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: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
+@@ -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] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2018-06-21 14:03 José María Alonso
0 siblings, 0 replies; 3+ messages in thread
From: José María Alonso @ 2018-06-21 14:03 UTC (permalink / raw
To: gentoo-commits
commit: 080f9f56e048dcd610fb80f6a64c7e46c0cbe1f1
Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 14:03:23 2018 +0000
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 14:03:23 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=080f9f56
dev-lisp/clisp: Bump version to 2.49.92
Package-Manager: Portage-2.3.40, Repoman-2.3.9
dev-lisp/clisp/Manifest | 1 +
dev-lisp/clisp/clisp-2.49.92.ebuild | 140 ++++++++++++++++
.../clisp-2.49.92-after_glibc_cfree_bdb.patch | 185 +++++++++++++++++++++
3 files changed, 326 insertions(+)
diff --git a/dev-lisp/clisp/Manifest b/dev-lisp/clisp/Manifest
index d129865f6d1..3391fe4098a 100644
--- a/dev-lisp/clisp/Manifest
+++ b/dev-lisp/clisp/Manifest
@@ -1,3 +1,4 @@
DIST clisp-2.48.tar.bz2 7885098 BLAKE2B 42ebfe4721015f522184bce710bf95d79aa7f2a239410af249a8e85d80f140344ec80daaa34f7cdbfd2ae86407984657163ce3f6e4201eb132f7c71e21523cba SHA512 3288b6a2973c924006b14bbed1e8e3e688276a187ac2a6c7851dc7ae699e7832d30e5e7eecdabc76c08c7e8e8ce1b562eb97a44570d3035e558ea2310de2b719
DIST clisp-2.49.90.tar.bz2 8921458 BLAKE2B 3be7cfe41038f42d8844d500877fa5c20e5c21dc0e162aa0018b297e4dfcd5374ef608793c9d809852e1f9885a155bb5b25fef8efe66016dd0ee400007386b70 SHA512 1fa7205e38883dcc863160b5418ddaaa2c45ee2d2f936de4067d1ea4a1e5043bf1235361bbbfc366afd6d8f1144497ccdccf1767ecf327f7a672b18742ceb651
+DIST clisp-2.49.92.tar.bz2 9055207 BLAKE2B 6cf331eb9f99f62579e35469e2d01cae066083592ccc71cf483b70b4d1be349cdee9d403e0a7ed1ad1c8c5d805c1dab51c1a5031d77469ff8c4dc52eb58913df SHA512 cc9412a7b3f21c85b040bf5e660380fafb3c2374765a1c00272feb3f7838f2161e27a5d6295cef9976f0c4522f10796cf5ee5447716090d1cc69ecfe598ef306
DIST clisp-2.49.tar.bz2 8091011 BLAKE2B e034c581b8100837b34d0adf1ef45bd667272d062945875175958178b4ef5b11e899dfb76505eb8cb51fca6101c11a9f21fb2cc9a78a3c0f82b06166211434f7 SHA512 eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81
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 00000000000..83c982ee82d
--- /dev/null
+++ b/dev-lisp/clisp/clisp-2.49.92.ebuild
@@ -0,0 +1,140 @@
+# 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 xdg-utils
+
+DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
+HOMEPAGE="http://clisp.sourceforge.net/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2/8"
+KEYWORDS="~amd64 ~ia64 ~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-base/xorg-proto x11-misc/imake )"
+
+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
+
+ xdg_environment_reset
+}
+
+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 00000000000..ae83bbb8770
--- /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] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
@ 2020-09-01 3:42 Andrey Grozin
0 siblings, 0 replies; 3+ messages in thread
From: Andrey Grozin @ 2020-09-01 3:42 UTC (permalink / raw
To: gentoo-commits
commit: 89c87cab591751925771ceb83eb17e1dc904689c
Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 1 03:40:49 2020 +0000
Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Tue Sep 1 03:41:38 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89c87cab
dev-lisp/clisp: clean old versions
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>
dev-lisp/clisp/Manifest | 2 -
dev-lisp/clisp/clisp-2.49-r9.ebuild | 144 ----------------
dev-lisp/clisp/clisp-2.49.90.ebuild | 140 ----------------
.../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-tinfo.patch | 15 --
.../clisp-2.49.90-after_glibc_cfree_bdb.patch | 185 ---------------------
7 files changed, 563 deletions(-)
diff --git a/dev-lisp/clisp/Manifest b/dev-lisp/clisp/Manifest
index 84d215a48e0..5aba3d53d0f 100644
--- a/dev-lisp/clisp/Manifest
+++ b/dev-lisp/clisp/Manifest
@@ -1,3 +1 @@
-DIST clisp-2.49.90.tar.bz2 8921458 BLAKE2B 3be7cfe41038f42d8844d500877fa5c20e5c21dc0e162aa0018b297e4dfcd5374ef608793c9d809852e1f9885a155bb5b25fef8efe66016dd0ee400007386b70 SHA512 1fa7205e38883dcc863160b5418ddaaa2c45ee2d2f936de4067d1ea4a1e5043bf1235361bbbfc366afd6d8f1144497ccdccf1767ecf327f7a672b18742ceb651
DIST clisp-2.49.92.tar.bz2 9055207 BLAKE2B 6cf331eb9f99f62579e35469e2d01cae066083592ccc71cf483b70b4d1be349cdee9d403e0a7ed1ad1c8c5d805c1dab51c1a5031d77469ff8c4dc52eb58913df SHA512 cc9412a7b3f21c85b040bf5e660380fafb3c2374765a1c00272feb3f7838f2161e27a5d6295cef9976f0c4522f10796cf5ee5447716090d1cc69ecfe598ef306
-DIST clisp-2.49.tar.bz2 8091011 BLAKE2B e034c581b8100837b34d0adf1ef45bd667272d062945875175958178b4ef5b11e899dfb76505eb8cb51fca6101c11a9f21fb2cc9a78a3c0f82b06166211434f7 SHA512 eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81
diff --git a/dev-lisp/clisp/clisp-2.49-r9.ebuild b/dev-lisp/clisp/clisp-2.49-r9.ebuild
deleted file mode 100644
index b1cf33182ee..00000000000
--- a/dev-lisp/clisp/clisp-2.49-r9.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs xdg-utils
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="https://clisp.sourceforge.io/"
-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 +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 )
- 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-base/xorg-proto x11-misc/imake )"
-
-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
-
- xdg_environment_reset
-}
-
-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
-
- # 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 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
- 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.90.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
deleted file mode 100644
index 660b5a4acdd..00000000000
--- a/dev-lisp/clisp/clisp-2.49.90.ebuild
+++ /dev/null
@@ -1,140 +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 xdg-utils
-
-DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
-HOMEPAGE="https://clisp.sourceforge.io/"
-SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2/8"
-KEYWORDS="~alpha ~amd64 ~ia64 ~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-base/xorg-proto x11-misc/imake )"
-
-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
-
- xdg_environment_reset
-}
-
-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-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 8037157c951..00000000000
--- 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 5db3a71efbc..00000000000
--- 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-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
deleted file mode 100644
index 72f40d585b5..00000000000
--- 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.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 ae83bbb8770..00000000000
--- 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] 3+ messages in thread
end of thread, other threads:[~2020-09-01 3:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-11 18:56 [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/ José María Alonso
-- strict thread matches above, loose matches on Subject: below --
2018-06-21 14:03 José María Alonso
2020-09-01 3:42 Andrey Grozin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox