- (wrap-program file
- `("PATH" ":" prefix
- (,bin
- ;; Support building without sqitch as an input, as it
- ;; can't be cross-compiled yet
- ,@(or (and=> (assoc-ref inputs "sqitch")
- list)
- '())))
- `("GUILE_LOAD_PATH" ":" prefix
- (,scm ,(getenv "GUILE_LOAD_PATH")))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
+ (let ((guile-inputs (list
+ "guile-json"
+ "guile-gcrypt"
+ "guix"
+ "guile-prometheus"
+ "guile-lib"
+ "guile-lzlib"
+ "guile-zlib"
+ "gnutls"
+ ,@(if (hurd-target?)
+ '()
+ '("guile-fibers")))))
+ (wrap-program file
+ `("PATH" ":" prefix
+ (,bin
+ ;; Support building without sqitch as an input, as it
+ ;; can't be cross-compiled yet
+ ,@(or (and=> (assoc-ref inputs "sqitch")
+ list)
+ '())))
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(string-join
+ (map (lambda (input)
+ (simple-format
+ #f "~A/share/guile/site/~A"
+ (assoc-ref inputs input)
+ version))
+ guile-inputs)
+ ":")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(string-join
+ (map (lambda (input)
+ (simple-format
+ #f "~A/lib/guile/~A/site-ccache"
+ (assoc-ref inputs input)
+ version))
+ guile-inputs)
+ ":"))))
+ (when target
+ ;; XXX work around wrap-program picking bash for the
+ ;; host rather than target
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* file
+ (("^#!.*/bash")
+ (string-append "#! " bash "/bin/bash")))))))