gnu: libssh2: Fix build failure after 1.8.0 upgrade.

* gnu/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ssh.scm (libssh2)[source]: Use it.
[arguments]: Add 'autoreconf' phase.
[native-inputs]: Add AUTOCONF and AUTOMAKE.
This commit is contained in:
Marius Bakke 2017-02-26 20:12:18 +01:00
parent 56a44e2d5b
commit ac2d5de3da
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 44 additions and 2 deletions

View file

@ -692,6 +692,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-frame-length.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libssh-0.6.5-CVE-2016-0739.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtiff-CVE-2016-10092.patch \

View file

@ -0,0 +1,33 @@
This fixes a regression introduced in 1.8.0 where libssh2 fails to build
with the gcrypt backend.
Upstream bug URL:
https://github.com/libssh2/libssh2/issues/150
Patch copied from upstream source repository:
https://github.com/libssh2/libssh2/commit/ced924b78a40126606797ef57a74066eb3b4b83f
From ced924b78a40126606797ef57a74066eb3b4b83f Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <siarheit@google.com>
Date: Mon, 31 Oct 2016 09:04:33 +0000
Subject: [PATCH] acinclude.m4: fix ./configure --with-libgcrypt
diff --git a/acinclude.m4 b/acinclude.m4
index 734ef07..c78260c 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -412,9 +412,9 @@ AC_DEFUN([LIBSSH2_CHECKFOR_GCRYPT], [
old_LDFLAGS=$LDFLAGS
old_CFLAGS=$CFLAGS
- if test -n "$use_libgcrypt" && test "$use_libgcrypt" != "no"; then
- LDFLAGS="$LDFLAGS -L$use_libgcrypt/lib"
- CFLAGS="$CFLAGS -I$use_libgcrypt/include"
+ if test -n "$with_libgcrypt_prefix" && test "$use_libgcrypt" != "no"; then
+ LDFLAGS="$LDFLAGS -L$with_libgcrypt_prefix/lib"
+ CFLAGS="$CFLAGS -I$with_libgcrypt_prefix/include"
fi
AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [
#include <gcrypt.h>

View file

@ -93,13 +93,21 @@ (define-public libssh2
version ".tar.gz"))
(sha256
(base32
"1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr"))))
"1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr"))
(patches
(search-patches "libssh2-fix-build-failure-with-gcrypt.patch"))))
(build-system gnu-build-system)
;; The installed libssh2.pc file does not include paths to libgcrypt and
;; zlib libraries, so we need to propagate the inputs.
(propagated-inputs `(("libgcrypt" ,libgcrypt)
("zlib" ,zlib)))
(arguments '(#:configure-flags `("--with-libgcrypt")))
(arguments '(#:configure-flags `("--with-libgcrypt")
#:phases (modify-phases %standard-phases
(add-before 'configure 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-v")))))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)))
(synopsis "Client-side C library implementing the SSH2 protocol")
(description
"libssh2 is a library intended to allow software developers access to