summary refs log tree commit diff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm97
1 files changed, 53 insertions, 44 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 08050e9747..09fa7208dc 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -261,11 +261,9 @@ $(prefix)/etc/openrc\n")))
                           (intern (assoc-ref inputs "boot-guile") #f)
 
                           ;; On x86_64 some tests need the i686 Guile.
-                          ,@(if (and (not (%current-target-system))
-                                     (string=? (%current-system)
-                                               "x86_64-linux"))
-                                '((intern (assoc-ref inputs "boot-guile/i686") #f))
-                                '())
+                          (when (and (not target)
+                                     (string=? system "x86_64-linux"))
+                            (intern (assoc-ref inputs "boot-guile/i686") #f))
 
                           ;; Copy the bootstrap executables.
                           (for-each (lambda (input)
@@ -299,9 +297,8 @@ $(prefix)/etc/openrc\n")))
                         ;; Make sure the 'guix' command finds GnuTLS,
                         ;; Guile-JSON, and Guile-Git automatically.
                         (let* ((out    (assoc-ref outputs "out"))
-                               (guile  ,@(if (%current-target-system)
-                                             '((assoc-ref native-inputs "guile"))
-                                             '((assoc-ref inputs "guile"))))
+                               (guile  (assoc-ref (or native-inputs inputs)
+                                                  "guile"))
                                (avahi  (assoc-ref inputs "guile-avahi"))
                                (gcrypt (assoc-ref inputs "guile-gcrypt"))
                                (guile-lib   (assoc-ref inputs "guile-lib"))
@@ -317,40 +314,45 @@ $(prefix)/etc/openrc\n")))
                                (gnutls (assoc-ref inputs "gnutls"))
                                (locales (assoc-ref inputs "glibc-utf8-locales"))
                                (deps   (list gcrypt json sqlite gnutls git
-                                             bs ssh zlib lzlib zstd))
-                               (deps*  ,@(if (%current-target-system)
-                                             '(deps)
-                                             '((cons avahi deps))))
+                                             bs ssh zlib lzlib zstd guile-lib))
+                               (deps*  (if avahi (cons avahi deps) deps))
                                (effective
                                 (read-line
                                  (open-pipe* OPEN_READ
                                              (string-append guile "/bin/guile")
                                              "-c" "(display (effective-version))")))
-                               (path   (string-join
-                                        (map (cut string-append <>
-                                                  "/share/guile/site/"
-                                                  effective)
-                                             (delete #f deps*))
-                                        ":"))
-                               (gopath (string-join
-                                        (map (cut string-append <>
-                                                  "/lib/guile/" effective
-                                                  "/site-ccache")
-                                             (delete #f deps*))
-                                        ":"))
+                               (path   (map (cut string-append <>
+                                                 "/share/guile/site/"
+                                                 effective)
+                                            (delete #f deps*)))
+                               (gopath (map (cut string-append <>
+                                                 "/lib/guile/" effective
+                                                 "/site-ccache")
+                                            (delete #f deps*)))
                                (locpath (string-append locales "/lib/locale")))
 
-                          (wrap-program (string-append out "/bin/guix")
-                            `("GUILE_LOAD_PATH" ":" prefix (,path))
-                            `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))
-                            `("GUIX_LOCPATH" ":" suffix (,locpath)))
-
-                          (when target
-                            ;; XXX Touching wrap-program rebuilds world
-                            (let ((bash (assoc-ref inputs "bash")))
-                              (substitute* (string-append out "/bin/guix")
-                                (("^#!.*/bash") (string-append "#! " bash "/bin/bash")))))
-                          #t)))
+                          ;; Modify 'guix' directly instead of using
+                          ;; 'wrap-program'.  This avoids the indirection
+                          ;; through Bash, which in turn avoids getting Bash's
+                          ;; own locale warnings.
+                          (substitute* (string-append out "/bin/guix")
+                            (("!#")
+                             (string-append
+                              "!#\n\n"
+                              (object->string
+                               `(set! %load-path (append ',path %load-path)))
+                              "\n"
+                              (object->string
+                               `(set! %load-compiled-path
+                                  (append ',gopath %load-compiled-path)))
+                              "\n"
+                              (object->string
+                               `(let ((path (getenv "GUIX_LOCPATH")))
+                                  (setenv "GUIX_LOCPATH"
+                                          (if path
+                                              (string-append path ":" ,locpath)
+                                              ,locpath))))
+                              "\n\n"))))))
 
                     ;; The 'guix' executable has 'OUT/libexec/guix/guile' as
                     ;; its shebang; that should remain unchanged, thus remove
@@ -405,8 +407,7 @@ $(prefix)/etc/openrc\n")))
                `(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux")))
                '())
          ,@(if (%current-target-system)
-               `(("bash" ,bash-minimal)
-                 ("xz" ,xz))
+               `(("xz" ,xz))
                '())
 
          ;; Tests also rely on these bootstrap executables.
@@ -523,12 +524,16 @@ the Nix package manager.")
        ("gnutls" ,guile2.2-gnutls)
        ("guile-gcrypt" ,guile2.2-gcrypt)
        ("guile-json" ,guile2.2-json)
+       ("guile-lib" ,guile2.2-lib)
        ("guile-sqlite3" ,guile2.2-sqlite3)
        ("guile-ssh" ,guile2.2-ssh)
        ("guile-git" ,guile2.2-git)
+       ("guile-zlib" ,guile2.2-zlib)
+       ("guile-lzlib" ,guile2.2-lzlib)
        ,@(fold alist-delete (package-native-inputs guix)
                '("guile" "gnutls" "guile-gcrypt" "guile-json"
-                 "guile-sqlite3" "guile-ssh" "guile-git"))))
+                 "guile-lib" "guile-sqlite3" "guile-ssh" "guile-git"
+                 "guile-zlib" "guile-lzlib"))))
     (inputs
      `(("guile" ,guile-2.2)
        ,@(alist-delete "guile" (package-inputs guix))))
@@ -536,9 +541,12 @@ the Nix package manager.")
      `(("gnutls" ,gnutls)
        ("guile-gcrypt" ,guile2.2-gcrypt)
        ("guile-json" ,guile2.2-json)
+       ("guile-lib" ,guile2.2-lib)
        ("guile-sqlite3" ,guile2.2-sqlite3)
        ("guile-ssh" ,guile2.2-ssh)
-       ("guile-git" ,guile2.2-git)))))
+       ("guile-git" ,guile2.2-git)
+       ("guile-zlib" ,guile2.2-zlib)
+       ("guile-lzlib" ,guile2.2-lzlib)))))
 
 (define-public guile3.0-guix
   (deprecated-package "guile3.0-guix" guix))
@@ -1049,8 +1057,8 @@ environments.")
     (license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
 
 (define-public guix-build-coordinator
-  (let ((commit "6fb5eafc33efa109b220efe71594cfcdb2efe133")
-        (revision "24"))
+  (let ((commit "1305724c7ea3c2bb3e557918d5a1b17d572aa110")
+        (revision "27"))
     (package
       (name "guix-build-coordinator")
       (version (git-version "0" revision commit))
@@ -1061,7 +1069,7 @@ environments.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "1lf7jry18kwglvyakfkmi8bif8ppsdinl0xjgmkgkp4mvmymh2gj"))
+                  "179n33mkhl6f2fv0gyn7sdm3k4hhm1hvca6dgc923d0w7zv4p577"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -1096,6 +1104,7 @@ environments.")
                                          "guile-lib"
                                          "guile-lzlib"
                                          "guile-zlib"
+                                         "guile-sqlite3"
                                          "gnutls"
                                          ,@(if (hurd-target?)
                                                '()
@@ -1330,7 +1339,7 @@ for packaging and deployment of cross-compiled Windows applications.")
 (define-public libostree
   (package
     (name "libostree")
-    (version "2020.8")
+    (version "2021.2")
     (source
      (origin
        (method url-fetch)
@@ -1338,7 +1347,7 @@ for packaging and deployment of cross-compiled Windows applications.")
              "https://github.com/ostreedev/ostree/releases/download/v"
              (version-major+minor version) "/libostree-" version ".tar.xz"))
        (sha256
-        (base32 "16v73v63h16ika73kgh2cvgm0v27r2d48m932mbj3xm6s295kapx"))))
+        (base32 "0z2x9krnd6nblwq0nz99igzhh3yv022rn3hgcyrzci0xqzkhhh45"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases