diff options
-rw-r--r-- | gnu/packages/wget.scm | 25 |
1 files changed, 17 insertions, 8 deletions
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 @@ in downloaded documents to relative links.") "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 @@ in downloaded documents to relative links.") (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 |