~ruther/guix-local

ref: f285a968b1219ae748fcab918b17285e741422c2 guix-local/guix d---------
d282a31f — Richard Sent 2 years ago
reconfigure: Skip starting new shepherd services with auto-start? #f

Fixes <https://bugs.gnu.org/68093>.

* guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): Only add
new shepherd services with auto-start? #t to to-start list.

Change-Id: I268b921336fb1195ed76746eb6178889dbc258b4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
b7931e6f — Ludovic Courtès 2 years ago
git authenticate: Document ‘--end’.

* guix/scripts/git/authenticate.scm (show-help): Document ‘--end’.
* doc/guix.texi (Invoking guix git authenticate): Likewise.

Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: Ia646203ce2f721487de547c76b9488754c70db66
c90a4e8d — Ludovic Courtès 2 years ago
describe: Try harder to find the ‘guix pull’ profile.

Fixes <https://issues.guix.gnu.org/66705>.

The strategy used by ‘current-profile’ so far would fail to find the
right profile (the one created by ‘guix pull’ or ‘guix time-machine’) in
cases where said profile is itself included in another profile.  This
happens, for instance, when running ‘guix shell -CW -- guix describe’,
which, as a result, would display nothing but the ‘guix’ channel.

This patch fixes that by having ‘current-profile’ not just check for the
presence of a ‘manifest’ file but also parse it to determine whether
it’s a ‘guix pull’ kind of manifest.

* guix/describe.scm (find-profile): New procedure.
(current-profile): Adjust to use it.

Change-Id: I9194f54ce1496a6591e247c76203f497f28c330b
06baf4d6 — Ludovic Courtès 2 years ago
profiles: ‘read-manifest’ raises to ‘&profile-error’ upon version mismatch.

* guix/profiles.scm (sexp->manifest): In the catch-all clause, raise to
‘&profile-error’ in addition to ‘&message’.

Change-Id: Ieb08187b388531c2157bfe67fb1b7319dbbb4ff3
a26bce55 — Ludovic Courtès 2 years ago
time-machine: Allow time travels to v0.16.0.

* guix/scripts/time-machine.scm (%oldest-possible-commit): Change to
v0.16.0.
* tests/guix-time-machine.sh: Adjust comment.

Change-Id: I9ad82bd45fee0d172b5348a8ae16e990338a3a97
92bd81a9 — Efraim Flashner 2 years ago
transformations: Add support for rust.

* guix/transformations.scm (tuning-compiler): Add support for rustc.

Change-Id: I6db596a586eda648666550cdcadaa5e1704cb79c
2f441fc7 — Ludovic Courtès 2 years ago
download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable.

This replaces ‘GUIX_DOWNLOAD_FALLBACK_TEST’ and allows you to test
various download methods, like so:

  GUIX_DOWNLOAD_METHODS=nar guix build guile-gcrypt -S --check
  GUIX_DOWNLOAD_METHODS=disarchive guix build hello -S --check

* guix/build/download.scm (%download-methods): New variable.
(download-method-enabled?): New procedure.
(url-fetch): Define ‘initial-uris’; honor ‘download-method-enabled?’.
Call ‘disarchive-fetch/any’ only when the 'disarchive method is enabled.
* guix/build/git.scm (git-fetch-with-fallback): Honor
‘download-method-enabled?’.
* guix/download.scm (%download-methods): New variable.
(%download-fallback-test): Remove.
(built-in-download): Add #:download-methods parameter and honor it.
(url-fetch*): Pass #:content-addressed-mirrors and #:disarchive-mirrors
unconditionally.
* guix/git-download.scm (git-fetch/in-band*): Pass “git url”
unconditionally.
(git-fetch/built-in): Likewise.  Pass “download-methods”.
* guix/bzr-download.scm (bzr-fetch)[build]: Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
* guix/cvs-download.scm (cvs-fetch)[build]: Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
* guix/hg-download.scm (hg-fetch): Honor ‘download-method-enabled?’.
Pass #:env-vars to ‘gexp->derivation’.
* guix/scripts/perform-download.scm (perform-download): Honor
“download-methods” from DRV.  Parameterize ‘%download-methods’ before
calling ‘url-fetch’.
(perform-git-download): Likewise.
* guix/svn-download.scm (svn-fetch): Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
(svn-multi-fetch): Likewise.

Change-Id: Ia3402e17f0303dfa964bdc761265efe8a1dd69ab
abd0cca2 — Ludovic Courtès 2 years ago
perform-download: Allow use of ‘download-nar’ for ‘--check’ builds.

Previously, the nar fallback would always fail on ‘--check’ build
because the output directory in that case is different from the store
file name.  This change fixes that.

* guix/build/git.scm (git-fetch-with-fallback): Add #:item parameter and
pass it to ‘download-nar’.
* guix/scripts/perform-download.scm (perform-git-download): Pass #:item
to ‘git-fetch-with-fallback’.

Change-Id: I30fc948718e99574005150bba5215a51ef153c49
3e9bea7e — Ludovic Courtès 2 years ago
download-nar: Distinguish ‘output’ and ‘item’ parameter.

This is useful when running a ‘--check’ build, where the output file
name differs from the store file name we are trying to restore.

