Bruno Haible <br...@clisp.org> writes: > Hi Simon, > >> Should we apply a patch like the one below to gnulib? > > The existing code follows the recommendation from the CLISP documentation > https://clisp.sourceforge.io/impnotes.html#quickstart-unix > "The recommended path is /usr/local/bin/clisp, and if CLISP is actually > installed elsewhere, making /usr/local/bin/clisp be a symbolic link to > the real CLISP." > > However, that documentation is outdated, focusing on platforms that are > less relevant today. > > Debian's patch, to hardcode /usr/bin/clisp, is not good either, since > it doesn't work on Guix, nor Solaris, nor distros which don't package CLISP. > (Who is surprised that patches from Debian are Debian-specific?) > > The solution is to use /usr/bin/env for a PATH lookup. So that it works > on Guix as well. Unfortunately, that requires using a non-POSIX option, > in order to avoid an error > > $ lib/uniname/gen-uninames.lisp UnicodeData.txt NameAliases.txt uninames.h > /usr/bin/env: ‘clisp -C’: No such file or directory > /usr/bin/env: use -[v]S to pass options in shebang lines
Thanks, this seems even better, and will allow Debian to (eventually) drop the custom patch. /Simon > 2024-07-02 Bruno Haible <br...@clisp.org> > > uniname/uniname: Modernize gen-uninames.lisp. > Reported by Simon Josefsson in > <https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00011.html>. > * lib/uniname/gen-uninames.lisp: Swap second and third parameter. Look > up clisp in $PATH. > * lib/gen-uni-tables.c: Update invocation. > > diff --git a/lib/uniname/gen-uninames.lisp b/lib/uniname/gen-uninames.lisp > index 1b0c60cf04..30191f2e8e 100755 > --- a/lib/uniname/gen-uninames.lisp > +++ b/lib/uniname/gen-uninames.lisp > @@ -1,6 +1,7 @@ > -#!/usr/local/bin/clisp -C > +#!/usr/bin/env -S clisp -C > > -;;; Creation of gnulib's uninames.h from the UnicodeData.txt table. > +;;; Creation of gnulib's uninames.h from the UnicodeData.txt and > NameAliases.txt > +;;; tables. > > ;;; Copyright (C) 2000-2024 Free Software Foundation, Inc. > ;;; Written by Bruno Haible <br...@clisp.org>, 2000-12-28. > @@ -48,8 +49,8 @@ > length ; number of words > ) > > -(defun main (inputfile outputfile aliasfile) > - (declare (type string inputfile outputfile aliasfile)) > +(defun main (inputfile aliasfile outputfile) > + (declare (type string inputfile aliasfile outputfile)) > #+UNICODE (setq *default-file-encoding* charset:utf-8) > (let ((all-chars '()) > (all-chars-hashed (make-hash-table :test #'equal)) > diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c > index 3ebcd833ff..b4f16da560 100644 > --- a/lib/gen-uni-tables.c > +++ b/lib/gen-uni-tables.c > @@ -12075,8 +12075,8 @@ main (int argc, char * argv[]) > * && diff uniwbrk/wbrkprop_org.txt uniwbrk/wbrkprop.txt \\ > * && clisp -C uniname/gen-uninames.lisp \\ > * > /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/15.1.0/ucd/UnicodeData.txt > \\ > - * uniname/uninames.h \\ > * > /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/15.1.0/ucd/NameAliases.txt > \\ > + * uniname/uninames.h \\ > * && { sed -e 's/^/# /' -e 's/ $//' < > /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/license.txt; > \\ > * echo; \\ > * cat > /media/nas/bruno/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/15.1.0/ucd/NameAliases.txt; > } \\ > > > > >
signature.asc
Description: PGP signature