Age | Commit message (Expand) | Author |
2024-01-17 | import/cran: Accept optional alternative download procedure....This is useful for cached mass imports.
* guix/import/cran.scm (fetch-description-from-tarball): Accept optional
download keyword.
(fetch-description): Accept optional replacement-download argument.
Change-Id: Ic917074656ac34a24c8e7eea3d3e0528fc5180b3
| Ricardo Wurmus |
2024-01-16 | import/cran: Add more invalid package names and translations....These were encountered in a mass import of Bioconductor packages.
* guix/import/cran.scm (invalid-packages): Add "rtools".
(transform-sysname): Add aliases for Python and bioinformatics packages.
Change-Id: I97e13cee10c2ee85d4b9296d91afccbdbcec4946
| Ricardo Wurmus |
2024-01-16 | import/cran: Add more invalid package names and translations....* guix/import/cran.scm (invalid-packages): Add "build-essential".
(transform-sysname): Add aliases for openssl, libxml2, and zlib.
Change-Id: Ia142ebc388dbcd47caf3b2c5165bc21227bc1832
| Ricardo Wurmus |
2024-01-16 | import: crate: Simplify find-crate-version....* guix/import/crate.scm (find-crate-version): Reuse
nonyanked-crate-versions, max-crate-version-of-semver.
Change-Id: I976a3b5a397f0d6a7d723804a98356544bfc7da3
| Efraim Flashner |
2024-01-16 | import: crate: Update to latest semver version....* guix/import/crate.scm (min-element, max-crate-version-of-semver,
nonyanked-crate-versions): New procedures.
(import-release)[version]: Update to the requested version or the newest
semver-compatible version.
Co-authored by David Elsing <david.elsing@posteo.net>
Change-Id: I72b081147c4eb9faf482f159b7145aaaf9f91f29
| Efraim Flashner |
2024-01-13 | scripts: pack: Set correct default value for entry-point-argument....The default value of #f led to ("..." . #f) being passed further down as an
entry point. That is not an issue for command line invocation, since in that
code path '() was already used as a default value, but it broke docker system
test with the following error:
building /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv...
tar: Removing leading `/' from member names
Backtrace:
6 (primitive-load "/gnu/store/g8hqzccfvn4mkm41jqs65c27gs7?")
In ./guix/docker.scm:
268:6 5 (build-docker-image "/gnu/store/zi2f5dfdrhviinm6jxp3cj?" ?)
In ice-9/ports.scm:
433:17 4 (call-with-output-file _ _ #:binary _ #:encoding _)
476:4 3 (_ _)
In ./guix/docker.scm:
270:21 2 (_)
123:40 1 (config "1996ead589ab366473d935c4d5bd0c38b998f3b299847?" ?)
In unknown file:
0 (list->vector ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7?" . #))
ERROR: In procedure list->vector:
In procedure vector: Wrong type argument in position 1: ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7wpvrrhfkj-profile/bin/guile" . #f)
note: keeping build directory `/tmp/guix-build-docker-pack.tar.gz.drv-16'
builder for `/gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv' failed with exit code 1
build of /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv failed
View build log at '/var/log/guix/drvs/dl/l8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv.gz'.
cannot build derivation `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv' failed
make: *** [Makefile:7044: check-system] Error 1
Breakage was introduced in 7d5168a2af3ed922c6a46985124fb73402cc8844.
* guix/scripts/pack.scm (docker-image)[entry-point-argument]: Default to '().
Change-Id: If5fc1f8bcb0981df11409636e71f2ca91b05612f
| Tomas Volf |
2024-01-12 | scripts: size: Fix `guix size` with --system argument....guix/scripts/size.scm (guix-size): Parameterize %current-system.
Change-Id: Ia0c1ebff4397aa211f73360925f7c688d59b515a
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Zheng Junjie |
2024-01-09 | guix: import: Optionally import necessary yanked crates....* doc/guix.texi (Invoking guix import): Mention '--allow-yanked'.
* guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For
yanked packages, use the full version suffixed by "-yanked" for
generated variable names and add a comment and package property.
(crate->guix-package): Add allow-yanked? argument and if it is set to #t,
allow importing yanked crates if no other version matching the
requirements exists.
[find-package-version]: Packages previously marked as yanked are only
included if allow-yanked? is #t and then take the lowest priority.
[find-crate-version]: If allow-yanked? is #t, also consider yanked
versions with the lowest priority.
[dependency-name+version]: Rename to ...
[dependency-name+version+yanked] ...this. Honor allow-yanked? and choose
between an existing package and an upstream package. Exit with an error
message if no version fulfilling the requirement is found.
[version*]: Exit with an error message if the crate version is not found.
(cargo-recursive-import): Add allow-yanked? argument.
* guix/read-print.scm: Export <comment>.
* guix/scripts/import/crate.scm: Add "--allow-yanked".
* tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'.
[sort-map-dependencies]: Adjust accordingly.
[remove-yanked-info]: New variable.
Adjust test 'crate-recursive-import-honors-existing-packages'.
(test-bar-dependencies): Add yanked dev-dependencies.
(test-leaf-bob-crate): Add yanked versions.
(rust-leaf-bob-3.0.2-yanked): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
| David Elsing |
2024-01-09 | import: crate: Optionally import dev-dependencies recursively....If --recursive-dev-dependencies is specified, development dependencies
are also included for all recursively imported packages.
* doc/guix.texi (Invoking guix import): Mention --recursive-dev-dependencies.
* guix/import/crate.scm (crate-recursive-import): Add
recursive-dev-dependencies? argument.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add
"--recursive-dev-dependencies".
* tests/crate.scm: Test both #f and #t for #:recursive-dev-dependencies?
in the 'cargo-recursive-import' test.
(test-root-dependencies): Add intermediate-c as dev-dependency.
(test-intermediate-c-crate, test-intermediate-c-dependencies): New
variables.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: Iae89794681155d77f128733120e60f03bc297717
| David Elsing |
2024-01-09 | gnu: import: Fix memoization in crate-recursive-import....* guix/import/crate.scm (crate-recursive-import): Apply memoize outside the
lambda passed to recursive-import in order to actually use the memoization.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| David Elsing |
2024-01-08 | scripts: system: Build layered images....* guix/scripts/system.scm (show-help, %docker-format-options, %options,
%default-options, show-docker-format-options,
show-docker-format-options/detailed, process-action): Handle '--max-layers'
option.
* gnu/system/image.scm (system-docker-image): Same.
* gnu/image.scm (<image>)[max-layers]: New record field.
Change-Id: I2726655aefd6688b976057fd5a38e9972ebfc292
| Oleg Pykhalov |
2024-01-08 | guix: pack: Build layered images....* guix/scripts/pack.scm (docker-image, guix-pack, %default-options,
%docker-format-options, show-docker-format-options/detailed): Handle
'--max-layers' option.
* doc/guix.texi (Invoking guix pack): Document this.
Change-Id: I90660b2421fcdde891f003469fe2e2edaac7da41
| Oleg Pykhalov |
2024-01-08 | guix: docker: Build layered images....* guix/docker.scm (%docker-image-max-layers): New variable.
(size-sorted-store-items, create-empty-tar): New procedures.
(config, manifest, build-docker-image): Build layered images.
Change-Id: I4c8846bff0a3ceccb77e6bdf95d4942e5c3efe41
| Oleg Pykhalov |
2024-01-08 | guix: pack: Add '--entry-point-argument' option....* guix/scripts/pack.scm:
(entry-point-argument-spec-option-parser): New procedure.
(docker-image, %default-options, %docker-format-options,
show-docker-format-options/detailed, %options, show-docker-format-options,
guix-pack): Handle '--entry-point-argument' option.
* doc/guix.texi: (Invoking guix pack): Document this
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
Change-Id: I1124feff6af39dcc63c85fd6cc7ad50f398489dc
| Graham James Addis |
2024-01-07 | build-system/zig: Add cross-compilation support....* guix/build/zig-build-system.scm (zig-cross-build): New function
(lower): Add cross-compilation support
* guix/build-system/zig.scm (build): Add --target flag with target input
(check): Disable with cross compilation
Change-Id: I5f42ff897bfe00c92c6576900221a15ef210d669
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Ekaitz Zarraga |
2024-01-05 | ui: It’s 2024 now!...* guix/ui.scm (show-version-and-exit): Change year to 2024.
Change-Id: I00fc2754da2b93d8b595a35aacdff087124df706
| Ludovic Courtès |
2024-01-04 | gnu: Add target-x32?....* guix/utils.scm (target-x32?): New procedure.
Change-Id: Ia16c7edce64de01d5ccb126c7bd9a6736f327b5f
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Efraim Flashner |
2024-01-04 | gnu: Add support for x86_64-linux-gnux32....* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add entry for
x86_64-linux-gnux32.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add
configure-flag for x86_64-linux-gnux32.
* guix/platforms/x86.scm (x86_64-linux-gnux32): New variable.
* guix/utils.scm (gnu-triplet->nix-system): Force x86_64-linux-gnux32 to
output a different nix-system than x86_64-linux-gnu.
Change-Id: I519fea2f8357e4b9895ede05fe8a5e373e9b034a
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Efraim Flashner |
2024-01-01 | import/cran: Restore format-inputs....This fixes a regression introduced in commit
e6223017d95bc615b2648f0798d9a3904d5b5f57 causing the selected input style to
be ignored.
* guix/import/cran.scm (format-inputs): New procedure.
(maybe-inputs): Use it.
Change-Id: I0d36f972fcb9888ed2be4ec9360bbcab13c25c5d
| Ricardo Wurmus |
2024-01-01 | import/cran: Add invalid package....* guix/import/cran.scm (invalid-packages): Add libR.
Change-Id: I1e06b44785051dfc4fb85ba06062aa8c8e003495
| Ricardo Wurmus |
2023-12-27 | scripts: download: Fix docstring typo....* guix/scripts/download.scm (ensure-valid-store-file-name name): Fix
the docstring.
Change-Id: If3fe3a923f514bb69297b566e0642c5e80fe4648
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Romain GARBAGE |
2023-12-17 | download: Update Apache mirror list....* guix/download.scm (%mirrors): Remove several vanished hosts and all
FTP URLs. Use HTTPS where supported. Add some new HTTPS mirrors.
Change-Id: Ie707e92ae65b8a3287d941e3e6ffb84592417b95
| Tobias Geerinckx-Rice |
2023-12-17 | download: Update KDE mirror list....* guix/download.scm (%mirrors): Update one mirror URL and remove 2 dead
ones.
Change-Id: Ibdc03f0b7df94b73bb5be0fda5a6244b017e747e
| Tobias Geerinckx-Rice |
2023-12-17 | download: Remove dead SourceForge mirrors....* guix/download.scm (%mirrors): Remove 2 dead mirror URLs.
Change-Id: I7f0e15ab5499df26fdf0b1702f8bea73c8ec8230
| Tobias Geerinckx-Rice |
2023-12-22 | deprecation: Fix docstring typo....* guix/deprecation.scm (define-deprecated/public): Fix docstring.
Change-Id: I895b1a86654b2756a9f98e858c622e8e7a6e2c27
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Felix Lechner |
2023-12-22 | least-authority: Add support for changing UIDs/GIDs before exec....Fixes <https://issues.guix.gnu.org/67175>.
* guix/least-authority.scm (least-authority-wrapper): Add #:user
and #:group.
[code]: Add calls to ‘setgid’ and ‘setuid’ when appropriate.
Change-Id: I2aad8e5686b42b5c92fc306b114c5c60cb8bc551
| Ludovic Courtès |
2023-12-22 | gexp: #:references-graphs accepts and honors <gexp-input> records....* guix/gexp.scm (lower-reference-graphs)[tuple->gexp-input]: Add
‘gexp-input?’ case.
(gexp->derivation): Update docstring.
* doc/guix.texi (G-Expressions): Adjust accordingly.
* tests/gexp.scm ("references-file, non-default output"): New test.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I595cb75da0867ab8ab44552887dc06ed1d23315e
| Ludovic Courtès |
2023-12-22 | gexp: Add compiler for <gexp-input>....* guix/gexp.scm (gexp-input-compiler): New procedure.
* tests/gexp.scm ("gexp references non-existent output")
("gexp-input, as first-class input"): New tests.
* doc/guix.texi (G-Expressions): Document it.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I95b58d6e4d77a54364026b4324fbb00125a9402e
| Ludovic Courtès |
2023-12-19 | import/cran: Export a few more variables and procedures....This allows users of this module to provide e.g. caching alternatives to the
download and fetch procedures.
* guix/import/cran.scm (%bioconductor-version, download, fetch-description):
Make these variables public.
Change-Id: I9ce14db9be9b8b3314b06fa9eb50a4e24c5dd718
| Ricardo Wurmus |
2023-12-18 | build-system/composer: Do not import host-side Guile-JSON modules....Importing host-side (json …) modules would make builds dependent on the
Guile-JSON version currently installed by the user. Use
‘with-extensions’ instead.
* guix/build-system/composer.scm (%composer-build-system-modules):
Remove (json …) modules.
(composer-build)[guile-json]: New variable.
[builder]: Wrap body in ‘with-extensions’.
Change-Id: Ibe565572d60481b31292d73c6fa23d42aa3ceecb
| Ludovic Courtès |
2023-12-18 | build-system: Add ‘composer-build-system’....* guix/build-system/composer.scm: New file.
* guix/build/composer-build-system.scm: New file.
* gnu/packages/aux-files/findclass.php: New file.
* Makefile.am: Add them.
* doc/guix.texi (Build Systems): Document it.
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ie6a05b42ff04d3ad774a0a20278a77e4820bb8f6
| Nicolas Graves |
2023-12-18 | guix: import: Add composer importer....* guix/import/composer.scm: New file.
* guix/scripts/import/composer.scm: New file.
* guix/tests/composer.scm: New file.
* Makefile.am: Add them.
* guix/scripts/import.scm: Add composer importer.
* doc/guix.texi (Invoking guix import): Mention it.
Change-Id: I44a89b8cc80ef5b4a3cd15e8fbba4a18c1cea0b1
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Nicolas Graves |
2023-12-17 | build-system: Add mix-build-system....* guix/build-system/mix.scm: New file.
* guix/build/mix-build-system.scm: New file.
Change-Id: I8066d00f7ada4a384621bf541e679bc512e93435
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Pierre-Henry Fröhring |
2023-12-16 | guix: import: Report go version for go importer....* guix/import/go.scm (go-package, go.mod-go-version): New procedures.
(go-module->guix-package): Add the #:go keyword in the generated package
definition if the required go is newer than the default go.
* tests/go.scm (mock-http-get): Use gexps for package arguments.
Change-Id: I8d005740a442330ac307a40a53764c803ceffc4f
| Efraim Flashner |
2023-12-16 | guix: import: Don't include indirect dependencies in go....* guix/import/go.scm (parse-go.mod)[define-peg-patern require]: Adjust
the peg pattern to reject lines with the 'indirect' comment in them.
Change-Id: I9618bbaa1cb8c6549ced875e3c8d32afc72c3b9b
| Efraim Flashner |
2023-12-14 | build-system/zig: Do not import (guix build syscalls)....* guix/build-system/zig.scm (%zig-build-system-modules): Remove (guix
build syscalls), which is unused.
Change-Id: Ie91c46c68787e0a8ffa3cbde2c5fd2294b82ed15
| Ludovic Courtès |
2023-12-13 | syscalls: Define riscv64 syscall ID for clone....* guix/build/syscalls.scm (clone): Add an entry for riscv64.
This allows the use of --container on riscv64.
Change-Id: I12b3cb5e2aa248266d006b6e456082f4ddc70e62
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| MarcoFalke |
2023-12-13 | Merge branch 'rust-team'...Change-Id: Iee33d7b9067d2180fd4b2e28d81716a251a53a01
| Efraim Flashner |
2023-12-11 | weather: Report unauthorized substitute servers....The goal is to make it easier to diagnose substitute
misconfiguration (where we’re passing a substitute URL whose
corresponding key is not authorized).
Suggested by Emmanuel Agullo.
* guix/scripts/weather.scm (check-narinfo-authorization): New procedure.
(report-server-coverage): Use it.
* doc/guix.texi (Invoking guix weather): Document it.
(Getting Substitutes from Other Servers): Add “Troubleshooting” frame.
Change-Id: I0a049c39eefb10d6a06634c8b16aa86902769791
| Ludovic Courtès |
2023-12-11 | weather: Use the same substitute URLs as guix-daemon....* guix/scripts/weather.scm (%default-options): Remove ‘substitute-urls’.
(guix-weather): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn
when ‘substitute-urls’ returns #f.
* doc/guix.texi (Invoking guix weather): Adjust accordingly.
Change-Id: I3e9100074f2ad559e5c408660db70430d64f2bef
| Ludovic Courtès |
2023-12-11 | challenge: Use the same substitute URLs as guix-daemon....* guix/scripts/challenge.scm (%default-options): Remove ‘substitute-urls’.
(guix-challenge): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn
when ‘substitute-urls’ returns #f.
Change-Id: I49be0e89404c1889970a3430967fbb3498d35d99
| Ludovic Courtès |
2023-12-11 | daemon: Implement ‘substitute-urls’ RPC....* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump.
(WorkerOp): Add ‘wopSubstituteURLs’.
* nix/nix-daemon/nix-daemon.cc (performOp): Implement it.
* guix/store.scm (%protocol-version): Bump.
(operation-id): Add ‘substitute-urls’.
(substitute-urls): New procedure.
* tests/store.scm ("substitute-urls, default")
("substitute-urls, client-specified URLs")
("substitute-urls, disabled"): New tests.
Change-Id: I2c0119500c3a1eecfa5ebf32463ffb0f173161de
| Ludovic Courtès |
2023-12-10 | Merge remote-tracking branch 'origin/master' into rust-team...Change-Id: Ic45f7071abd6a02c2ccad411500e5103c8272ffb
| Efraim Flashner |
2023-11-28 | build: cargo: Use correct config file for cargo config....* guix/build/cargo-build-system.scm (configure): Use .cargo/config as
the config file. Add a note.
Change-Id: Ice006c11184d4c8e1bdb765c3998b06ad299e55b
| Efraim Flashner |
2023-11-28 | build/cargo-build-system: Enable cross-compiling....* guix/build-system/cargo.scm (default-rust): Accept an argument.
(default-rust-sysroot, cargo-cross-build): New procedures.
(lower): Accept a rust-sysroot.
[private-kewords]: Add rust-sysroot. Remove target if cross-compiling.
[bag]: Allow cross-compiling. In host-inputs only have inputs when
cross-compiling, move crate sources to here, remove standard-packages.
In build-inputs add the inputs when not cross-compiling, add the
standard-cross-packages when cross-compiling, add the standard-packages
to here. Add target-inputs with the standard-cross-packages and
rust-sysroot when cross-compiling.
* guix/build/cargo-build-system.scm (configure): Accept target argument.
When cross-compiling set some environment variables. Adjust the
.config/cargo.toml to have configure options for cross-compiling.
Change-Id: I388d1e1f48943e45ff01f55af8efc0746f383b4a
| Efraim Flashner |
2023-11-28 | build: cargo-build-system: Pack crates reproducibly....This fixes reproducibility in rust crates from the package phase, again,
see <https://issues.guix.gnu.org/50015>.
Reported by: Christopher Baines (in person).
* guix/build/cargo-build-system.scm (package): When repacking the crate
tarball use standard reproducibility flags.
Change-Id: Ifb1440a023226bf0718e99ce9f95ef981e510cbc
| Efraim Flashner |
2023-12-06 | shell: ‘--development’ honors ‘--system’....Fixes a bug whereby ‘package->development-manifest’ would run with the
wrong system in mind, leading to errors like this:
$ guix shell -s i586-gnu -D shepherd --no-grafts
guix shell: error: package linux-libre-headers@5.15.49 does not support i586-gnu
* guix/scripts/environment.scm (options/resolve-packages): Define
‘system’ and pass it to ‘package->development-manifest’.’
* tests/guix-shell.sh: Test it.
Change-Id: I95c471c1918913ab80dec7d3ca64fe38583cce78
| Ludovic Courtès |
2023-12-04 | monad-repl: Add REPL commands to inspect package arguments....* guix/monad-repl.scm (keyword-argument-value, package-argument-command):
New procedures.
(phases, configure-flags, make-flags): New REPL commands.
* doc/guix.texi (package Reference): Link to “Using Guix Interactively”.
(Defining Package Variants): Add “Tips” quotation.
(Build Phases): Add “Tip” quotation.
(Using Guix Interactively): Document the new REPL commands.
Change-Id: I7049c1d8aa9241e07d7c921aa396e578a1b4ef16
| Ludovic Courtès |
2023-12-04 | substitute: Do not exit when failing to find a nar....Fixes <https://issues.guix.gnu.org/67575>.
* guix/scripts/substitute.scm (process-substitution/fallback): Use
‘report-error’ instead of ‘leave’. Write status line to PORT.
* tests/substitute.scm ("substitute, narinfo is available but nar is
missing"): Adjust accordingly.
Change-Id: Ic7297dbd563c007111ec2167c8d52505a07d4822
| Ludovic Courtès |
2023-12-04 | Revert "build/go: Don't use set!"...This causes too many rebuilds.
This reverts commit 0a4b6fd51a2a4f87cbd85019db07984fd37096d7.
| Efraim Flashner |