Age | Commit message (Expand) | Author |
2024-03-11 | 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
| Ludovic Courtès |
2024-03-10 | transformations: Add support for rust....* guix/transformations.scm (tuning-compiler): Add support for rustc.
Change-Id: I6db596a586eda648666550cdcadaa5e1704cb79c
| Efraim Flashner |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | swh: ‘origin-visits’ takes an optional ‘max’ parameter....* guix/swh.scm (origin-visits): Add optional ‘max’ parameter and honor
it.
Change-Id: I642d7d4b0672b68fb5c7ce2b49161307e13d3c95
| Ludovic Courtès |
2024-03-09 | swh: Add ‘type’ field to <visit>....* guix/swh.scm (<visit>)[type]: New field.
Change-Id: I7677984c7daef38d8f3c3bef19723fa0efb035ba
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | 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
| Ludovic Courtès |
2024-03-09 | lint: Switch to SRFI-71....* guix/lint.scm: Switch from SRFI-11 to SRFI-71.
Change-Id: I62e6cd304ad73570bd12bd67f7051566205596bb
| Ludovic Courtès |
2024-03-07 | 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
| Efraim Flashner |
2024-03-07 | 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
| Efraim Flashner |
2024-03-07 | cpu: Be consistent with x86_64 micro-architecture names....* gnu/packages/golang.scm (%go-1.18-x86_64-micro-architectures): Rename
micro-architectures from x86_64-v* to x86-64-v*.
* guix/cpu.scm (cpu->gcc-architecture): Return x86-64 as the fallback.
(cpu->micro-architecture-level): Rename micro-architectures from
x86_64-v* to x86-64-v*.
(gcc-architecture->micro-architecture-level): Same.
Change-Id: I37db65970417c22699ae8097b0361bccf76c1267
| Efraim Flashner |
2024-03-06 | scripts: import: elpa: Unquote-splice package sexp contents....* guix/scripts/import/elpa.scm (guix-import-elpa): Unquote-splice the contents
of the package sexp so the matched package definition is returned unchanged.
Change-Id: Iaaa7e72390c73c6d6671811fe9ac284d599b44c6
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| Carlo Zancanaro |
2024-03-06 | import/cran: Add one more invalid package....* guix/import/cran.scm (invalid-packages): Add "use_c17".
Change-Id: Ie3b6455d4eff97811057cd82dca460367a4583e5
| Ricardo Wurmus |
2024-03-05 | guix: cpu: Update aarch64 CPUs....* guix/cpu.scm (cpu->gcc-architecture): Update list of CPUs from the
list in gcc.
Change-Id: Ifcd26c143fc9e3aaa0c5514e1dac4908d2780255
| Efraim Flashner |
2024-03-05 | guix: cpu: Autodetect the x86-64-v4 microarchitecture....* guix/cpu.scm (gcc-architecture->micro-architecture-level): Sort
gcc-architectures which have AVX512F support into x86-64-v4.
Change-Id: I8af0ceb692eefec7433e1fd5149379244da799c4
| Efraim Flashner |
2024-03-05 | guix: cpu: Update x86_64 CPUs....* guix/cpu.scm (cpu->gcc-architecture): Add graniterapids-d,
pantherlake, clearwaterforest, arrowlake-s, yongfeng. Remove
grandridge. Update CPU flags for searching to match architecture.
(gcc-architecture->micro-architecture-level): Adjust listed
architectures and sort in order used above.
Change-Id: I186ab6e396e36c34f7c61827e02f637716993141
| Efraim Flashner |
2024-03-04 | gnu: perl6-tap-harness: Update to 0.3.5....* gnu/packages/perl6.scm (perl6-tap-harness): Update to 0.3.5.
[source]: Update URL. Reindent.
[arguments]: Replace obsolete prove6 script with manual Raku invocation
in 'check' phase.
[home-page]: Update.
[synopsis]: Replace mention of Perl with Raku.
* gnu/packages/rakudo-build-system.scm (check): Replace obsolete prove6
script with manual Raku invocation.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Paul A. Patience |
2024-03-04 | gnu: rakudo: Update to 2022.04....* gnu/packages/perl6.scm (rakudo): Update to 2022.04.
[source]: Add snippet to delete bundled 3rdparty directory.
[arguments]: Add 'remove-calls-to-git', 'fix-paths' and
'disable-failing-tests' phases. Remove 'patch-source-date' phase. Adjust
files in 'patch-more-shebangs' phase and sort them. Remove redundant
'./' from 'configure' phase. Replace Perl extensions and paths with Raku
equivalents in 'install-dist-tool' phase.
[native-inputs]: Add nqp-configure.
[synopsis, description]: Replace mentions of Perl with Raku.
* guix/build/rakudo-build-system.scm (install): Replace Perl extension
with Raku extension.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Paul A. Patience |
2024-03-02 | build-system/guile: Install .scm files first....Until now the .go files were generated first, and only after that the .scm
files were installed into the target location. That led to a lot of messages
about `source file ... newer than compiled' if the custom 'check phase tried
to load the compiled files.
Swapping the order of the actions resolves the issue allowing the tests to be
written without lot of noise in the build log.
For final artifacts it was not a problem, since daemon resets the timestamps.
* guix/build/guile-build-system.scm (build): Install .scm before producing
.go.
Change-Id: I3428d144fcbaa6c904ee662193c3bca82589e344
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tomas Volf |
2024-03-02 | build-system/guile: Fix indentation....The inner (let) was on the same level as the outer one, which was confusing.
* guix/build/guile-build-system.scm (build): Fix indentation.
Change-Id: I701b61747c270b185eac9377b066748baa2b3d20
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tomas Volf |
2024-03-02 | build-system/guile: Fix typo in documentation string....* guix/build/guile-build-system.scm (install-documentation): Fix typo in
documentation string.
Change-Id: I8940591fcbf8222c8f8365dabbac0e8300cad84c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tomas Volf |
2024-02-28 | Merge branch 'rust-team'...Change-Id: Iee31c5de29c357c822f60df4fa8ce758779eb349
| Efraim Flashner |
2024-02-23 | import: Do not return package name with json importer....* guix/import/json.scm (json->code): Do not return package names after
package expressions.
* doc/package-hello.json: Fix comma errors and use valid greeter URL.
Change-Id: Id71924e72f690a9bda5fbfdb65a443029adfd158
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-23 | import: Discard args after --version and --help....* guix/scripts/import.scm (guix-import): Discard args.
Change-Id: Icce5cd0daf9011f7ddde7904113b31b547f063ef
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-23 | import: Insert packages into modules alphabetically....* guix/scripts/import.scm (guix-import): Add 'insert' option.
(import-as-definitions): Add procedure.
* doc/guix.texi (Invoking guix import): Describe 'insert' option.
Change-Id: Id87ea707123630e12bcb6788599acac6895b26c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-23 | utils: Add find-definition-insertion-location procedure....* guix/utils.scm (find-definition-insertion-location): Add and export
procedure.
* tests/utils.scm ("find-definition-insertion-location"): Add test.
Change-Id: Ie17e1b4a94790f58518ce121411a38d357f49feb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-23 | utils: Add insert-expression procedure....* guix/utils.scm (define-module): Use (guix read-print) and export
(insert-expression).
(insert-expression): Add procedure.
* tests/utils.scm ("insert-expression"): Add test.
Change-Id: I971a43a78aa6ecaaef33c1a7a0db4b287eb85036
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-23 | import: Wrap package expressions with define-public....* guix/scripts/import.scm (guix-import): Wrap package expressions.
Change-Id: Ic4d986a4706a692b2fecd6fded8ac72ab6311687
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Herman Rimm |
2024-02-20 | build: cargo: Add support for x86_64-linux-gnux32....* guix/build/cargo-build-system.scm (configure): Add entry for
x86_64-linux-gnux32 in CARGO_BUILD_TARGET.
Change-Id: Iae363d4e7962af1ebd4f2ed0f4276663b2245580
| Efraim Flashner |
2024-02-20 | syscalls: ‘processes’ really omits kernel threads....Fixes a bug whereby ‘processes’ would include kernel threads, thereby
leading the ‘stop’ method of ‘user-processes’ to wait indefinitely for a
kernel thread. Code taken from the Shepherd.
Fixes <https://issues.guix.gnu.org/68800>.
* guix/build/syscalls.scm (kernel?): Remove.
(linux-process-flags, linux-kernel-thread?, pseudo-process?): New
procedures.
(PF_KTHREAD): New variable.
(processes): Use ‘pseudo-process?’ instead of ‘kernel?’.
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I8c439cdaf868a8f899de7fe500ce8bf10e5fc290
| Ludovic Courtès |
2024-02-20 | import/cran: Use downstream name when using specifications....Reported by Alexander Blume at
<https://github.com/BIMSBbioinfo/guix.install/issues/4>.
* guix/import/cran.scm (format-inputs): Use UPSTREAM-INPUT-DOWNSTREAM-NAME
when %INPUT-STYLE is set to 'SPECIFICATION.
Change-Id: I2f0963af197896aafd613b253d8712e41a716e52
| Ricardo Wurmus |
2024-02-19 | upstream: update-package-inputs: Sort extra inputs....Ensure that extra inputs end up in the correct order.
* guix/upstream.scm (update-package-inputs)[filtered-inputs]: Sort new list of
inputs.
Change-Id: Ia5fddd8103a33c79426995057fcce61c2e9e5a72
| Ricardo Wurmus |
2024-02-12 | gnu: disarchive: Update to 0.6.0....* gnu/packages/backup.scm (disarchive): Update to 0.6.0; add
'guile-bzip2' as an input.
* gnu/packages/package-management.scm (guix): Add 'guile-bzip2' as
an input to enable bzip2 support when using Disarchive.
* guix/self.scm (%packages): Add 'guile-bzip2'.
(compiled-guix): Include 'guile-bzip2' as a dependency when building
the 'guix' command.
* etc/disarchive-manifest.scm (tarball-origin?): Include bzip2
tarballs.
Co-authored-by: Ludovic Courtès <ludovic.courtes@inria.fr>
Change-Id: I4da479054f6bef225f5ea979c091152f8a9e51d5
| Timothy Sample |
2024-02-12 | swh: Fix docstring of ‘lookup-directory’....* guix/swh.scm (lookup-directory): Fix docstring.
Change-Id: Ia1fd9b2bc9184364cebbd30ee84c9fdea4ba897c
| Ludovic Courtès |
2024-02-12 | git-download: Download from SWH by nar hash when possible....* guix/build/git.scm (git-fetch-with-fallback): Add #:hash
and #:hash-algorithm. Try ‘swh-download-directory-by-nar-hash’ before
‘swh-download’ when #:hash is provided.
* guix/git-download.scm (git-fetch/in-band*): Pass #:hash
and #:hash-algorithm to ‘git-fetch-with-fallback’.
* guix/scripts/perform-download.scm (perform-git-download): Likewise.
Change-Id: Ic875a7022fd78c9fac32e92ad4f8ce4d81646ec5
| Ludovic Courtès |
2024-02-12 | lint: archival: Check with ‘lookup-directory-by-nar-hash’....While this method is new and nar-sha256 ExtIDs are currently available
only for new visits, it is fundamentally more reliable than the other
methods, which is why it comes first.
* guix/lint.scm (check-archival)[lookup-by-nar-hash]: New procedure.
Call ‘lookup-by-nar-hash’ before the other lookup methods.
* tests/lint.scm ("archival: content available")
("archival: content unavailable but disarchive available")
("archival: missing revision")
("archival: revision available"): Add a 404 response corresponding to
the ‘lookup-external-id’ request.
* tests/lint.scm ("archival: nar-sha256 extid available"): New test.
Change-Id: I4a81d6e022a3b72e6484726549d7fbae627f8e73
| Ludovic Courtès |
2024-02-12 | swh: Add ‘swh-download-directory-by-nar-hash’....This allows us to take advantage of content addressing by giving SWH the
expected nar hash.
* guix/swh.scm (swh-download-directory-by-nar-hash): New procedure.
Change-Id: I0494ee15a3cde390a22552de7c2246e0314ba7b5
| Ludovic Courtès |
2024-02-12 | swh: Add bindings for the “ExtID” API....This interface was deployed at archive.softwareheritage.org a few days
ago. Our main use case will be looking up directories by “nar-sha256”
hashes.
* guix/swh.scm (<external-id>): New JSON-mapped record type.
(lookup-external-id, lookup-directory-by-nar-hash): New procedures.
* tests/swh.scm (%external-id): New variable.
("lookup-directory-by-nar-hash"): New test.
Change-Id: Ib671c7798aeb6f8132ac78f2b06b9285da8e7bd5
| Ludovic Courtès |
2024-02-12 | swh: ‘vault-fetch’ follows redirects....Today, URLs like
https://archive.softwareheritage.org/api/1/vault/flat/swh:1:dir:84a8b34591712c0a90bab0af604188bcd1fe3153/raw/
redirect to https://swhvaultstorage.blob.core.windows.net/…. This
change fixes ‘vault-fetch’ to follow these.
Fixes <https://issues.guix.gnu.org/69058>.
* guix/swh.scm (http-get/follow): New procedure.
(vault-fetch): Use it instead of ‘http-get*’.
Change-Id: Id6b9585a9ce6699a2274b99c9a6d4edda1018b02
| Ludovic Courtès |
2024-02-12 | git authenticate: Gracefully handle invalid fingerprints....Previously the command would crash when passed an invalid fingerprint on
the command line.
* guix/scripts/git/authenticate.scm (guix-git-authenticate)
[openpgp-fingerprint*]: New procedure.
Use it instead of ‘openpgp-fingerprint’.
Change-Id: I99e0549781382f36a684a84449b603e00b53778d
| Ludovic Courtès |
2024-02-10 | build-system: perl: Accept Gexps for #:module-build-flags....Matching the change in 2d40e6f7ab04ec367a9a7fc1af3daa507fb60d3c otherwise the
cross build derivations are broken, as was the case for emacs-pde.
* guix/build-system/perl.scm (perl-cross-build) [module-build-flags]: Accept
gexps.
Change-Id: I2dc85bc50bc077581e3abfc5baaedc6487118192
| Christopher Baines |
2024-01-31 | channels: ‘latest-channel-instances’ traverses user-provided channels first....Previously, ‘latest-channel-instances’ would perform a depth-first
traversal of channels. Since dependencies specified in ‘.guix-channel’
are usually less specific that those provided by the user, this would
lead to the use of instances corresponding to those less specific specs,
which in turn might declare dependencies that do not exist for the more
specific instances.
This commit changes ‘latest-channel-instances’ to perform a
breadth-first traversal, thereby giving user-supplied channels higher
precedence over dependencies found via ‘.guix-channel’.
Fixes <https://issues.guix.gnu.org/68822>.
* guix/channels.scm (latest-channel-instances)[ignore?]: Remove.
[instance-name, same-named?, more-specific?]: New procedures.
Rewrite as a breadth-first traversal using a regular loop.
* tests/channels.scm ("latest-channel-instances reads dependencies from most-specific instance"):
New test.
Change-Id: Iba518145cfd209f04293a56246dbfee3b714650b
| Ludovic Courtès |
2024-01-24 | scripts: describe: Support 'channels-sans-intro' format for local checkouts....* guix/scripts/describe.scm (%display-checkout-info):
Support 'channels-sans-intro' format.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sergey Trofimov |
2024-01-24 | weather: Add ‘-e’....* guix/scripts/weather.scm (show-help, %options): Add ‘-e’.
(guix-weather): Handle it.
* doc/guix.texi (Invoking guix weather): Document it.
Change-Id: I6dc97ec2b8226b57be33247b05a34c23b573a64f
| Ludovic Courtès |