I figured it out thanks to the people on IRC: (arguments `(;; Roundup has no check target (It does have a `test` target, but some ;; of its tests fail intentionally, bringing the entire build process ;; down) #:tests? #f ;; Explicitly set the shell because otherwise this value will be empty #:make-flags '("SHELL=bash") #:phases (modify-phases %standard-phases (add-before 'configure 'fix-configure ;; getconf will return a static path, which will not contain the ;; value adjusted by Guix (λ _ (substitute* "configure" (("getconf PATH") "echo $PATH")))) (replace 'configure ;; Roundup is using a hand-written configure script which will choke ;; on the default configure flags. Therefore we invoke it with our ;; own flags. (lambda* (#:key outputs (configure-flags '()) #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (apply invoke `("./configure" ,(string-append "--prefix=" out) "--sysconfdir=/etc" ,@configure-flags))))))))
Ludovic Courtès wrote: > Indeed. Could it be that ‘configure’ overrides PATH, setting it to, > say, /bin:/usr/bin? (You mentioned ‘getconf PATH’ yesterday on IRC, > perhaps that’s related?) > > HTH, > Ludo’.