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")) "Net-SSLeay-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p")) "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))))
(patches
;; XXX Try removing this patch for perl-net-ssleay > 1.68
(list (search-patch "perl-net-ssleay-disable-ede-test.patch")))))
(build-system perl-build-system) (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))) (inputs `(("openssl" ,openssl)))
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases
'configure 'set-ssl-prefix (modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-after
(setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl"))) 'unpack 'apply-patch
%standard-phases))) (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"))
#t)))))
(synopsis "Perl extension for using OpenSSL") (synopsis "Perl extension for using OpenSSL")
(description (description
"This module offers some high level convenience functions for accessing "This module offers some high level convenience functions for accessing