* guix/build/download-nar.scm (download-nar): Add ‘output’ parameter and
distinguish it from ‘item’.

Change-Id: I42219b6d4c8fd1ed506720301384efc1aa351561
8a42fc71 — Ludovic Courtès 2 years ago
bzr-download: Implement nar fallback.

* guix/bzr-download.scm (bzr-fetch)[guile-json, guile-lzlib,
guile-gnutls]: New variables.
[build]: Add ‘with-extensions’ and import more modules.  Invoke
‘download-nar’ when ‘bzr-fetch’ returns #f.
* guix/build/bzr.scm (bzr-fetch): Actually return #t on success.

Change-Id: Id5d4ebd0f9ddc3c44b6456d3b46c0000cc7b9997
0e73f933 — Ludovic Courtès 2 years ago
svn-download: Use ‘swh-download-directory-by-nar-hash’.

Fixes <https://issues.guix.gnu.org/43442>.

* guix/svn-download.scm (svn-fetch)[build]: Add
‘swh-download-directory-by-nar-hash’ call as a last resort.
Import (guix swh).
* guix/svn-download.scm (svn-multi-fetch)[build]: Likewise.

Change-Id: Ifcb9be1e9c2b05ce172c44e45dcf3a3ea6df8e76
2a9f817f — Ludovic Courtès 2 years ago
hg-download: Use ‘swh-download-directory-by-nar-hash’.

This allows content-addressed access to the checkout, which is
preferable.

* guix/hg-download.scm (hg-fetch): Add call to
‘swh-download-directory-by-nar-hash’ before ‘swh-download’ call.

Change-Id: I2afc8badc1f8bb2c8bdd3a47abbb72d455d93e64
ddd455c0 — Ludovic Courtès 2 years ago
swh: ‘lookup-origin-revision’ handles branches pointing to directories.

Fixes <https://issues.guix.gnu.org/69070>.

* guix/swh.scm (branch-target): Add clause for 'directory and 'alias.
(lookup-origin-revision): Iterate over all the visits of ORIGIN instead
of just the first one.  Handle the case where ‘branch-target’ returns
something other than a release or revision.
* tests/swh.scm ("lookup-origin-revision"): New test.

Change-Id: I7f636739a719908763bca1d3e7376341dd62e816
ed9d7d84 — Ludovic Courtès 2 years ago
swh: ‘origin-visits’ takes an optional ‘max’ parameter.

* guix/swh.scm (origin-visits): Add optional ‘max’ parameter and honor
it.

Change-Id: I642d7d4b0672b68fb5c7ce2b49161307e13d3c95
a813d689 — Ludovic Courtès 2 years ago
swh: Add ‘type’ field to <visit>.

* guix/swh.scm (<visit>)[type]: New field.

Change-Id: I7677984c7daef38d8f3c3bef19723fa0efb035ba
47a0e5d9 — Ludovic Courtès 2 years ago
lint: archival: Trigger “Save Code Now” for VCSes other than Git.

Until now, ‘save-origin’ would be called only when given a
<git-reference>.  With this change, ‘save-origin’ gets called for other
version control systems as well.

* guix/lint.scm (swh-response->warning): New procedure, formerly in
‘check-archival’.
(vcs-origin, save-package-source): New procedures.
(check-archival)[response->warning]: Remove.
Call ‘save-package-source’ in both the Git and the non-Git cases.
* tests/lint.scm ("archival: missing svn revision"): New test.

Change-Id: I535e4ec89488faf83bfa544d5e4935fa73ef54fb
3328dec0 — Ludovic Courtès 2 years ago
lint: archival: Fix crash in non-Git case.

Fixes a bug introduced in 29f3089c841f00144f24f5c32296aebf22d752cc where
‘guix lint -c archival guile-wisp’ (for instance) would crash with a
match error because ‘lookup-by-nar-hash’ returns a string.

* guix/lint.scm (check-archival): Add SWHID case in the non-Git case.

Change-Id: I66fb060172d372041df47d90a14df168b0fa762d
cfc63f67 — Ludovic Courtès 2 years ago
lint: Switch to SRFI-71.

* guix/lint.scm: Switch from SRFI-11 to SRFI-71.

Change-Id: I62e6cd304ad73570bd12bd67f7051566205596bb
cae9e9db — Efraim Flashner 2 years ago
cpu: Enable tuning for i686-linux.

* gnu/packages/gcc.scm (gcc-7, gcc-10, gcc-11, gcc-12, gcc-13)
[properties]: In compiler-cpu-architectures use the
x86_64-micro-architectures list for i686.
* guix/cpu.scm (cpu->gcc-architecture): Expand the x86_64 case to also
support i686.

Change-Id: I0b820ceb715960db5e702814fa278dc8c619a836
7700dc2c — Efraim Flashner 2 years ago
cpu: Rename x86-64-v1 to x86-64.

This is the actual micro-architecture designation used by compilers.

* gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Rename
x86-64-v1 to x86-64.
* gnu/packages/golang.scm (%go-1.18-x86_64-micro-architectures): Same.
* guix/cpu.scm (cpu->micro-architecture-level): Same.
(gcc-architecture->micro-architecture-level): Same.

Change-Id: I19ed556a7e8deb4a77f4c63fca3b794f25092788
Next