From c8e214e80d3bc4d6e63d2be1648fd2ac05eebc1a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 5 May 2019 00:09:43 +0200 Subject: gnu: wgetpaste: Make all dependencies explicit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wget.scm (wgetpaste)[arguments]: Replace limited ‘use-inputs’ phase with a ‘wrap-program’ one. --- gnu/packages/wget.scm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index b503b6fc0b..93a40c487a 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -89,17 +89,13 @@ (define-public wgetpaste "1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak")))) (build-system gnu-build-system) (arguments - '(#:phases + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) - (add-before 'install 'use-inputs - (lambda* (#:key inputs #:allow-other-keys) - (let* ((wget (assoc-ref inputs "wget"))) - (substitute* "wgetpaste" - (("(LC_ALL=C) wget" _ prefix) - (format "~a ~a/bin/wget" prefix wget))) - #t))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -107,6 +103,19 @@ (define-public wgetpaste (zsh (string-append out "/share/zsh/site-functions"))) (install-file "wgetpaste" bin) (install-file "_wgetpaste" zsh) + #t))) + (add-after 'install 'wrap-program + ;; /bin/wgetpaste prides itself on relying only on the following + ;; inputs, and doesn't need to execute arbitrary commands, so + ;; override PATH completely to detect any new dependencies early. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/wgetpaste") + `("PATH" ":" = + ,(delete-duplicates + (map (lambda (command) (dirname (which command))) + (list "bash" "mktemp" "sed" "sort" "tee" "tr" + "wget"))))) #t)))) #:tests? #f)) ; no test target (inputs -- cgit v1.2.3