gnu: runc, skopeo, docker-cli, umoci: Don't 'chdir' in build phases.

This fixes breaks the 'install-license-files' phase added in
6b793fa662 and is generally not good
practice.

Reported by divoplade on #guix.

* gnu/packages/virtualization.scm (runc)[arguments]: Use
'with-directory-excursion' instead of 'chdir' in build phases.
(skopeo)[arguments]: Likewise.
(umoci)[arguments]: Likewise.
* gnu/packages/docker.scm (docker-cli)[arguments]: In 'install' phase,
remove call to 'chdir' and adjust 'install-file' argument accordingly.
This commit is contained in:
Ludovic Courtès 2020-10-16 14:32:50 +02:00
parent 9a4c83bdb6
commit e39e8d97c1
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1518,18 +1518,19 @@ (define-public runc
"-xvf" source))))
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(chdir (string-append "src/" import-path))
;; XXX: requires 'go-md2man'.
;; (invoke "make" "man")
(invoke "make")))
(with-directory-excursion (string-append "src/" import-path)
;; XXX: requires 'go-md2man'.
;; (invoke "make" "man")
(invoke "make"))))
;; (replace 'check
;; (lambda _
;; (invoke "make" "localunittest")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install" "install-bash"
(string-append "PREFIX=" out))))))))
(lambda* (#:key import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install" "install-bash"
(string-append "PREFIX=" out)))))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@ -1573,14 +1574,15 @@ (define-public umoci
"-xvf" source))))
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(chdir (string-append "src/" import-path))
;; TODO: build manpages with 'go-md2man'.
(invoke "make" "SHELL=bash")))
(with-directory-excursion (string-append "src/" import-path)
;; TODO: build manpages with 'go-md2man'.
(invoke "make" "SHELL=bash"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key import-path outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bindir (string-append out "/bin")))
(install-file "umoci" bindir)
(install-file (string-append "src/" import-path "/umoci")
bindir)
#t))))))
(home-page "https://umo.ci/")
(synopsis "Tool for modifying Open Container images")
@ -1617,19 +1619,20 @@ (define-public skopeo
(arguments
'(#:import-path "github.com/containers/skopeo"
#:install-source? #f
#:tests? #f ; The tests require Docker
#:tests? #f ; The tests require Docker
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(chdir (string-append "src/" import-path))
;; TODO: build manpages with 'go-md2man'.
(invoke "make" "bin/skopeo")))
(with-directory-excursion (string-append "src/" import-path)
;; TODO: build manpages with 'go-md2man'.
(invoke "make" "bin/skopeo"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install-binary" "install-completions"
(string-append "PREFIX=" out))))))))
(lambda* (#:key import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install-binary" "install-completions"
(string-append "PREFIX=" out)))))))))
(home-page "https://github.com/containers/skopeo")
(synopsis "Interact with container images and container image registries")
(description