guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: build/cargo-build-system: Remove 'update-cargo-lock phase.


From: guix-commits
Subject: 01/01: build/cargo-build-system: Remove 'update-cargo-lock phase.
Date: Wed, 28 Aug 2019 02:44:47 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit 3762e31b6c8089928aad3186f70f157502950e3b
Author: Efraim Flashner <address@hidden>
Date:   Thu Aug 22 16:21:26 2019 +0300

    build/cargo-build-system: Remove 'update-cargo-lock phase.
    
    * guix/build/cargo-build-system.scm (update-cargo-lock): Remove
    procedure.
    (configure): Delete Cargo.lock file if it exists.
    (%standard-phases): Remove 'update-cargo-lock.
    * doc/guix.texi (Build System)[cargo-build-system]: Remove references to
    the 'update-cargo-lock phase.
---
 doc/guix.texi                     |  9 ++++-----
 guix/build/cargo-build-system.scm | 19 ++++---------------
 2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 90b2deb..707c2ba 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5854,11 +5854,10 @@ should be added to the package definition via the
 
 In its @code{configure} phase, this build system will make any source inputs
 specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs}
-parameters available to cargo.  The @code{update-cargo-lock} phase will,
-when there is a @code{Cargo.lock} file, update the @code{Cargo.lock} file
-with the inputs and their versions available at build time.  The
-@code{install} phase installs any crate the binaries if they are defined by
-the crate.
+parameters available to cargo.  It will also remove an included
+@code{Cargo.lock} file to be recreated by @code{cargo} during the
+@code{build} phase.  The @code{install} phase installs any crate the binaries
+if they are defined by the crate.
 @end defvr
 
 @cindex Clojure (programming language)
diff --git a/guix/build/cargo-build-system.scm 
b/guix/build/cargo-build-system.scm
index 7d363a1..06ed14b 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -134,22 +134,12 @@ directory = '" port)
   ;; upgrading the compiler for example.
   (setenv "RUSTFLAGS" "--cap-lints allow")
   (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
-  #t)
 
-;; The Cargo.lock file tells the build system which crates are required for
-;; building and hardcodes their version and checksum.  In order to build with
-;; the inputs we provide, we need to recreate the file with our inputs.
-(define* (update-cargo-lock #:key
-                            (vendor-dir "guix-vendor")
-                            #:allow-other-keys)
-  "Regenerate the Cargo.lock file with the current build inputs."
+  ;; We don't use the Cargo.lock file to determine the package versions we use
+  ;; during building, and in any case if one is not present it is created
+  ;; during the 'build phase by cargo.
   (when (file-exists? "Cargo.lock")
-    (begin
-      ;; Unfortunately we can't generate a Cargo.lock file until the checksums
-      ;; are generated, so we have an extra round of generate-all-checksums 
here.
-      (generate-all-checksums vendor-dir)
-      (delete-file "Cargo.lock")
-      (invoke "cargo" "generate-lockfile")))
+    (delete-file "Cargo.lock"))
   #t)
 
 ;; After the 'patch-generated-file-shebangs phase any vendored crates who have
@@ -203,7 +193,6 @@ directory = '" port)
     (replace 'build build)
     (replace 'check check)
     (replace 'install install)
-    (add-after 'configure 'update-cargo-lock update-cargo-lock)
     (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums 
patch-cargo-checksums)))
 
 (define* (cargo-build #:key inputs (phases %standard-phases)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]