aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-19 23:28:27 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-19 23:42:57 +0100
commitd5c969ce0c3cb0de0e68551de3db62588fd2c534 (patch)
treef4f6151c4db7b3a14873b1910920aada3aa72e60 /gnu/packages/ssh.scm
parent5927a843b4a91416b5be9e65c69616447f82e162 (diff)
downloadguix-d5c969ce0c3cb0de0e68551de3db62588fd2c534.tar
guix-d5c969ce0c3cb0de0e68551de3db62588fd2c534.tar.gz
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.
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index eaa832269d..068e870f93 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -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"