Gentoo Archives: gentoo-commits

From: Andrey Grozin <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/, dev-lisp/clisp/files/
Date: Tue, 01 Sep 2020 03:42:13
Message-Id: 1598931698.89c87cab591751925771ceb83eb17e1dc904689c.grozin@gentoo
1 commit: 89c87cab591751925771ceb83eb17e1dc904689c
2 Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 1 03:40:49 2020 +0000
4 Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 1 03:41:38 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89c87cab
7
8 dev-lisp/clisp: clean old versions
9
10 Package-Manager: Portage-3.0.4, Repoman-3.0.1
11 Signed-off-by: Andrey Grozin <grozin <AT> gentoo.org>
12
13 dev-lisp/clisp/Manifest | 2 -
14 dev-lisp/clisp/clisp-2.49-r9.ebuild | 144 ----------------
15 dev-lisp/clisp/clisp-2.49.90.ebuild | 140 ----------------
16 .../clisp-2.49-bits_ipctypes_to_sys_ipc.patch | 21 ---
17 dev-lisp/clisp/files/clisp-2.49-get_hostname.patch | 56 -------
18 dev-lisp/clisp/files/clisp-2.49-tinfo.patch | 15 --
19 .../clisp-2.49.90-after_glibc_cfree_bdb.patch | 185 ---------------------
20 7 files changed, 563 deletions(-)
21
22 diff --git a/dev-lisp/clisp/Manifest b/dev-lisp/clisp/Manifest
23 index 84d215a48e0..5aba3d53d0f 100644
24 --- a/dev-lisp/clisp/Manifest
25 +++ b/dev-lisp/clisp/Manifest
26 @@ -1,3 +1 @@
27 -DIST clisp-2.49.90.tar.bz2 8921458 BLAKE2B 3be7cfe41038f42d8844d500877fa5c20e5c21dc0e162aa0018b297e4dfcd5374ef608793c9d809852e1f9885a155bb5b25fef8efe66016dd0ee400007386b70 SHA512 1fa7205e38883dcc863160b5418ddaaa2c45ee2d2f936de4067d1ea4a1e5043bf1235361bbbfc366afd6d8f1144497ccdccf1767ecf327f7a672b18742ceb651
28 DIST clisp-2.49.92.tar.bz2 9055207 BLAKE2B 6cf331eb9f99f62579e35469e2d01cae066083592ccc71cf483b70b4d1be349cdee9d403e0a7ed1ad1c8c5d805c1dab51c1a5031d77469ff8c4dc52eb58913df SHA512 cc9412a7b3f21c85b040bf5e660380fafb3c2374765a1c00272feb3f7838f2161e27a5d6295cef9976f0c4522f10796cf5ee5447716090d1cc69ecfe598ef306
29 -DIST clisp-2.49.tar.bz2 8091011 BLAKE2B e034c581b8100837b34d0adf1ef45bd667272d062945875175958178b4ef5b11e899dfb76505eb8cb51fca6101c11a9f21fb2cc9a78a3c0f82b06166211434f7 SHA512 eef66fc85199a2c283b616db61bf67ff103eeb0f19fa907da48994dc790b6f5f8d0c74fb3bd723c6b827c0ff3cfd89fa6ba67934fc669ed5d5249044b5140d81
30
31 diff --git a/dev-lisp/clisp/clisp-2.49-r9.ebuild b/dev-lisp/clisp/clisp-2.49-r9.ebuild
32 deleted file mode 100644
33 index b1cf33182ee..00000000000
34 --- a/dev-lisp/clisp/clisp-2.49-r9.ebuild
35 +++ /dev/null
36 @@ -1,144 +0,0 @@
37 -# Copyright 1999-2018 Gentoo Foundation
38 -# Distributed under the terms of the GNU General Public License v2
39 -
40 -EAPI=5
41 -inherit eutils flag-o-matic multilib toolchain-funcs xdg-utils
42 -
43 -DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
44 -HOMEPAGE="https://clisp.sourceforge.io/"
45 -SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
46 -
47 -LICENSE="GPL-2"
48 -SLOT="2/${PV}"
49 -KEYWORDS="amd64 ~ppc ~sparc x86"
50 -IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
51 -# "jit" disabled ATM
52 -
53 -RDEPEND=">=dev-lisp/asdf-2.33-r3
54 - virtual/libiconv
55 - >=dev-libs/libsigsegv-2.4
56 - >=dev-libs/ffcall-1.10
57 - dbus? ( sys-apps/dbus )
58 - fastcgi? ( dev-libs/fcgi )
59 - gdbm? ( sys-libs/gdbm )
60 - gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
61 - postgres? ( >=dev-db/postgresql-8.0 )
62 - readline? ( >=sys-libs/readline-5.0 <sys-libs/readline-7.0 )
63 - pcre? ( dev-libs/libpcre )
64 - svm? ( sci-libs/libsvm )
65 - zlib? ( sys-libs/zlib )
66 - X? ( x11-libs/libXpm )
67 - hyperspec? ( dev-lisp/hyperspec )
68 - berkdb? ( sys-libs/db:4.8 )"
69 -# jit? ( >=dev-libs/lightning-1.2 )
70 -
71 -DEPEND="${RDEPEND}
72 - X? ( x11-base/xorg-proto x11-misc/imake )"
73 -
74 -enable_modules() {
75 - [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
76 - for m in "$@" ; do
77 - einfo "enabling module $m"
78 - myconf+=" --with-module=${m}"
79 - done
80 -}
81 -
82 -BUILDDIR="builddir"
83 -
84 -# modules not enabled:
85 -# * berkdb: must figure out a way to make the configure script pick up the
86 -# currect version of the library and headers
87 -# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
88 -# * matlab, netica: not in portage
89 -# * oracle: can't install oracle-instantclient
90 -
91 -src_prepare() {
92 - # More than -O1 breaks alpha/ia64
93 - if use alpha || use ia64; then
94 - sed -i -e 's/-O2//g' src/makemake.in || die
95 - fi
96 - epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
97 - epatch "${FILESDIR}"/${P}-get_hostname.patch
98 - epatch "${FILESDIR}"/${P}-tinfo.patch
99 -
100 - xdg_environment_reset
101 -}
102 -
103 -src_configure() {
104 - # Bug 618170. If anyone has a better idea...
105 - append-flags -fno-pie
106 -
107 - # We need this to build on alpha/ia64
108 - if use alpha || use ia64; then
109 - replace-flags -O? -O1
110 - append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
111 - fi
112 -
113 - # QA issue with lisp.run
114 - append-flags -Wa,--noexecstack
115 -
116 - # built-in features
117 - local myconf="--with-ffcall --without-dynamic-modules"
118 -# There's a problem with jit_allocai function
119 -# if use jit; then
120 -# myconf+=" --with-jitc=lightning"
121 -# fi
122 - if use threads; then
123 - myconf+=" --with-threads=POSIX_THREADS"
124 - fi
125 -
126 - # default modules
127 - enable_modules wildcard rawsock
128 - # optional modules
129 - use elibc_glibc && enable_modules bindings/glibc
130 - use X && enable_modules clx/new-clx
131 - if use postgres; then
132 - enable_modules postgresql
133 - append-cppflags -I$(pg_config --includedir)
134 - fi
135 - if use berkdb; then
136 - enable_modules berkeley-db
137 - append-cppflags -I/usr/include/db4.8
138 - fi
139 - use dbus && enable_modules dbus
140 - use fastcgi && enable_modules fastcgi
141 - use gdbm && enable_modules gdbm
142 - use gtk && enable_modules gtk2
143 - use pcre && enable_modules pcre
144 - use svm && enable_modules libsvm
145 - use zlib && enable_modules zlib
146 -
147 - if use hyperspec; then
148 - CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
149 - else
150 - CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
151 - fi
152 -
153 - # configure chokes on --sysconfdir option
154 - local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
155 - $(use_with readline) $(use_with unicode) \
156 - ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
157 - einfo "${configure}"
158 - ${configure} || die "./configure failed"
159 -
160 - IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
161 - sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
162 - "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
163 -}
164 -
165 -src_compile() {
166 - export VARTEXFONTS="${T}"/fonts
167 - cd "${BUILDDIR}"
168 - # parallel build fails
169 - emake -j1
170 -}
171 -
172 -src_install() {
173 - pushd "${BUILDDIR}"
174 - make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
175 - doman clisp.1
176 - dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
177 - popd
178 - dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
179 - dodoc doc/{CLOS-guide,LISP-tutorial}.txt
180 -}
181
182 diff --git a/dev-lisp/clisp/clisp-2.49.90.ebuild b/dev-lisp/clisp/clisp-2.49.90.ebuild
183 deleted file mode 100644
184 index 660b5a4acdd..00000000000
185 --- a/dev-lisp/clisp/clisp-2.49.90.ebuild
186 +++ /dev/null
187 @@ -1,140 +0,0 @@
188 -# Copyright 1999-2018 Gentoo Foundation
189 -# Distributed under the terms of the GNU General Public License v2
190 -
191 -EAPI=6
192 -
193 -inherit eutils flag-o-matic multilib toolchain-funcs xdg-utils
194 -
195 -DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
196 -HOMEPAGE="https://clisp.sourceforge.io/"
197 -SRC_URI="https://haible.de/bruno/gnu/${P}.tar.bz2"
198 -
199 -LICENSE="GPL-2"
200 -SLOT="2/8"
201 -KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
202 -IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm -threads +unicode +zlib"
203 -# "jit" disabled ATM
204 -
205 -RDEPEND=">=dev-lisp/asdf-2.33-r3
206 - virtual/libiconv
207 - >=dev-libs/libsigsegv-2.10
208 - >=dev-libs/ffcall-1.10
209 - dbus? ( sys-apps/dbus )
210 - fastcgi? ( dev-libs/fcgi )
211 - gdbm? ( sys-libs/gdbm )
212 - gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
213 - postgres? ( >=dev-db/postgresql-8.0:* )
214 - readline? ( >=sys-libs/readline-7.0:0= )
215 - pcre? ( dev-libs/libpcre:3 )
216 - svm? ( sci-libs/libsvm )
217 - zlib? ( sys-libs/zlib )
218 - X? ( x11-libs/libXpm )
219 - hyperspec? ( dev-lisp/hyperspec )
220 - berkdb? ( sys-libs/db:4.8 )"
221 -
222 -DEPEND="${RDEPEND}
223 - X? ( x11-base/xorg-proto x11-misc/imake )"
224 -
225 -enable_modules() {
226 - [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
227 - for m in "$@" ; do
228 - einfo "enabling module $m"
229 - myconf+=" --with-module=${m}"
230 - done
231 -}
232 -
233 -BUILDDIR="builddir"
234 -
235 -# modules not enabled:
236 -# * berkdb: must figure out a way to make the configure script pick up the
237 -# currect version of the library and headers
238 -# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
239 -# * matlab, netica: not in portage
240 -# * oracle: can't install oracle-instantclient
241 -
242 -src_prepare() {
243 - # More than -O1 breaks alpha/ia64
244 - if use alpha || use ia64; then
245 - sed -i -e 's/-O2//g' src/makemake.in || die
246 - fi
247 - eapply "${FILESDIR}"/"${P}"-after_glibc_cfree_bdb.patch
248 - eapply_user
249 -
250 - xdg_environment_reset
251 -}
252 -
253 -src_configure() {
254 - # We need this to build on alpha/ia64
255 - if use alpha || use ia64; then
256 - replace-flags -O? -O1
257 - fi
258 -
259 - if use x86; then
260 - append-flags -falign-functions=4
261 - fi
262 -
263 - # built-in features
264 - local myconf="--with-ffcall --without-dynamic-modules"
265 -# There's a problem with jit_allocai function
266 -# if use jit; then
267 -# myconf+=" --with-jitc=lightning"
268 -# fi
269 - if use threads; then
270 - myconf+=" --with-threads=POSIX_THREADS"
271 - fi
272 -
273 - # default modules
274 - enable_modules rawsock
275 - # optional modules
276 - use elibc_glibc && enable_modules bindings/glibc
277 - use X && enable_modules clx/new-clx
278 - if use postgres; then
279 - enable_modules postgresql
280 - append-cppflags -I$(pg_config --includedir)
281 - fi
282 - if use berkdb; then
283 - enable_modules berkeley-db
284 - append-cppflags -I"${EPREFIX}"/usr/include/db4.8
285 - fi
286 - use dbus && enable_modules dbus
287 - use fastcgi && enable_modules fastcgi
288 - use gdbm && enable_modules gdbm
289 - use gtk && enable_modules gtk2
290 - use pcre && enable_modules pcre
291 - use svm && enable_modules libsvm
292 - use zlib && enable_modules zlib
293 -
294 - if use hyperspec; then
295 - CLHSROOT="file:///${EPREFIX}/usr/share/doc/hyperspec/HyperSpec/"
296 - else
297 - CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
298 - fi
299 -
300 - # configure chokes on --sysconfdir option
301 - local configure="./configure --prefix=${EPREFIX}/usr --enable-portability \
302 - --libdir=${EPREFIX}/usr/$(get_libdir) $(use_with readline) $(use_with unicode) \
303 - ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
304 - einfo "${configure}"
305 - ${configure} || die "./configure failed"
306 -
307 - IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
308 - sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
309 - "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
310 -}
311 -
312 -src_compile() {
313 - export VARTEXFONTS="${T}"/fonts
314 - cd "${BUILDDIR}" || die
315 - # parallel build fails
316 - emake -j1
317 -}
318 -
319 -src_install() {
320 - pushd "${BUILDDIR}"
321 - make DESTDIR="${D}" prefix="${EPREFIX}"/usr install-bin || die "Installation failed"
322 - doman clisp.1
323 - dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
324 - popd
325 - dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
326 - dodoc doc/{CLOS-guide,LISP-tutorial}.txt
327 -}
328
329 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
330 deleted file mode 100644
331 index 8037157c951..00000000000
332 --- a/dev-lisp/clisp/files/clisp-2.49-bits_ipctypes_to_sys_ipc.patch
333 +++ /dev/null
334 @@ -1,21 +0,0 @@
335 -diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
336 ---- a/modules/bindings/glibc/linux.lisp 2008-10-08 19:36:19.000000000 +0300
337 -+++ b/modules/bindings/glibc/linux.lisp 2013-04-08 00:05:06.028305248 +0300
338 -@@ -67,7 +67,7 @@
339 - (def-c-type __daddr_t) ; int
340 - (def-c-type __caddr_t) ; c-pointer
341 - (def-c-type __time_t) ; long
342 --(def-c-type __swblk_t) ; long
343 -+;(def-c-type __swblk_t) ; long
344 -
345 - (def-c-type __fd_mask ulong)
346 - (eval-when (load compile eval)
347 -@@ -86,7 +86,7 @@
348 -
349 - (def-c-type __key_t) ; int
350 -
351 --(c-lines "#include <bits/ipctypes.h>~%")
352 -+(c-lines "#include <sys/ipc.h>~%")
353 - (def-c-type __ipc_pid_t) ; ushort
354 -
355 - ; --------------------------- <sys/types.h> -----------------------------------
356
357 diff --git a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch b/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
358 deleted file mode 100644
359 index 5db3a71efbc..00000000000
360 --- a/dev-lisp/clisp/files/clisp-2.49-get_hostname.patch
361 +++ /dev/null
362 @@ -1,56 +0,0 @@
363 -diff -r -U1 clisp-2.49.orig/src/socket.d clisp-2.49/src/socket.d
364 ---- clisp-2.49.orig/src/socket.d 2009-10-08 21:45:13.000000000 +0700
365 -+++ clisp-2.49/src/socket.d 2013-04-20 16:24:11.133895050 +0700
366 -@@ -59,5 +59,5 @@
367 - Fetches the machine's host name.
368 -- get_hostname(host =);
369 -- The name is allocated on the stack, with dynamic extent.
370 -- < const char* host: The host name.
371 -+ get_hostname(hostname);
372 -+ where hostname is an array of MAXHOTNAMELEN+1 characters.
373 -+ < const char host[]: The host name.
374 - (Note: In some cases we could get away with less system calls by simply
375 -@@ -69,10 +69,8 @@
376 - /* present on all supported unix systems and on woe32 */
377 -- #define get_hostname(host_assignment) \
378 -- do { var char hostname[MAXHOSTNAMELEN+1]; \
379 -- begin_system_call(); \
380 -- if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
381 -- end_system_call(); \
382 -- hostname[MAXHOSTNAMELEN] = '\0'; \
383 -- host_assignment &hostname[0]; \
384 -- } while(0)
385 -+static void get_hostname (char *hostname) {
386 -+ begin_system_call();
387 -+ if (gethostname(hostname,MAXHOSTNAMELEN) < 0) { ANSIC_error(); }
388 -+ end_system_call();
389 -+ hostname[MAXHOSTNAMELEN] = '\0';
390 -+}
391 - #else
392 -@@ -209,4 +207,4 @@
393 - (apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
394 -- var const char* host;
395 -- get_hostname(host =);
396 -+ var char host[MAXHOSTNAMELEN+1];
397 -+ get_hostname(host);
398 - result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
399 -@@ -391,4 +389,4 @@
400 - if (eq(arg,S(Kdefault))) {
401 -- var char* host;
402 -- get_hostname(host =);
403 -+ var char host[MAXHOSTNAMELEN+1];
404 -+ get_hostname(host);
405 - begin_system_call();
406 -@@ -726,3 +724,4 @@
407 - if (host[0] == '\0') {
408 -- get_hostname(host =);
409 -+ var char host[MAXHOSTNAMELEN+1];
410 -+ get_hostname(host);
411 - fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
412 -@@ -800,4 +799,4 @@
413 - if (resolve_p) { /* Fill in hd->truename. */
414 -- var const char* host;
415 -- get_hostname(host =); /* was: host = "localhost"; */
416 -+ var char host[MAXHOSTNAMELEN+1];
417 -+ get_hostname(host);
418 - ASSERT(strlen(host) <= MAXHOSTNAMELEN);
419
420 diff --git a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch b/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
421 deleted file mode 100644
422 index 72f40d585b5..00000000000
423 --- a/dev-lisp/clisp/files/clisp-2.49-tinfo.patch
424 +++ /dev/null
425 @@ -1,15 +0,0 @@
426 -clisp does not need a full blown ncurses, but it does require a termcap or tinfo
427 -I would have changed this in src/m4/termcap.m4 but configure.in fails terribly - JeR
428 -
429 -
430 ---- a/src/configure
431 -+++ b/src/configure
432 -@@ -28613,7 +28613,7 @@
433 - return 0;
434 - }
435 - _ACEOF
436 --for ac_lib in '' ncurses termcap; do
437 -+for ac_lib in '' tinfo ncurses termcap; do
438 - if test -z "$ac_lib"; then
439 - ac_res="none required"
440 - else
441
442 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
443 deleted file mode 100644
444 index ae83bbb8770..00000000000
445 --- a/dev-lisp/clisp/files/clisp-2.49.90-after_glibc_cfree_bdb.patch
446 +++ /dev/null
447 @@ -1,185 +0,0 @@
448 -diff -r -U3 clisp-2.49.90.orig/modules/berkeley-db/bdb.c clisp-2.49.90/modules/berkeley-db/bdb.c
449 ---- clisp-2.49.90.orig/modules/berkeley-db/bdb.c 2018-01-27 12:03:01.000000000 +0100
450 -+++ clisp-2.49.90/modules/berkeley-db/bdb.c 2018-02-12 20:37:24.203803219 +0100
451 -@@ -2216,7 +2216,13 @@
452 - c_data.compact_timeout = timeout;
453 - c_data.compact_pages = pages;
454 - SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end));
455 -- pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
456 -+ /* ====
457 -+ * compact_empty_buckets is in bdb-5.3 as part of output stats
458 -+ * however this version use bdb-4.8 which does not have it
459 -+ * ====
460 -+ *
461 -+ * pushSTACK(uint32_to_I(c_data.compact_empty_buckets));
462 -+ * */
463 - pushSTACK(uint32_to_I(c_data.compact_pages_free));
464 - pushSTACK(uint32_to_I(c_data.compact_pages_examine));
465 - pushSTACK(uint32_to_I(c_data.compact_levels));
466 -diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp clisp-2.49.90/modules/bindings/glibc/linux.lisp
467 ---- clisp-2.49.90.orig/modules/bindings/glibc/linux.lisp 2018-01-10 00:32:25.000000000 +0100
468 -+++ clisp-2.49.90/modules/bindings/glibc/linux.lisp 2018-02-12 20:48:22.467775536 +0100
469 -@@ -1,7 +1,7 @@
470 - ;; Foreign functions provided by the Linux C library version 6,
471 - ;; i.e. the GNU C library version 2.0.7.
472 - ;; Bruno Haible 10.4.1998, 19.4.1998
473 --;; Sam Steingold 2002-2008, 2011
474 -+;; Sam Steingold 2002-2008, 2011, 2013, 2016-2017
475 -
476 - ;; NB: quite a few functions here have more portable counterparts in POSIX
477 -
478 -@@ -686,9 +686,8 @@
479 - (def-call-out system? (:arguments (null c-string))
480 - (:return-type boolean) (:name "system"))
481 -
482 --; You can uncomment this if your compiler sets __USE_GNU
483 --; (def-call-out canonicalize_file_name (:arguments (name c-string))
484 --; (:return-type c-string :malloc-free))
485 -+(def-call-out canonicalize_file_name (:arguments (name c-string))
486 -+ (:return-type c-string :malloc-free))
487 -
488 - (def-call-out realpath
489 - (:arguments (name c-string)
490 -@@ -1040,9 +1039,8 @@
491 - (def-call-out access (:arguments (name c-string) (type int))
492 - (:return-type int))
493 -
494 --; You can uncomment this if your compiler sets __USE_GNU
495 --; (def-call-out euidaccess (:arguments (name c-string) (type int))
496 --; (:return-type int))
497 -+(def-call-out euidaccess (:arguments (name c-string) (type int))
498 -+ (:return-type int))
499 -
500 - (defconstant SEEK_SET 0)
501 - (defconstant SEEK_CUR 1)
502 -@@ -1093,9 +1091,8 @@
503 - ;(def-call-out getcwd (:arguments (buf c-string :out) (size size_t)) ; ??
504 - ; (:return-type c-string))
505 -
506 --; You can uncomment this if your compiler sets __USE_GNU
507 --; (def-call-out get_current_dir_name (:arguments)
508 --; (:return-type c-string :malloc-free))
509 -+(def-call-out get_current_dir_name (:arguments)
510 -+ (:return-type c-string :malloc-free))
511 -
512 - ;(def-call-out getwd (:arguments (buf c-string :out)) ; ??
513 - ; (:return-type c-string))
514 -@@ -1323,8 +1320,7 @@
515 - ; (:arguments (size int) (list (c-ptr (c-array gid_t ??)) :out)) ; ??
516 - ; (:return-type int))
517 -
518 --; You can uncomment this if your compiler sets __USE_GNU
519 --; (def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
520 -+(def-call-out group_member (:arguments (gid gid_t)) (:return-type boolean))
521 - (def-call-out setuid (:arguments (uid uid_t)) (:return-type int))
522 - (def-call-out setreuid (:arguments (ruid uid_t) (euid uid_t))
523 - (:return-type int))
524 -@@ -1821,8 +1817,7 @@
525 - (:return-type c-string :malloc-free))
526 - (def-call-out ungetc (:arguments (c int) (fp FILE))
527 - (:return-type int))
528 --; You can uncomment this if your compiler sets __USE_GNU
529 --; (def-call-out fcloseall (:arguments) (:return-type int))
530 -+(def-call-out fcloseall (:arguments) (:return-type int))
531 - (def-call-out fdopen (:arguments (fildes int) (mode c-string))
532 - (:return-type c-pointer))
533 - (def-call-out fileno (:arguments (fp FILE)) (:return-type int))
534 -@@ -1900,11 +1895,11 @@
535 - (:return-type (c-ptr-null dirent)))
536 - (def-call-out readdir64 (:arguments (dirp c-pointer))
537 - (:return-type (c-ptr-null dirent64)))
538 --(def-call-out readdir_r
539 -+(def-call-out readdir_r ; deprecated
540 - (:arguments (dirp c-pointer) (entry (c-ptr dirent) :out :alloca)
541 - (result (c-ptr (c-ptr dirent)) :out :alloca)) ; ??
542 - (:return-type int))
543 --(def-call-out readdir64_r
544 -+(def-call-out readdir64_r ; deprecated
545 - (:arguments (dirp c-pointer) (entry (c-ptr dirent64) :out :alloca)
546 - (result (c-ptr (c-ptr dirent64)) :out :alloca)) ; ??
547 - (:return-type int))
548 -diff -r -U3 clisp-2.49.90.orig/modules/bindings/glibc/test.tst clisp-2.49.90/modules/bindings/glibc/test.tst
549 ---- clisp-2.49.90.orig/modules/bindings/glibc/test.tst 2018-01-10 00:04:26.000000000 +0100
550 -+++ clisp-2.49.90/modules/bindings/glibc/test.tst 2018-02-12 20:50:48.225769407 +0100
551 -@@ -14,6 +14,16 @@
552 - (= linux:DT_DIR (linux:dirent64-d_type (show (linux:readdir64 *d*)))) T
553 - (linux:closedir *d*) 0
554 -
555 -+(stringp (show (linux:get-domain-name))) T
556 -+(stringp (show (linux:get-host-name))) T
557 -+
558 -+;; usually __USE_GNU is defined, so this should work:
559 -+(let* ((d (linux:get_current_dir_name))
560 -+ (c (linux:canonicalize_file_name (concatenate 'string d "/."))))
561 -+ (or (string= d c)
562 -+ (list :cur-dir d :canonical c)))
563 -+T
564 -+
565 - (defparameter *d* (show (linux:opendir "."))) *D*
566 - (linux:dirent-d_name (show (linux:readdir *d*))) "."
567 - (linux:dirent-d_name (show (linux:readdir *d*))) ".."
568 -diff -r -U3 clisp-2.49.90.orig/src/foreign1.lisp clisp-2.49.90/src/foreign1.lisp
569 ---- clisp-2.49.90.orig/src/foreign1.lisp 2018-01-10 00:04:26.000000000 +0100
570 -+++ clisp-2.49.90/src/foreign1.lisp 2018-02-12 21:03:56.768736245 +0100
571 -@@ -805,14 +805,17 @@
572 - c-name (to-c-string c-name) (third variable) (first variable))
573 - (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
574 - (dolist (function *function-list*)
575 -- (let ((c-name (first function)))
576 -- (when *foreign-guard*
577 -- (format *coutput-stream* "# if defined(HAVE_~A)~%"
578 -- (string-upcase c-name)))
579 -+ (let ((c-name (first function))
580 -+ (guard (fourth function)))
581 -+ (when guard
582 -+ (format *coutput-stream* "# if ~A~%"
583 -+ (if (eq guard t)
584 -+ (format nil "defined(HAVE_~A)" (string-upcase c-name))
585 -+ guard)))
586 - (format *coutput-stream*
587 - " register_foreign_function((void*)&~A,~A,~D);~%"
588 - c-name (to-c-string c-name) (svref (second function) 3))
589 -- (when *foreign-guard* (format *coutput-stream* "# endif~%"))))
590 -+ (when guard (format *coutput-stream* "# endif~%"))))
591 - (maphash (lambda (type fun-vec)
592 - (declare (ignore type))
593 - (let ((c-name (to-c-name (car fun-vec))))
594 -@@ -1083,7 +1086,7 @@
595 - (defmacro DEF-CALL-OUT (&whole whole-form name &rest options)
596 - (setq name (check-symbol name (first whole-form)))
597 - (let* ((alist
598 -- (parse-options options '(:name :arguments :return-type :language
599 -+ (parse-options options '(:name :arguments :return-type :language :guard
600 - :built-in :library :version :documentation)
601 - whole-form))
602 - (def (gensym "DEF-CALL-OUT-"))
603 -@@ -1095,6 +1098,7 @@
604 - (version (second (assoc :version alist)))
605 - (c-name (foreign-name name (assoc :name alist)))
606 - (built-in (second (assoc :built-in alist)))
607 -+ (guard (get-assoc :guard alist '*foreign-guard*))
608 - ;; Maximize sharing in .fas file, reuse options
609 - ;; parse-c-function ignores unknown options, e.g. :name
610 - (ctype `(PARSE-C-FUNCTION ',options ',whole-form)))
611 -@@ -1102,7 +1106,7 @@
612 - ',c-name ,ctype ',properties ,library ,version NIL)))
613 - (EXT:COMPILER-LET ((,def ,ctype))
614 - (EVAL-WHEN (COMPILE)
615 -- (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in)))
616 -+ (UNLESS ,LIBRARY (NOTE-C-FUN ',c-name ,def ',built-in ,guard)))
617 - (SYSTEM::EVAL-WHEN-COMPILE
618 - (SYSTEM::C-DEFUN ',name (C-TYPE-TO-SIGNATURE ,ctype))))
619 - (WHEN ,def ; found library function
620 -@@ -1110,10 +1114,10 @@
621 - (SYSTEM::%PUTD ',name ,def))
622 - ',name)))
623 -
624 --(defun note-c-fun (c-name ctype built-in) ; not ABI, compile-time only
625 -+(defun note-c-fun (c-name ctype built-in guard) ; not ABI, compile-time only
626 - (when (system::prepare-coutput-file)
627 - (prepare-module)
628 -- (push (list c-name ctype built-in)
629 -+ (push (list c-name ctype built-in guard)
630 - *function-list*)))
631 -
632 - (defun count-inarguments (arg-vector)