gnu: perl-net-ssleay: Avoid patching source in 'origin'.

* gnu/packages/tls.scm (perl-net-ssleay)[source]: Move patch to ...
  [native-inputs]: ... here, and also add the 'patch' program.
  [arguments]: Use 'modify-phases'.  Add 'apply-patch' phase.  Return
  boolean result from 'set-ssl-prefix' phase.
This commit is contained in:
Mark H Weaver 2015-07-15 23:43:33 -04:00
parent bbd1961545
commit 1084ec08c2
1 changed files with 21 additions and 9 deletions

View File

@ -276,18 +276,30 @@ security, and applying best practice development processes.")
"Net-SSLeay-" version ".tar.gz"))
(sha256
(base32
"1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))
(patches
;; XXX Try removing this patch for perl-net-ssleay > 1.68
(list (search-patch "perl-net-ssleay-disable-ede-test.patch")))))
"1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))))
(build-system perl-build-system)
(native-inputs
`(("patch" ,patch)
("patch/disable-ede-test"
,(search-patch "perl-net-ssleay-disable-ede-test.patch"))))
(inputs `(("openssl" ,openssl)))
(arguments
`(#:phases (alist-cons-before
`(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'apply-patch
(lambda* (#:key inputs #:allow-other-keys)
;; XXX We apply this patch here instead of in the 'origin' because
;; this package's build system fails badly when the source file
;; times are zeroed.
;; XXX Try removing this patch for perl-net-ssleay > 1.68
(zero? (system* "patch" "--force" "-p1" "-i"
(assoc-ref inputs "patch/disable-ede-test")))))
(add-before
'configure 'set-ssl-prefix
(lambda* (#:key inputs #:allow-other-keys)
(setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl")))
%standard-phases)))
(setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
#t)))))
(synopsis "Perl extension for using OpenSSL")
(description
"This module offers some high level convenience functions for accessing