Age | Commit message (Expand) | Author |
2023-09-26 | git-download: Use “builtin:git-download” when available....Fixes <https://issues.guix.gnu.org/63331>.
Longer-term this will remove Git from the derivation graph when its sole
use is to perform a checkout for a fixed-output derivation, thereby
breaking dependency cycles that can arise in these situations.
* guix/git-download.scm (git-fetch): Rename to…
(git-fetch/in-band): … this. Deal with GIT or GUILE being #f.
(git-fetch/built-in, built-in-builders*, git-fetch): New procedures.
* tests/builders.scm ("git-fetch, file URI"): New test.
| Ludovic Courtès |
2023-09-26 | perform-download: Use the ‘git’ command captured at configure time....* guix/scripts/perform-download.scm (perform-git-download): Pass #:git-command
to ‘git-fetch-with-fallback’.
| Ludovic Courtès |
2023-09-26 | build: Add dependency on Git....* configure.ac: Check for ‘git’ and substitute ‘GIT’.
* guix/config.scm.in (%git): New variable.
* guix/self.scm (compiled-guix): Define ‘git’ and pass it to
‘make-config.scm’.
(make-config.scm): Add #:git; emit a ‘%git’ variable.
* doc/guix.texi (Requirements): Add it.
| Ludovic Courtès |
2023-09-26 | daemon: Add “git-download” built-in builder....The new builder makes it possible to break cycles that occurs when the
fixed-output derivation for the source of a dependency of ‘git’ would
itself depend on ‘git’.
* guix/scripts/perform-download.scm (perform-git-download): New
procedure.
(perform-download): Move fixed-output derivation check to…
(guix-perform-download): … here. Invoke ‘perform-download’ or
‘perform-git-download’ depending on what ‘derivation-builder’ returns.
* nix/libstore/builtins.cc (builtins): Add “git-download”.
* tests/derivations.scm ("built-in-builders"): Update.
("'git-download' built-in builder")
("'git-download' built-in builder, invalid hash")
("'git-download' built-in builder, invalid commit")
("'git-download' built-in builder, not found"): New tests.
| Ludovic Courtès |
2023-09-26 | perform-download: Remove unused one-argument clause....Code in ‘builtins.cc’ only ever invokes ‘guix perform-download’ with two
arguments.
* guix/scripts/perform-download.scm (guix-perform-download): Remove
unused one-argument clause.
(perform-download): Make ‘output’ parameter mandatory; remove ‘output*’
variable.
| Ludovic Courtès |
2023-09-26 | git-download: Honor the ‘GUIX_DOWNLOAD_FALLBACK_TEST’ environment variable....* guix/git-download.scm (git-fetch): Honor ‘%download-fallback-test’.
| Ludovic Courtès |
2023-09-26 | git-download: Move fallback code to (guix build git)....* guix/build/git.scm (git-fetch-with-fallback): New procedure, with code
taken from…
* guix/git-download.scm (git-fetch): … here.
[modules]: Remove modules that are no longer directly used in ‘build’.
[build]: Use ‘git-fetch-with-fallback’.
| Ludovic Courtès |
2023-09-25 | git: Restore 'false-if-git-not-found' in 'reference-available?'....* guix/git/scm (reference-available?): Add 'false-if-git-not-found' for the
case 'commit.
| Simon Tournier |
2023-09-22 | Merge branch 'master' into emacs-team | Liliana Marie Prikler |
2023-09-22 | git: Avoid touching the network unless needed in 'reference-available?'....Follow-up of 756e336fa008c2469b4a7317ad5c641ed48f25d6 fixing the issue.
* guix/git/scm (reference-available?): Address case by case to determine
whether the reference exists in the local Git checkout.
| Simon Tournier |
2023-09-20 | image: Introduce the mbr-hybrid-raw image type....Until 209204e23b39af09e0ea92540b6fa00a60e6a0ae and
d57cab764122af69d52d8cc9c843456044e5d7bc, the default image type used by "guix
system image" was an MBR image with an ESP partition.
Having both an MBR image and an ESP partition is handy because the image will
boot on most x86 based systems using legacy BIOS and/or UEFI.
We now have a distinction between MBR images and EFI images. Introduce a new
MBR hybrid image type and default to it to restore the default behaviour.
This also fixes the images section of (gnu ci) that was trying to install a
BIOS bootloader on an EFI, GPT image and failing to do so.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Mathieu Othacehe |
2023-09-19 | self: Compile guix-packages-base in chunks of 10 files....This fixes or greatly increases the chances for `guix pull' to succeed on the
Hurd, see <https://issues.guix.gnu.org/65456>.
* guix/self.scm (compiled-modules)[process-directory]: Move hardcoded size to
keyword parameter #:size. Set it to 10 when compiling "guix-packages-base".
| Janneke Nieuwenhuizen |
2023-09-18 | self: Build directories in chunks of max 25 files at a time....This increases the chances of a successful `guix pull' on the Hurd,
see <https://issues.guix.gnu.org/65456>.
* guix/self.scm (compiled-modules)[process-directory]: Split building of
directories into chunks of max 25 files. Also call gc.
| Janneke Nieuwenhuizen |
2023-09-17 | transformations: tuned-package: Use target on cross-compile....* guix/transformations.scm (tuned-package): Use either bag-target if
available or bag-system to select the CPU architecture of the package
that is going to be tuned. This enables the tuning of cross-compiled
packages.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Jean-Pierre De Jesus DIAZ |
2023-09-09 | Merge branch 'master' into emacs-team | Liliana Marie Prikler |
2023-09-08 | guix: shell: Don't whitelist / by typo in `shell-authorized-directories'....Fixes <https://issues.guix.gnu.org/65832>.
* guix/scripts/shell.scm (authorized-shell-directory?): After warning,
continue LOOP to return valid query result for DIRECTORY.
| Janneke Nieuwenhuizen |
2023-09-08 | lint: Check that (cc-for-target) and friends are used...."CC=gcc" is almost always incorrect; people often just don't
notice the incorrectness because they are compiling natively.
For an exception, see tzdata.
"guix style" partially made things worse, so I partially ignored it.
* guix/lint.scm (check-compiler-for-target): New linter.
* tests/lint.scm
("compiler-for-target: unconditional CC=gcc is unacceptable")
("compiler-for-target: looks through G-expressions")
("compiler-for-target: (cc-for-target) is acceptable")
("compiler-for-target: CC=gcc is acceptable when target=#false"):
Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2023-09-07 | build: emacs-utils: Adjust ‘emacs-compile-directory’ for Emacs 29....* guix/build/emacs-utils.scm (emacs-compile-directory): After native
compilation, write the bytecode file with ‘comp-write-bytecode-file’.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Hilton Chain |
2023-09-06 | guix: packages: Support package/inherit by package-field-location....Fixes <https://issues.guix.gnu.org/65236>.
* guix/packages.scm (package-field-location): Add package/inherit case.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Simon Tournier |
2023-09-06 | gnu-maintenance: Do not error when there are no candidates....Fixes <https://issues.guix.gnu.org/65773>.
* guix/gnu-maintenance.scm (rewrite-url): Do not error when there are no
candidates. This may well be possible, depending on the site.
| Maxim Cournoyer |
2023-09-05 | git: Fix typo in reference-available? comment....* guix/git.scm (reference-available?): Fix typo.
| Maxim Cournoyer |
2023-09-05 | time-machine: Also validate the reference from a channels file....* guix/scripts/time-machine.scm (guix-time-machine)
<validate-guix-channel>: Update doc. Fall-back to use the Guix channel
reference when REF is #f.
Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
Co-authored-by: Simon Tournier <zimon.toutoune@gmail.com>
| Maxim Cournoyer |
2023-09-05 | Revert "guix: git: Avoid touching the network unless needed in 'reference-ava......This reverts commit a789dd58656d5f7f1b8edf790d77753fc71670af, which broke
e.g.:
guix time-machine -C <(echo %default-channels) -- describe
Add an explanatory comment as suggested.
Reported-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-09-05 | gnu-maintenance: Do not crash on refresh when origin URI is a list....Updating the simh package would fail with:
ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure
string-prefix?: Wrong type argument in position 2 (expecting
string): ("http://simh.trailing-edge.com/sources/simhv312-4.zip"
"http://simh.trailing-edge.com/sources/archive/simhv312-4.zip")
This is because it expects a scalar value, but lists are allowed for URIs.
* guix/gnu-maintenance.scm (import-html-updatable-release): Check that URI is
a string before checking if it has the mirror:// prefix.
| Maxim Cournoyer |
2023-08-26 | Merge branch 'master' into emacs-team | Liliana Marie Prikler |
2023-08-25 | graph: Add GraphML backend....* guix/graph.scm (emit-graphml-prologue, emit-graphml-epilogue,
emit-graphml-node, emit-graphml-edge): New procedures.
(%graphml-backend): New variable.
(%graph-backends): Add %graphml-backend.
| Josselin Poiret |
2023-08-25 | image: Add mbr-raw-image-type and use by default....* gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables.
(qcow2-image-type): Inherit mbr-disk-image.
* guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by
default.
* gnu/tests/install.scm (run-install): Use mbr-raw in the tests.
* doc/guix-cookbook.texi (Guix System Image API): Update the list of image
types.
* doc/guix.texi (Invoking guix system, System Images, image-type Reference):
Add mbr-raw and switch documented default to it.
| Josselin Poiret |
2023-08-24 | guix: profiles: Detect TeX Live packages propagated from non-TeX Live inputs....This fixes <https://issues.guix.gnu.org/65474>.
* guix/profiles.scm (texlive-font-maps): Also check for TeX Live dependencies
in non "texlive-" prefixed packages.
For example, PYTHON-NBCONVERT propagates TeX Live inputs. Those need to be
found out when building ".map"" files.
Co-authored-by: Andreas Enge <andreas@enge.fr>
| Nicolas Goaziou |
2023-08-22 | Revert "self: Build gnu/packages/*.go in 26 steps."...This reverts commit 5898b2e8a3dbf7797e83b39a2783c5b543015725, which led
to Guix where many .go files would be missing, as reported in
<https://issues.guix.gnu.org/65456>.
| Ludovic Courtès |
2023-08-22 | self: Build gnu/packages/*.go in 26 steps....Similar to the Makefile.am change, this breaks-up gnu/packages into 26 chunks
when building on 32bit. Also force garbage collection.
* guix/self.scm (compiled-modules)[process-directory]: Split building of
"gnu/packages" into 26 chunks.
| Janneke Nieuwenhuizen |
2023-08-22 | gnu-maintenance: Improve check for disabled host names....Found while investigating <https://issues.guix.gnu.org/65304>.
* guix/gnu-maintenance.scm (html-updatable-package?): Tighten predicate.
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-08-22 | download: Add mirrors for Qt....* guix/download.scm (%mirrors): Augment with qt mirrors.
Series-changes: 2
- Move authoritative mirror last, as it's too slow.
| Maxim Cournoyer |
2023-08-22 | ssh: Also print the user when authentication fails....* guix/ssh.scm (open-ssh-session): Show user in error message.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2023-08-19 | guix: emacs-utils: Add ert-number-tests....* guix/build/utils.scm (ert-number-tests): New variable.
| Liliana Marie Prikler |
2023-08-12 | reconfigure: Use let* from srfi-71....* guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): Merge
'let' + 'let*' in just 'let*'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Nicolas Graves |
2023-08-12 | platform: Add powerpc64-linux....* guix/platforms/powerpc.scm (powerpc64-linux): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| fanquake |
2023-09-13 | upstream: Compare symbols to symbols....The UNCHANGED? comparison would always yield #FALSE, because we have been
comparing lists of strings with lists of symbols.
* guix/upstream.scm (update-package-inputs): Convert string labels to symbols
before comparison.
| Ricardo Wurmus |
2023-09-12 | search-paths: Add $TZDIR....* guix/search-paths.scm ($TZDIR): New search path.
| Maxim Cournoyer |
2023-09-11 | gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs....This reinstate commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f with a fix to
the inner expand-uri procedure.
| Maxim Cournoyer |
2023-09-11 | Revert "gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs."...This reverts commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f. Pushed too
early.
| Maxim Cournoyer |
2023-09-11 | gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs....Fixes <https://issues.guix.gnu.org/58697>.
* guix/gnu-maintenance.scm (import-html-updatable-release): Update doc.
<expand-uri>: New nested procedure. Apply it to the origin URI.
Reported-by: kiasoc5 <kiasoc5@disroot.org>
| Maxim Cournoyer |
2023-08-19 | Merge branch 'kde-updates' | 宋文武 |
2023-08-17 | pull, time-machine: Add '-q' to ignore channel files....This also fixes <https://issues.guix.gnu.org/63726>.
* guix/scripts/pull.scm (show-help, %options): Add '-q'.
(channel-list): Honor it.
* guix/scripts/time-machine.scm (show-help, %options): Add '-q'.
* doc/guix.texi (Invoking guix pull, Invoking guix time-machine):
Document it.
Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
| Ludovic Courtès |
2023-08-17 | ui: 'load*' accepts /dev/fd/N files pointing to a pipe....This allows users to write Bash commands like:
guix time-machine -C <(echo %default-channels) -- ...
or:
guix build -m <(echo '(specifications->manifest (list "guile"))')
Previously, on GNU/Linux, they would fail with:
error: failed to load '/dev/fd/63': No such file or directory
* guix/ui.scm (try-canonicalize-path): New procedure.
(load*): Use it.
* tests/guix-build.sh: Test 'guix build -m' with a /dev/fd/N file.
| Ludovic Courtès |
2023-08-17 | Merge remote-tracking branch 'origin/master' into kde-updates | 宋文武 |
2023-08-16 | scripts: time-machine: Error when attempting to visit too old commits....* doc/guix.texi (Invoking guix time-machine): Document limitation.
* guix/inferior.scm (cached-channel-instance): New VALIDATE-CHANNELS
argument. Use it to validate channels when there are no cache hit.
* guix/scripts/time-machine.scm
(%options): Tag the given reference with 'tag-or-commit instead of 'commit.
(%oldest-possible-commit): New variable.
(guix-time-machine) <validate-guix-channel>: New nested procedure. Pass it to
the 'cached-channel-instance' call.
* tests/guix-time-machine.sh: New test.
* Makefile.am (SH_TESTS): Register it.
Suggested-by: Simon Tournier <zimon.toutoune@gmail.com>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
| Maxim Cournoyer |
2023-08-16 | pull: Tag commit argument with 'tag-or-commit....For compatibility with (guix git) procedures.
* guix/scripts/pull.scm (channel-list): Also accept tag-or-commit tagged
refspec.
| Maxim Cournoyer |
2023-08-16 | git: Clarify commit relation reference in doc....* guix/git.scm (update-cached-checkout): Clarify that it is the relation of
STARTING-COMMIT that is returned, relative to the new commit, not the other
way around.
| Maxim Cournoyer |
2023-08-16 | guix home: Create /tmp in container if needed....Previously 'guix home container' would create a container without /tmp,
which would prevent 'least-authority-wrapper' programs from starting,
for example.
* guix/scripts/home.scm (spawn-home-container): Create /tmp if it
doesn't exist yet.
| Ludovic Courtès |
2023-08-16 | guix: import: texlive importer handles Ruby linked scripts....* guix/import/texlive.scm (linked-scripts): Also check for scripts with ".rb" extension.
(tlpdb->package): Add proper RUBY input for Ruby linked scripts.
| Nicolas Goaziou |