Age | Commit message (Expand) | Author |
2023-02-27 | scripts: repl: Extend REPL %load-path with all channels....Fixes <https://bugs.gnu.org/61343>.
Reported by 宋文武 <iyzsong@envs.net>.
* guix/scripts/repl.scm (define-command): Before starting the REPL,
call 'current-profile' to populate (%package-module-path).
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Simon Tournier |
2023-02-27 | gexp: computed-file: Do not honor %guile-for-build....This reverts commit 68775338a510f84e63657ab09242d79e726fa457.
Fixes <https://issues.guix.gnu.org/61841>.
(%guile-for-build) is a derivation for a specific system,
whereas (default-guile) is a system-independent package. It's crucial
to preserve this distinction.
See discussion at <https://issues.guix.gnu.org/61255#29>.
* guix/gexp.scm (computed-file-compiler): Honor (default-guile),
not (%guile-for-build).
| Ludovic Courtès |
2023-02-27 | pack: Make sure tests can run without a world rebuild....Commit 68380db4c40a2ee1156349a87254fd7b1f1a52d5 moved from
'gexp->derivation', which as a side effect, would lead tests to require
a "world rebuild"--specifically, they'd have to build (default-guile).
This was mitigated by 68775338a510f84e63657ab09242d79e726fa457, but that
change introduced another regression.
* guix/scripts/pack.scm (populate-profile-root): Define 'bootstrap?'.
Pass #:guile to 'computed-file', with a value depending on 'bootstrap?'.
* tests/pack.scm ("self-contained-tarball + localstatedir")
("docker-image + localstatedir", "squashfs-image + localstatedir")
("deb archive with symlinks and control files")
("rpm archive can be installed/uninstalled"): Use a <profile> record
instead of a derivation.
| Ludovic Courtès |
2023-02-26 | build: haskell-build-system: Build static executables by default....This is the only way to get reasonably small binaries that don’t pull
in a ton of ghc-* packages.
* guix/build/haskell-build-system.scm (configure): Explicitly
add --enable-static and --disable-executable-dynamic, as well as
-split-sections to configure flags.
| Lars-Dominik Braun |
2023-02-26 | build-system: haskell: Drop default "static" output....* guix/build-system/haskell.scm (lower): Pass outputs to lowered bag.
* guix/build/haskell-build-system.scm (install): Remove static library
moving code.
* gnu/packages/haskell-check.scm (ghc-hunit): Remove "static" output.
* gnu/packages/haskell-crypto.scm (ghc-crypto-api-tests): Likewise.
* gnu/packages/haskell-xyz.scm (ghc-case-insensitive): Likewise.
(ghc-cmdargs): Likewise.
(ghc-conduit): Likewise.
(ghc-fgl): Likewise.
(ghc-haskell-src-exts): Likewise.
(ghc-lib-parser): Likewise.
(ghc-mono-traversable): Likewise.
(ghc-parallel): Likewise.
(ghc-paths): Likewise.
(ghc-profunctors): Likewise.
(ghc-tf-random): Likewise.
(ghc-vector): Likewise.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Remove unused linker flags....They were inserted as-is, without expandind variables into binaries.
* guix/build/haskell-build-system.scm (configure): Remove --ghc-option.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Process all transitive dependencies....A bug caused install-transitive-deps to stop looping if a dependency
file already existed in the target directory. For Haskell packages
with multiple libraries (like attoparsec) this resulted in missing
dependencies and error messages like this:
The following packages are broken because other packages they depend
on are missing. These broken packages must be rebuilt before they
can be used.
installed package attoparsec-0.14.4 is broken due to missing package
scientific-0.3.7.0-9XG3zUjXOw970JFcruv0cZ
See <https://issues.guix.gnu.org/54729#11>.
* guix/build/haskell-build-system.scm (register): Unconditionally loop
over all tails.
| Lars-Dominik Braun |
2023-02-26 | import: haskell: Add new internal library for GHC 9.2....* guix/import/hackage.scm (ghc-standard-libraries): Add ghc-bignum.
| Lars-Dominik Braun |
2023-02-26 | import: hackage: Use upstream-name property....* guix/import/hackage.scm (guix-package->hackage-name): Removed.
(latest-release): Use package-upstream-name* instead.
* guix/import/stackage.scm (latest-lts-release): Ditto.
(stackage-lts-package?): Ditto.
| Lars-Dominik Braun |
2023-02-26 | import: hackage: Add upstream-name property....* guix/import/hackage.scm (hackage-module->sexp): Add property
upstream-name to imported package.
* tests/hackage.scm (match-ghc-foo): Add upstream-name property.
(match-ghc-foo-6): Ditto.
(match-ghc-elif): Ditto.
(match-ghc-foo-revision): Ditto.
(match-ghc-foo-import): Ditto.
| Lars-Dominik Braun |
2023-02-26 | import: stackage: Update to release 20.5....* guix/import/stackage.scm (%default-lts-version): Update to 20.5.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Support multiple libraries....Fixes <https://bugs.gnu.org/53655>.
The patch handles correctly the multiple registration of some package using
their own internal sub-libraries. It allows to call 'install-transitive-deps'
multiple times and deals with packages requiring a multiple registration.
* guix/build/haskell-build-system.scm (register)[install-transitive-deps]:
Guard also the destination direction.
[install-config-file]: New procedure.
Co-Authored-by: zimoun <zimon.toutoune@gmail.com>.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| Philip Munksgaard |
2023-02-26 | build: haskell-build-system: Remove trailing #t....* guix/build/haskell-build-system.scm (configure, install, setup-compiler,
make-ghc-package-database, install-transitive-deps, check, haddock,
patch-cabal-file, generate-setuphs): Delete trailing #t.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| zimoun |
2023-02-26 | import: hackage: Allow version at the beginning of cabal file....Fix a corner case, uncovered by the hedgehog package, which has the
version field at the beginning of its cabal file. This causes a pattern
match failure.
* guix/import/hackage.scm (latest-release): Match version at beginning
of expression too.
| Lars-Dominik Braun |
2023-02-25 | cpio: Properly handle Unicode characters in file names....Fixes <https://issues.guix.gnu.org/61722>.
* guix/cpio.scm (file->cpio-header): Compute the file name length in bytes rather than in
characters.
(file->cpio-header*, special-file->cpio-header*): Likewise.
(write-cpio-archive): Likewise, and write the file name as UTF-8 bytes, not
textually, to avoid encoding it as ISO-8859-1.
| Maxim Cournoyer |
2023-02-24 | offload: Increase initial SSH connection timeout....Fixes <https://issues.guix.gnu.org/61646>.
* guix/scripts/offload.scm (open-ssh-session): Increase connection timeout
from 10 s to 30 s.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-02-24 | scripts: home: Move ensure-profile-directory to a better place....The profile directory is usually created by daemon, when user opens a
connection. Ideally, we would like to remove ensure-profile-directory call at
all, but daemon doesn't handle case with custom $GUIX_STATE_DIRECTORY yet.
More information in: <https://issues.guix.gnu.org/61717>
* guix/scripts/home.scm (process-action): Move ensure-profile-directory call
to the place, where connection to the daemon is already open.
Reported-by: wolf <wolf@wolfsden.cz>
| Andrew Tropin |
2023-02-19 | git: Make better use of the better progress bar....Commit 189525412e3d803f3f77e15ec4a62aaa57f65a2d introduced
‘high-resolution’ Unicode progress bars, but these require more granular
calls to reach their full potential.
* guix/git.scm (show-progress): Derive the number of PROGRESS-BAR
updates from its maximum resolution, rather than hard-coding 100.
| Tobias Geerinckx-Rice |
2023-02-19 | git: Factor out INDEXER-PROGRESS-TOTAL-OBJECTS access....* guix/git.scm (show-progress): Reuse the result of the first call.
| Tobias Geerinckx-Rice |
2023-02-19 | ssh: Factor out progress % calculation....* guix/ssh.scm (notify-transfer-progress): Trust its % argument.
| Tobias Geerinckx-Rice |
2023-02-23 | pack: Add UTF-8 locales to RPM pack builder....It's necessary as 'generate-header' call ends up calling 'find-files', which
could fail to read file names containing non-ascii characters, as spotted in
the wild:
building /gnu/store/...-jami-rpm-pack.rpm.drv...
find-files: ./gnu/store/...-nss-certs-3.81/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny.pem:
No such file or directory
* guix/scripts/pack.scm (rpm-archive): Expand set-utf8-locale helper in the
builder gexp.
| Maxim Cournoyer |
2023-02-22 | pack: Register extra /usr/share sub-directories as FHS....* guix/rpm.scm (%fhs-directories): Add extra FHS directories. They were found
to conflict while testing a 'guix pack' built Jami RPM.
| Maxim Cournoyer |
2023-02-19 | pack: Add RPM format....* guix/rpm.scm: New file.
* guix/scripts/pack.scm (rpm-archive): New procedure.
(%formats): Register it.
(show-formats): Add it.
(guix-pack): Register supported extra-options for the rpm format.
* tests/pack.scm (rpm-for-tests): New variable.
("rpm archive can be installed/uninstalled"): New test.
* tests/rpm.scm: New test.
* doc/guix.texi (Invoking guix pack): Document it.
| Maxim Cournoyer |
2023-02-19 | pack: Extract populate-profile-root from self-contained-tarball/builder....This allows more code to be reused between the various archive writers.
* guix/scripts/pack.scm (set-utf8-locale): New top-level procedure, extracted
from...
(populate-profile-root): New procedure, extracted from...
(self-contained-tarball/builder): ... here. Add #:target argument. Call
populate-profile-root.
[LOCALSTATEDIR?]: Set db.sqlite file permissions.
(self-contained-tarball): Call self-contained-tarball/builder with the TARGET
argument, and set #:local-build? to #f for the gexp-derivation call. Remove
now extraneous #:target and #:references-graphs arguments from the
gexp->derivation call.
(debian-archive): Call self-contained-tarball/builder with the #:target
argument. Fix indentation. Remove now extraneous #:target and
#:references-graphs arguments from the gexp->derivation call.
| Maxim Cournoyer |
2023-02-19 | gexp: computed-file: Honor %guile-for-build....* guix/gexp.scm (computed-file-compiler): Honor %guile-for-build.
| Maxim Cournoyer |
2023-02-19 | pack: Use let-keywords instead of keyword-ref....* guix/scripts/pack.scm: (debian-archive): Bind extra-options keyword
arguments via let-keywords.
| Maxim Cournoyer |
2023-02-19 | guix: Show better progress bars....Style provides information on the characters to use before and after the
progress bar content (`[` and `]` for the ascii style), as well as the
character for filled step (`#` for ascii style). When supported, it
provides intermediate steps. This is used for unicode style, to show
better precision.
* guix/progress.scm (<progress-bar-style>): New record type.
(ascii-bar-style, unicode-bar-style): New variables.
(progress-bar): Draw progress depending on style. When supported, use
unicode style. Fall back to ascii style.
| Julien Lepiller |
2023-02-18 | import/cran: Remove directory-needs-zlib? in favor of needed-libraries-in-dir......* guix/import/cran.scm (directory-needs-zlib?): Remove procedure.
(source-dir->dependencies): Use needed-libraries-in-directory instead of
directory-needs-zlib?.
| Ricardo Wurmus |
2023-02-18 | import/cran: Add generic way to detect needed libraries....* guix/import/cran.scm (needed-libraries-in-directory): New procedure.
(libraries-pattern, packages-for-matches): New variables.
| Ricardo Wurmus |
2023-02-18 | import/cran: Process all vignette builders....* guix/import/cran.scm (needs-knitr?): Remove procedure.
(vignette-builders): New procedure.
(description->package): Use vignette-builders instead of needs-knitr?.
| Ricardo Wurmus |
2023-02-18 | import/cran: Add name mapping for libjpeg....* guix/import/cran.scm (transform-sysname): Add mapping from libjpeg to
libjpeg-turbo.
| Ricardo Wurmus |
2023-02-18 | import/cran: Add directory-needs-esbuild?....* guix/import/cran.scm (directory-needs-esbuild?): New procedure.
(source-dir->dependencies): Use it.
| Ricardo Wurmus |
2023-02-12 | licenses: Update NPSL (nmap licence)....The previous URL does not resolve. The new URL contains an updated
licence text (version 0.95 at time of this commit) that is strictly less
worse than previous versions, and applies retroactively to older nmaps:
“Versions of Nmap released under previous versions of the NPSL may
also be used under the NPSL 0.95 terms.”
-- <https://nmap.org/changelog>
* guix/licenses.scm (nmap): Update.
| Tobias Geerinckx-Rice |
2023-02-12 | build-system: Add tree-sitter-build-system....* guix/build-system/tree-sitter.scm: New module.
* guix/build/tree-sitter-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Document it.
Signed-off-by: Andrew Tropin <andrew@trop.in>
| Pierre Langlois |
2023-02-12 | syscalls: 'with-file-lock' removes lock file upon exit....Fixes <https://issues.guix.gnu.org/57501>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/build/syscalls.scm (call-with-file-lock)
(call-with-file-lock/no-wait): Add call to 'delete-file' in unwind
handler.
| Ludovic Courtès |
2023-02-11 | download: Add bordeaux.guix.gnu.org as a content addressed mirror....bordeaux.guix.gnu.org now provides access to some files by hash. This is done
through the nar-herder finding a nar produced by a fixed output derivation for
the requested content, and then providing the content stored inside that nar.
I've put this new entry at the start of the list, as I think it's more likely
to have content than the others. Because bordeaux.guix.gnu.org stores nars
indefinitely, my suspicion is that it's going to be able to fulfil more
requests than ci.guix.gnu.org, which relies on the file requested being in the
store (so the now frequent garbage collection is going to limit the files
available).
* guix/download.scm (%content-addressed-mirrors): Add bordeaux.guix.gnu.org.
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Christopher Baines |
2023-02-11 | status: Print a hint when a 'package-cache' hook fails to build....* guix/channels.scm (package-cache-file): Add 'channels' to the #:properties
list.
* guix/status.scm (print-build-event): Upon failure, display a hint when
the derivation is a 'package-cache' hook.
| Ludovic Courtès |
2023-02-11 | utils: Add target-little-endian?....* guix/utils.scm (target-little-endian?): New function.
* guix/build-system/meson.scm (make-machine-alist): Use it.
* gnu/packages/chez.scm (nix-system->pbarch-machine-type): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Philip McGrath |
2023-02-03 | build-system: Always pass #:graft? #f to 'gexp->derivation'....Fixes <https://issues.guix.gnu.org/60947>.
Fixes a bug whereby packages referred via 'ungexp' in package arguments
would be "double-grafted": 'gexp->derivation' would first replace those
references by references to the grafted package, only to repeat the
grafting process on the result.
Build systems such as 'gnu', 'cmake', and 'pyproject' were already doing
this. Only the rest of them is affected.
* guix/build-system/cargo.scm (cargo-build): Pass #:graft? #f to
'gexp->derivation'.
* guix/build-system/copy.scm (copy-build): Likewise.
* guix/build-system/dune.scm (dune-build): Likewise.
* guix/build-system/font.scm (font-build): Likewise.
* guix/build-system/guile.scm (guile-build): Likewise.
(guile-cross-build): Likewise.
* guix/build-system/ocaml.scm (ocaml-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/scons.scm (scons-build): Likewise.
* guix/build-system/texlive.scm (texlive-build): Likewise.
* guix/build-system/waf.scm (waf-build): Likewise.
| Ludovic Courtès |
2023-01-30 | container: Correctly report exit status....* gnu/build/linux-container.scm (container-excursion): Return the raw
status value.
* tests/containers.scm ("container-excursion, same namespaces"): Add
'status:exit-val' call.
* guix/scripts/container/exec.scm (guix-container-exec): Correctly
handle the different cases.
| Ludovic Courtès |
2023-01-29 | build-system: copy: Add substitutable keyword....* guix/build-system/copy.scm (copy-build): Add substitutable keyword.
| Jonathan Brielmaier |
2023-01-22 | download: Remove dead SourceForge mirrors....* guix/download.scm (%mirrors): Remove dl.sourceforge.net subdomains
that no longer resolve.
| Tobias Geerinckx-Rice |
2023-01-26 | inferior: Use 'spawn' on Guile 3.0.9+....* guix/inferior.scm (open-bidirectional-pipe): When 'spawn' is defined,
use it instead of 'primitive-fork'.
| Ludovic Courtès |
2023-01-25 | ui: Add "error-reporting wrapper" for 'mkdir'....* guix/ui.scm <top level>: Change 'mkdir' to use an error-reporting
wrapper.
| Ludovic Courtès |
2023-01-23 | channels: 'channel->code' emits 'channel' field only when necessary....* guix/channels.scm (channel->code): Emit 'commit' field only when it is
true.
| Ludovic Courtès |
2023-01-23 | import: opam: Do not crash when description is missing....Previous 'guix import opam coccinelle' would crash due to the lack of a
description.
* guix/import/opam.scm (opam->guix-package): Call 'beautify-description'
only when "description" metadata is available.
| Ludovic Courtès |
2023-01-18 | platforms: Raise an exception when no suitable platform is found....This was motivated by #60786, which produced a cryptic, hard to understand
backtrace.
Given the following reproducer:
(use-modules (guix packages)
(gnu packages cross-base))
(define linux-libre-headers-cross-mips64el-linux-gnuabi64
(cross-kernel-headers "mips64el-linux-gnuabi64"))
(package-arguments linux-libre-headers-cross-mips64el-linux-gnuabi64)
Before this change:
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
After this change:
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
ERROR:
1. &platform-not-found-error: "mips64el-linux-gnuabi64"
* guix/platform.scm (&platform-not-found-error): New condition.
(platform-not-found-error?): New predicate.
(false-if-platform-not-found): New syntax.
(lookup-platform-by-system): Raise an exception when no platform is found.
Update documentation.
(lookup-platform-by-target): Likewise.
(lookup-platform-by-target-or-system): Likewise, and guard lookup calls with
false-if-platform-not-found.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Handle
lookup-platform-by-system call to preserve existing behavior.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Maxim Cournoyer |
2023-01-17 | debug-link: Protect against dangling symlinks....Fixes <https://issues.guix.gnu.org/60584>.
Reported by Greg Hogan <code@greghogan.com>
and Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr>.
* guix/build/debug-link.scm (find-elf-files): Wrap 'elf-file?' call in 'catch'.
| Ludovic Courtès |
2023-01-17 | build-system/meson: Add mips64el cross compilation support....* guix/build-system/meson.scm (make-machine-alist): Add it.
| Mathieu Othacehe |
2023-01-16 | scripts: repl: Add -i, --interactive flag....* guix/scripts/repl.scm (%options): Add -i, --interactive flag.
(guix-repl): Honor -i, --interactive flag.
* doc/guix.texi (Invoking guix repl): Add documentation for -i, --interactive.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Antero Mejr |