* guix/build/python-build-system.scm (wrap): Use 'wrap-language-program'. --- guix/build/python-build-system.scm | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-)
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index dd07986b9..30d01f8cb 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -184,34 +184,14 @@ when running checks after installing the package." configure-flags))) (call-setuppy "install" params use-setuptools?))) -(define* (wrap #:key inputs outputs #:allow-other-keys) - (define (list-of-files dir) - (map (cut string-append dir "/" <>) - (or (scandir dir (lambda (f) - (let ((s (stat (string-append dir "/" f)))) - (eq? 'regular (stat:type s))))) - '()))) - - (define bindirs - (append-map (match-lambda - ((_ . dir) - (list (string-append dir "/bin") - (string-append dir "/sbin")))) - outputs)) - - (let* ((out (assoc-ref outputs "out")) - (python (assoc-ref inputs "python")) - (var `("PYTHONPATH" prefix - ,(cons (string-append out "/lib/python" - (get-python-version python) - "/site-packages") - (search-path-as-string->list - (or (getenv "PYTHONPATH") "")))))) - (for-each (lambda (dir) - (let ((files (list-of-files dir))) - (for-each (cut wrap-program <> var) - files))) - bindirs))) +;; Use 'program-wrapper' to return an executable wrapper for python. +(define wrap + (program-wrapper + (lambda (inputs outputs) + (string-append (assoc-ref outputs "out") "/lib/python" + (get-python-version (assoc-ref inputs "python")) + "/site-packages")) + "PYTHONPATH")) (define* (rename-pth-file #:key name inputs outputs #:allow-other-keys) "Rename easy-install.pth to NAME.pth to avoid conflicts between packages -- 2.12.2