pull: Record the URL, branch, and commit as a manifest entry property.
* guix/scripts/pull.scm (derivation->manifest-entry): Turn COMMIT into a keyword parameter; add #:url and #:branch. Add a 'source' property to the manifest entry. (build-and-install): Add #:url and #:branch and pass it to 'derivation->manifest-entry'. (guix-pull): Adjust accordingly.
This commit is contained in:
parent
f6f2346f9b
commit
77a1aac6cc
|
@ -199,8 +199,10 @@ modules in the old ~/.config/guix/latest style."
|
||||||
(list guile-json guile-git guile-bytestructures
|
(list guile-json guile-git guile-bytestructures
|
||||||
guile-ssh gnutls)))
|
guile-ssh gnutls)))
|
||||||
|
|
||||||
(define (derivation->manifest-entry drv commit)
|
(define* (derivation->manifest-entry drv
|
||||||
"Return a manifest entry for DRV, which represents Guix at COMMIT."
|
#:key url branch commit)
|
||||||
|
"Return a manifest entry for DRV, which represents Guix at COMMIT. Record
|
||||||
|
URL, BRANCH, and COMMIT as a property in the manifest entry."
|
||||||
(mbegin %store-monad
|
(mbegin %store-monad
|
||||||
(what-to-build (list drv))
|
(what-to-build (list drv))
|
||||||
(built-derivations (list drv))
|
(built-derivations (list drv))
|
||||||
|
@ -212,10 +214,16 @@ modules in the old ~/.config/guix/latest style."
|
||||||
drv
|
drv
|
||||||
(whole-package-for-legacy (string-append name "-"
|
(whole-package-for-legacy (string-append name "-"
|
||||||
version)
|
version)
|
||||||
drv))))))))
|
drv)))
|
||||||
|
(properties
|
||||||
|
`((source (repository
|
||||||
|
(version 0)
|
||||||
|
(url ,url)
|
||||||
|
(branch ,branch)
|
||||||
|
(commit ,commit))))))))))
|
||||||
|
|
||||||
(define* (build-and-install source config-dir
|
(define* (build-and-install source config-dir
|
||||||
#:key verbose? commit)
|
#:key verbose? url branch commit)
|
||||||
"Build the tool from SOURCE, and install it in CONFIG-DIR."
|
"Build the tool from SOURCE, and install it in CONFIG-DIR."
|
||||||
(define update-profile
|
(define update-profile
|
||||||
(store-lift build-and-use-profile))
|
(store-lift build-and-use-profile))
|
||||||
|
@ -223,7 +231,10 @@ modules in the old ~/.config/guix/latest style."
|
||||||
(mlet* %store-monad ((drv (build-from-source source
|
(mlet* %store-monad ((drv (build-from-source source
|
||||||
#:commit commit
|
#:commit commit
|
||||||
#:verbose? verbose?))
|
#:verbose? verbose?))
|
||||||
(entry (derivation->manifest-entry drv commit)))
|
(entry (derivation->manifest-entry drv
|
||||||
|
#:url url
|
||||||
|
#:branch branch
|
||||||
|
#:commit commit)))
|
||||||
(update-profile (string-append config-dir "/current")
|
(update-profile (string-append config-dir "/current")
|
||||||
(manifest (list entry)))))
|
(manifest (list entry)))))
|
||||||
|
|
||||||
|
@ -306,6 +317,11 @@ certificates~%"))
|
||||||
(canonical-package guile-2.2)))))
|
(canonical-package guile-2.2)))))
|
||||||
(run-with-store store
|
(run-with-store store
|
||||||
(build-and-install checkout (config-directory)
|
(build-and-install checkout (config-directory)
|
||||||
|
#:url url
|
||||||
|
#:branch (match ref
|
||||||
|
(('branch . branch)
|
||||||
|
branch)
|
||||||
|
(_ #f))
|
||||||
#:commit commit
|
#:commit commit
|
||||||
#:verbose?
|
#:verbose?
|
||||||
(assoc-ref opts 'verbose?))))))))))))
|
(assoc-ref opts 'verbose?))))))))))))
|
||||||
|
|
Loading…
Reference in New Issue