gnu: gnutls@3.6.16: Fix cross-compilation.
Fixes <https://bugs.gnu.org/48771>. Reported by Eric Brown <ecbrown@ericcbrown.com>. * gnu/packages/tls.scm (gnutls-3.6.16)[arguments]: New field.master
parent
c335fbf3cb
commit
4604d43c0e
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||||
|
@ -274,7 +274,53 @@ required structures.")
|
||||||
"gnutls-cross.patch"))
|
"gnutls-cross.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1czk511pslz367shf32f2jvvkp7y1323bcv88c2qng98mj0v6y8v"))))))
|
"1czk511pslz367shf32f2jvvkp7y1323bcv88c2qng98mj0v6y8v"))))
|
||||||
|
(arguments
|
||||||
|
(if (%current-target-system)
|
||||||
|
(substitute-keyword-arguments (package-arguments gnutls)
|
||||||
|
((#:phases phases '%standard-phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
(add-before 'configure 'build-eccdata-headers
|
||||||
|
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||||
|
;; Build the 'ecc/eccdata' program using the native
|
||||||
|
;; compiler, not the cross-compiler as happens by default,
|
||||||
|
;; and use it to build lib/nettle/ecc/ecc-*.h. In GnuTLS
|
||||||
|
;; 3.6.15, this was not necessary because the tarball
|
||||||
|
;; contained pre-generated lib/nettle/ecc/ecc-*.h files as
|
||||||
|
;; well as 'ecc/eccdata.stamp'.
|
||||||
|
(let ((jobs (number->string (parallel-job-count)))
|
||||||
|
(patch (assoc-ref %standard-phases
|
||||||
|
'patch-generated-file-shebangs)))
|
||||||
|
(mkdir "+native-build")
|
||||||
|
(with-directory-excursion "+native-build"
|
||||||
|
;; Build natively, with the native compiler, GMP, etc.
|
||||||
|
(invoke "../configure"
|
||||||
|
(string-append "SHELL=" (which "sh"))
|
||||||
|
(string-append "CONFIG_SHELL=" (which "sh"))
|
||||||
|
"NETTLE_CFLAGS= " "NETTLE_LIBS= "
|
||||||
|
"HOGWEED_CFLAGS= " "HOGWEED_LIBS= "
|
||||||
|
"LIBTASN1_CFLAGS= " "LIBTASN1_LIBS= "
|
||||||
|
"ac_cv_func_nettle_rsa_sec_decrypt=yes"
|
||||||
|
"--without-p11-kit" "--disable-guile")
|
||||||
|
(patch)
|
||||||
|
(invoke "make" "-C" "gl" "-j" jobs)
|
||||||
|
(invoke "make" "-C" "lib/nettle" "V=1" "-j" jobs))
|
||||||
|
|
||||||
|
;; Copy the files we obtained during native build.
|
||||||
|
(for-each (lambda (file)
|
||||||
|
(install-file file "lib/nettle/ecc"))
|
||||||
|
(find-files
|
||||||
|
"+native-build/lib/nettle/ecc"
|
||||||
|
"^(eccdata\\.stamp|ecc-.*\\.h)$"))))))))
|
||||||
|
(package-arguments gnutls)))
|
||||||
|
(native-inputs
|
||||||
|
(if (%current-target-system)
|
||||||
|
`(("libtasn1" ,libtasn1) ;for 'ecc/eccdata'
|
||||||
|
("libidn2" ,libidn2)
|
||||||
|
("nettle" ,nettle)
|
||||||
|
("zlib" ,zlib)
|
||||||
|
,@(package-native-inputs gnutls))
|
||||||
|
(package-native-inputs gnutls)))))
|
||||||
|
|
||||||
(define-public gnutls/guile-2.0
|
(define-public gnutls/guile-2.0
|
||||||
;; GnuTLS for Guile 2.0.
|
;; GnuTLS for Guile 2.0.
|
||||||
|
|
Reference in New Issue