summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2024-03-30Merge branch 'emacs-team'Liliana Marie Prikler
2024-03-30Merge branch 'gnome-team'Liliana Marie Prikler
2024-03-30substitute: Retry nar download upon networking error.Ludovic Courtès
This allows ‘guix substitute’ to gracefully handle errors like: TLS error in procedure 'write_to_session_record_port': Error in the push function instead of exiting (“`guix substitute' died unexpectedly”). * guix/scripts/substitute.scm (download-nar)[try-fetch]: Catch ‘network-error?’ too. Reported-by: Ada Stevenson <adanskana@gmail.com> Change-Id: I91b92183b0165832645ee37d50c13445f9322525
2024-03-30channels: Autoload several modules.Ludovic Courtès
* guix/channels.scm: Autoload several Git-related modules. Change-Id: I23e46eabdbfa9db340e26006419b4b87bb446853
2024-03-27Merge branch 'master' into emacs-teamLiliana Marie Prikler
2024-03-21reconfigure: Skip starting new shepherd services with auto-start? #fRichard Sent
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>
2024-03-20Merge remote-tracking branch 'savannah/master' into gnome-teamChristopher Baines
Change-Id: Iec8e15b79c6fde516294c2bfcaf8ee3575b1f745
2024-03-19git authenticate: Document ‘--end’.Ludovic Courtès
* 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
2024-03-19describe: Try harder to find the ‘guix pull’ profile.Ludovic Courtès
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
2024-03-19profiles: ‘read-manifest’ raises to ‘&profile-error’ upon version ↵Ludovic Courtès
mismatch. * guix/profiles.scm (sexp->manifest): In the catch-all clause, raise to ‘&profile-error’ in addition to ‘&message’. Change-Id: Ieb08187b388531c2157bfe67fb1b7319dbbb4ff3
2024-03-16Merge remote-tracking branch 'savannah/master' into gnome-teamChristopher Baines
Change-Id: I775274c2693536e2efa36c9abca4c54c5c458e26
2024-03-11time-machine: Allow time travels to v0.16.0.Ludovic Courtès
* guix/scripts/time-machine.scm (%oldest-possible-commit): Change to v0.16.0. * tests/guix-time-machine.sh: Adjust comment. Change-Id: I9ad82bd45fee0d172b5348a8ae16e990338a3a97
2024-03-10transformations: Add support for rust.Efraim Flashner
* guix/transformations.scm (tuning-compiler): Add support for rustc. Change-Id: I6db596a586eda648666550cdcadaa5e1704cb79c
2024-03-10Merge branch 'master' into gnome-teamLiliana Marie Prikler
2024-03-09download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable.Ludovic Courtès
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
2024-03-09perform-download: Allow use of ‘download-nar’ for ‘--check’ builds.Ludovic Courtès
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
2024-03-09download-nar: Distinguish ‘output’ and ‘item’ parameter.Ludovic Courtès
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
2024-03-09bzr-download: Implement nar fallback.Ludovic Courtès
* 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
2024-03-09svn-download: Use ‘swh-download-directory-by-nar-hash’.Ludovic Courtès
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
2024-03-09hg-download: Use ‘swh-download-directory-by-nar-hash’.Ludovic Courtès
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
2024-03-09swh: ‘lookup-origin-revision’ handles branches pointing to directories.Ludovic Courtès
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
2024-03-09swh: ‘origin-visits’ takes an optional ‘max’ parameter.Ludovic Courtès
* guix/swh.scm (origin-visits): Add optional ‘max’ parameter and honor it. Change-Id: I642d7d4b0672b68fb5c7ce2b49161307e13d3c95
2024-03-09swh: Add ‘type’ field to <visit>.Ludovic Courtès
* guix/swh.scm (<visit>)[type]: New field. Change-Id: I7677984c7daef38d8f3c3bef19723fa0efb035ba
2024-03-09lint: archival: Trigger “Save Code Now” for VCSes other than Git.Ludovic Courtès
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
2024-03-09lint: archival: Fix crash in non-Git case.Ludovic Courtès
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
2024-03-09lint: Switch to SRFI-71.Ludovic Courtès
* guix/lint.scm: Switch from SRFI-11 to SRFI-71. Change-Id: I62e6cd304ad73570bd12bd67f7051566205596bb
2024-03-09Merge branch 'master' into emacs-teamLiliana Marie Prikler
2024-03-07cpu: Enable tuning for i686-linux.Efraim Flashner
* 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
2024-03-07cpu: Rename x86-64-v1 to x86-64.Efraim Flashner
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
2024-03-07cpu: Be consistent with x86_64 micro-architecture names.Efraim Flashner
* 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
2024-03-06scripts: import: elpa: Unquote-splice package sexp contents.Carlo Zancanaro
* 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>
2024-03-06import/cran: Add one more invalid package.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): Add "use_c17". Change-Id: Ie3b6455d4eff97811057cd82dca460367a4583e5
2024-03-05guix: cpu: Update aarch64 CPUs.Efraim Flashner
* guix/cpu.scm (cpu->gcc-architecture): Update list of CPUs from the list in gcc. Change-Id: Ifcd26c143fc9e3aaa0c5514e1dac4908d2780255
2024-03-05guix: cpu: Autodetect the x86-64-v4 microarchitecture.Efraim Flashner
* guix/cpu.scm (gcc-architecture->micro-architecture-level): Sort gcc-architectures which have AVX512F support into x86-64-v4. Change-Id: I8af0ceb692eefec7433e1fd5149379244da799c4
2024-03-05guix: cpu: Update x86_64 CPUs.Efraim Flashner
* 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
2024-03-04gnu: perl6-tap-harness: Update to 0.3.5.Paul A. Patience
* 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>
2024-03-04gnu: rakudo: Update to 2022.04.Paul A. Patience
* 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>
2024-03-02guix: emacs-utils: Make emacs-compile-directory forwards-compatible.Liliana Marie Prikler
Newer (development) builds of Emacs 30 mark a number of functions related to native compilation as ‘internal’. Since we rely on such functions and there does not appear to be a high-level replacement at the moment, let's work around this case. * guix/build/emacs-utils.scm (emacs-compile-directory): Require comp early and check if ‘comp-write-bytecode-file’ is available. Fixes: Upstream renamed comp-write-bytecode-file <https://bugs.gnu.org/69201>
2024-03-02build-system/guile: Install .scm files first.Tomas Volf
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>
2024-03-02build-system/guile: Fix indentation.Tomas Volf
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>
2024-03-02build-system/guile: Fix typo in documentation string.Tomas Volf
* 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>
2024-03-02Merge branch 'master' into gnome-teamLiliana Marie Prikler
2024-03-02Merge branch 'master' into emacs-teamLiliana Marie Prikler
2024-02-28Merge branch 'rust-team'Efraim Flashner
Change-Id: Iee31c5de29c357c822f60df4fa8ce758779eb349
2024-02-25Merge branch 'master' into gnome-teamLiliana Marie Prikler
2024-02-24build-system: emacs: Compute relative file names.Liliana Marie Prikler
With the previous commit, relative file names are expanded relative to ELN_DIR -- more or less. To make use of this in emacs-build-system, we must also pass relative file names. * guix/build/emacs-build-system.scm (emacs-compile-directory): Compute the relative file names of the files to compile. Change-Id: I8983f80fb0fe1573e46748222403ba8873f1599f
2024-02-23import: Do not return package name with json importer.Herman Rimm
* 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>
2024-02-23import: Discard args after --version and --help.Herman Rimm
* guix/scripts/import.scm (guix-import): Discard args. Change-Id: Icce5cd0daf9011f7ddde7904113b31b547f063ef Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-23import: Insert packages into modules alphabetically.Herman Rimm
* 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>
2024-02-23utils: Add find-definition-insertion-location procedure.Herman Rimm
* 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>