gnu: shishi: Build with latest libgcrypt.

* gnu/packages/patches/shishi-fix-libgcrypt-detection.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/kerberos.scm (shishi)[source]: Use it.
[inputs]: Use libgcrypt instead of libgcrypt-1.5.
[arguments]: Set 'ac_cv_libgcrypt=yes' in #:configure-flags.
* gnu/packages/gnupg.scm (libgcrypt-1.5): Remove variable.
This commit is contained in:
Leo Famulari 2017-06-29 04:11:18 -04:00
parent c74acb569c
commit 1abc08a8f4
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08
4 changed files with 43 additions and 21 deletions

View file

@ -961,6 +961,7 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \

View file

@ -115,18 +115,6 @@ (define-public libgcrypt
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgcrypt")))))
(define-public libgcrypt-1.5
(package (inherit libgcrypt)
(version "1.5.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
"0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h"))))))
(define-public libassuan
(package
(name "libassuan")

View file

@ -24,8 +24,10 @@
(define-module (gnu packages kerberos)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages perl)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
@ -33,6 +35,7 @@ (define-module (gnu packages kerberos)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -98,25 +101,23 @@ (define-public shishi
(method url-fetch)
(uri (string-append "mirror://gnu/shishi/shishi-"
version ".tar.gz"))
(patches (search-patches "shishi-fix-libgcrypt-detection.patch"))
(sha256
(base32
"032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d"))))
(build-system gnu-build-system)
(arguments
'(;; This is required since we patch some of the build scripts.
;; Remove for the next Shishi release after 1.0.2 or when
;; removing 'shishi-fix-libgcrypt-detection.patch'.
#:configure-flags '("ac_cv_libgcrypt=yes")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("gnutls" ,gnutls)
("libidn" ,libidn)
("linux-pam" ,linux-pam-1.2)
("zlib" ,zlib)
;; libgcrypt 1.6 fails because of the following test:
;; #include <gcrypt.h>
;; /* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
;; will fail on startup if we don't have 1.4.4 or later, so
;; test for it early. */
;; #if !defined GCRY_MODULE_ID_USER
;; error too old libgcrypt
;; #endif
("libgcrypt" ,libgcrypt-1.5)
("libgcrypt" ,libgcrypt)
("libtasn1" ,libtasn1)))
(home-page "https://www.gnu.org/software/shishi/")
(synopsis "Implementation of the Kerberos 5 network security system")

View file

@ -0,0 +1,32 @@
Fix building of Shishi with libgcrypt 1.6 and later.
Patch copied from Debian:
https://anonscm.debian.org/cgit/collab-maint/shishi.git/tree/debian/patches/fix_gcrypt_detection.diff?id=948301ae648a542a408da250755aeed58a6e3542
Description: Fix autoconf gnutls detection to also accept gcrypt 1.6.
Author: Andreas Metzler <ametzler@debian.org>
Bug-Debian: http://bugs.debian.org/753150
Origin: vendor
Forwarded: no
Last-Update: 2014-07-18
--- shishi-1.0.2.orig/gl/m4/gc.m4
+++ shishi-1.0.2/gl/m4/gc.m4
@@ -12,10 +12,12 @@ AC_DEFUN([gl_GC],
if test "$libgcrypt" != no; then
AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [
#include <gcrypt.h>
-/* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
- will fail on startup if we don't have 1.4.4 or later, so
- test for it early. */
-#if !defined GCRY_MODULE_ID_USER
+/* gc-libgcrypt.c will fail on startup if we don't have libgcrypt 1.4.4 or
+ later, test for it early. by checking for either
+ - GCRY_MODULE_ID_USER which was added in 1.4.4 and dropped in 1.6 or
+ - GCRYPT_VERSION_NUMBER which was added in 1.6.
+ */
+#if !defined GCRY_MODULE_ID_USER && !defined GCRYPT_VERSION_NUMBER
error too old libgcrypt
#endif
])