gnu: lsh: Use libc's argp instead of the bundled one.

* gnu/packages/ssh.scm (lsh)[arguments] <#:configure-flags>: Add
--with-system-argp and CPPFLAGS=-DHAVE_ARGP_PARSE.
<#:phases>: In 'pre-configure' phase, modify src/Makefile.in.
This commit is contained in:
Ludovic Courtès 2017-03-19 23:28:27 +01:00
parent 5927a843b4
commit d5c969ce0c
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -446,7 +446,14 @@ basis for almost any application.")
'(;; Skip the `configure' test that checks whether /dev/ptmx &
;; co. work as expected, because it relies on impurities (for
;; instance, /dev/pts may be unavailable in chroots.)
#:configure-flags '("lsh_cv_sys_unix98_ptys=yes")
#:configure-flags '("lsh_cv_sys_unix98_ptys=yes"
;; Use glibc's argp rather than the bundled one.
"--with-system-argp"
;; 'lsh_argp.h' checks HAVE_ARGP_PARSE but nothing
;; defines it.
"CPPFLAGS=-DHAVE_ARGP_PARSE")
;; FIXME: Tests won't run in a chroot, presumably because
;; /etc/profile is missing, and thus clients get an empty $PATH
@ -459,6 +466,12 @@ basis for almost any application.")
(lambda* (#:key inputs #:allow-other-keys)
(let* ((nettle (assoc-ref inputs "nettle"))
(sexp-conv (string-append nettle "/bin/sexp-conv")))
;; Remove argp from the list of sub-directories; we don't want
;; to build it, really.
(substitute* "src/Makefile.in"
(("^SUBDIRS = argp")
"SUBDIRS ="))
;; Make sure 'lsh' and 'lshd' pick 'sexp-conv' in the right place
;; by default.
(substitute* "src/environ.h.in"