‘gnutls-remove-gnutls_secure_malloc.patch’ fixes the following issue:

make[4]: Entering directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/guile/src'
  CC       guile_gnutls_v_2_la-core.lo
core.c: In function 'scm_init_gnutls':
core.c:3369:3: error: 'gnutls_secure_malloc' undeclared (first use in this 
function)
   gnutls_secure_malloc = scm_malloc;
   ^
core.c:3369:3: note: each undeclared identifier is reported only once for each 
function it appears in
Makefile:1448: recipe for target 'guile_gnutls_v_2_la-core.lo' failed
make[4]: *** [guile_gnutls_v_2_la-core.lo] Error 1
make[4]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/guile/src'
Makefile:1340: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/guile/src'
Makefile:1301: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/guile'
Makefile:1373: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1'
Makefile:1300: recipe for target 'all' failed
make: *** [all] Error 2
phase `build' failed after 1003 seconds
builder for `/gnu/store/5v3nssmzk94bbibmrymphssvssfgq4ir-gnutls-3.3.1.drv' 
failed with exit code 1
@ build-failed /gnu/store/5v3nssmzk94bbibmrymphssvssfgq4ir-gnutls-3.3.1.drv - 1 
builder for `/gnu/store/5v3nssmzk94bbibmrymphssvssfgq4ir-gnutls-3.3.1.drv' 
failed with exit code 1
cannot build derivation 
`/gnu/store/cm8r2pssz9djvnhnj01cn4d9jpkflm4y-profile.drv': 1 dependencies 
couldn't be built
guix package: error: build failed: build of 
`/gnu/store/cm8r2pssz9djvnhnj01cn4d9jpkflm4y-profile.drv' failed

But the program still fails to build:

make[4]: Entering directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
PASS: pathlen
PASS: aki
FAIL: pem-decoding
SKIP: template-test
make[5]: Entering directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
============================================================================
Testsuite summary for GnuTLS 3.3.1
============================================================================
# TOTAL: 4
# PASS:  2
# SKIP:  1
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See tests/cert-tests/test-suite.log
Please report to b...@gnutls.org
============================================================================
Makefile:1478: recipe for target 'test-suite.log' failed
make[4]: *** [test-suite.log] Error 1
make[4]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
Makefile:1584: recipe for target 'check-TESTS' failed
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
Makefile:1685: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests/cert-tests'
Makefile:2657: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory 
'/tmp/nix-build-gnutls-3.3.1.drv-0/gnutls-3.3.1/tests'
Makefile:1373: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
phase `check' failed after 902 seconds
builder for `/gnu/store/4wsibp5apk03zp91nih72n6njg3445xd-gnutls-3.3.1.drv' 
failed with exit code 1
@ build-failed /gnu/store/4wsibp5apk03zp91nih72n6njg3445xd-gnutls-3.3.1.drv - 1 
builder for `/gnu/store/4wsibp5apk03zp91nih72n6njg3445xd-gnutls-3.3.1.drv' 
failed with exit code 1
cannot build derivation 
`/gnu/store/x5jfbi9nwzan0h7pc0i6i933fsizmwaq-profile.drv': 1 dependencies 
couldn't be built
guix package: error: build failed: build of 
`/gnu/store/x5jfbi9nwzan0h7pc0i6i933fsizmwaq-profile.drv' failed

diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm
index 0391f54..0b0df81 100644
--- a/gnu/packages/gnutls.scm
+++ b/gnu/packages/gnutls.scm
@@ -63,7 +63,7 @@ specifications.")
 (define-public gnutls
   (package
     (name "gnutls")
-    (version "3.2.12")
+    (version "3.3.1")
     (source (origin
              (method url-fetch)
              (uri
@@ -75,12 +75,10 @@ specifications.")
                              "/gnutls-" version ".tar.xz"))
              (sha256
               (base32
-               "0195nliarszq5mginli6d2f5z7ljnd7mwa46iy9z8pkcgy56khbl"))))
+               "1fyg0bwfc003795hl5vs35m3rg2yqj9m5z76rlhfs0g5xaxrwjwq"))
+             (patches (list (search-patch
+                             "gnutls-remove-gnutls_secure_malloc.patch")))))
     (build-system gnu-build-system)
-    (arguments
-     ;; Work around build issue reported at
-     ;; <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00027.html>.
-     '(#:make-flags '("CPPFLAGS=-DENABLE_RSA_EXPORT")))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
@@ -98,4 +96,4 @@ specifications.")
 and DTLS protocols.  It is provided in the form of a C library to support the
 protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other
 required structures.")
-    (license lgpl2.1+)))
+    (license lgpl2.1+)))  ; see the "LICENSING" section in 'README'
diff --git a/gnu/packages/patches/gnutls-remove-gnutls_secure_malloc.patch b/gnu/packages/patches/gnutls-remove-gnutls_secure_malloc.patch
new file mode 100644
index 0000000..1f9555c
--- /dev/null
+++ b/gnu/packages/patches/gnutls-remove-gnutls_secure_malloc.patch
@@ -0,0 +1,15 @@
+Remove 'gnutls_secure_malloc' (see
+<https://gitorious.org/gnutls/gnutls/commit/f42e825d96b06f7069e4e9e8011a3ea8b93b4382>).
+
+Patch by Ludovic Courtès <l...@gnu.org>.
+
+--- gnutls-3.3.1/guile/src/core.c-orig	2014-04-23 01:24:26.455377062 +0400
++++ gnutls-3.3.1/guile/src/core.c	2014-04-23 01:25:14.489068473 +0400
+@@ -3366,7 +3366,6 @@
+   /* Use Guile's allocation routines, which will run the GC if need be.  */
+   gnutls_malloc = scm_malloc;
+   gnutls_realloc = scm_realloc;
+-  gnutls_secure_malloc = scm_malloc;
+   gnutls_free = free;
+ 
+   (void) gnutls_global_init ();

Attachment: pgpTPknJVZjwk.pgp
Description: PGP signature

Reply via email to