Commit Graph

130832 Commits

Author SHA1 Message Date
Ludovic Courtès
29f3089c84
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
2024-02-12 12:03:53 +01:00
Ludovic Courtès
1b72e14307
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
2024-02-12 12:03:53 +01:00
Ludovic Courtès
be773bd192
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
2024-02-12 12:03:53 +01:00
Ludovic Courtès
1610a632d4
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
2024-02-12 12:03:52 +01:00
Ludovic Courtès
5bd5bb5f6c
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
2024-02-12 12:03:52 +01:00
Ludovic Courtès
e0ade40c2b
services: virtual-build-machine: Use a larger partition by default.
So far the partition had too little free space.

* gnu/services/virtualization.scm (%default-virtual-build-machine-image-size):
New variable.
(virtual-build-machine-default-image): Define ‘partitions’ field.

Change-Id: Iffe0f316eecad8754d29f8c811cdc4836a818a3f
2024-02-12 12:03:52 +01:00
Ludovic Courtès
15fd5d6c3f
services: virtual-build-machine: Add base file systems to default OS.
This provides /dev/pts and other things that are important for
builds (for example, Python 2.x has ‘openpty’ unit tests that can only
succeed when /dev/pts is available.)

* gnu/services/virtualization.scm (%virtual-build-machine-operating-system)
[file-systems]: Add %BASE-FILE-SYSTEMS.

Change-Id: I7d12a4cb491e957bf55e6c5f9dd09c013473ca42
2024-02-12 12:03:52 +01:00
Remco van 't Veer
faeae5114c
gnu: ruby-3.2: Update to 3.2.3.
Fixes CVE-2023-36617 (ReDoS vulnerability in URI).

* gnu/packages/ruby.scm (ruby-3.2): Update to 3.2.3.

Signed-off-by: Andreas Enge <andreas@enge.fr>
Change-Id: I20d92f4b6e566466e5af087712e91d0ecc1735da
2024-02-12 11:49:11 +01:00
Allan Adair
bd9da70212
gnu: vpn-slice: Include required inputs "iproute" and "iptables".
vpn-slice expects commands "ip" and "iptables" to be found according to FHS
paths.

* gnu/packages/vpn.scm (vpn-slice)[arguments]: Include inputs "iproute" and
"iptables" and patch "vpn_slice/linux.py" to use correct locations in the
store.

Change-Id: Ia06e2bb99f060108cc0758e89174294bcbb2848d
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2024-02-12 09:08:11 +01:00
Artyom V. Poptsov
c4372f7ebf
gnu: guile-png: Update to 0.7.2.
* gnu/packages/guile-xyz.scm (guile-png): Update to 0.7.2.

Change-Id: Ic84b1472bdfdf47db26e0954b6135054290e49b0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-02-11 21:12:52 +00:00
Sharlatan Hellseher
ab3da80ae1
gnu: abjad-ext-rmakers: Simplify package.
* gnu/packages/music.scm (abjad-ext-rmakers) [build-system]: Swap to
pyproject-build-system.
[arguments]: Use standard 'check phase.

Change-Id: Ic2591fbe35d7479e120048d334cc202a5e1c9243
2024-02-11 21:03:07 +00:00
Sharlatan Hellseher
d0671703b6
gnu: abjad-ext-rmakers: Fix build.
* gnu/packages/music.scm (abjad-ext-rmakers) [native-inputs]: Add
python-sphinx-autodoc-typehints.

Change-Id: Ide0e00b3c12180d341f1ed8052fb4e10a6504499
2024-02-11 21:03:07 +00:00
Sharlatan Hellseher
70a43b328f
gnu: abjad-ext-nauert: Simplify package.
* gnu/packages/music.scm (abjad-ext-nauert) [build-system]: Swap to
pyproject-build-system.
[arguments]: Use standard 'check phase.

Change-Id: Ica32dd692964d200a81628e82a8333656dc10170
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
850bf6d65f
gnu: abjad-ext-nauert: Fix build.
* gnu/packages/music.scm (abjad-ext-nauert) [native-inputs]: Add
python-sphinx-autodoc-typehints.

Change-Id: Iec9dcbf1127ef7dc7b3bcd5a4be9eada51424f4a
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
592a6e1ceb
gnu: python-pytest-socket: Simplify package, enable tests.
* gnu/packages/python-check.scm (python-pytest-socket) [build-system]:
Swap to pyproject-build-system.
[arguments] <#:test-flags>: Disable tests requiring network
access. <#:phases>: Use standard phases.

Change-Id: Ib7fe0b3dab4e269c00856a10b8ca23acc8c8e180
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
5ccae1ae44
gnu: python-pyinstrument: Enable tests.
* gnu/packages/python-check.scm (python-pyinstrument) [build-system]:
Swap to pyproject-build-system.
[native-inputs]: Add python-greenlet.

Change-Id: I1cd0c3e906fbbdc561e66bae9fe35333f61801cf
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
bcd9a40c49
gnu: python-pyinstrument: Update to 4.6.2.
* gnu/packages/python-check.scm (python-pyinstrument): Update to 4.6.2.

Change-Id: I28e147272f273c04f7221f6d4f70677aee9a3747
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
120e2a64da
gnu: python-pytest-csv: Simplify package.
* gnu/packages/python-check.scm (python-pytest-csv) [build-system]: Swap
to pyproejct-build-system.
[arguments]: Use standard 'check phase.

Change-Id: Iae04747b117bf5b5f9fb3c8b57cd40b8822edd77
2024-02-11 21:03:06 +00:00
Sharlatan Hellseher
a3f02bc780
gnu: python-beartype: Simplify package.
* gnu/packages/python-check.scm (python-beartype) [build-system]: Swap
to pyproject-build-system.
[arguments]: Use standard 'check phase and <#:test-flags>.

Change-Id: I372c5be3b142f0e25d15fd2bac20fc9cd4d8030c
2024-02-11 21:03:06 +00:00
Troy Figiel
579a1a8c02
gnu: Add python-pandas-vet.
* gnu/packages/python-xyz.scm (python-pandas-vet): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-02-11 21:03:06 +00:00
Ricardo Wurmus
4bab3a2602
gnu: google-highway: Fix tests on i686-linux.
The tests are supposed to be skipped when there are problems with excess
precision.

* gnu/packages/cpp.scm (google-highway)[arguments]: Modify phases when
building for i686-linux to conditionally patch the tests.

Change-Id: I6381a8c9f65196fd1d7d4e4130d784863b634df5
2024-02-11 21:44:38 +01:00
Sören Tempel
16d2be6414
gnu: Add binsec.
* gnu/packages/ocaml.scm (binsec): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Change-Id: Ifc57720f97f9ffa8c3558e3cd2d741cdbf73ee3a
2024-02-11 17:30:33 +01:00
Sören Tempel
4221b50acb
gnu: Add ocaml-grain-dypgen.
* gnu/packages/ocaml.scm (ocaml-grain-dypgen): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Change-Id: I9804cb17863c112d57f0f93b414e568707dae88d
2024-02-11 17:30:22 +01:00
Sören Tempel
ad2c1833a0
gnu: Add ocaml-toml.
* gnu/packages/ocaml.scm (ocaml-toml): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Change-Id: Ia3ec7d0261cd6950f1a73641fc65b3ef7ce98f24
2024-02-11 17:28:59 +01:00
Sören Tempel
8b67932851
gnu: Add ocaml-iso8601
* gnu/packages/ocaml.scm (ocaml-iso8601): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Change-Id: I9463d6f6e3f8ffe43a0cfb1c95edea42fc770323
2024-02-11 17:26:37 +01:00
Ricardo Wurmus
a8930124d5
gnu: r-bionero: Update to 1.10.1.
* gnu/packages/bioconductor.scm (r-bionero): Update to 1.10.1.

Change-Id: I26b6c35d8966744bbcb79d98328c9734360f04f3
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
b61f052752
gnu: r-biocset: Update to 1.16.1.
* gnu/packages/bioconductor.scm (r-biocset): Update to 1.16.1.

Change-Id: Ib758189b9439ec822edb2e85d261b4ccd8618609
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
c23224da61
gnu: r-bgx: Update to 1.68.3.
* gnu/packages/bioconductor.scm (r-bgx): Update to 1.68.3.

Change-Id: I8aa747dd0a725f84dca1441693ce573a4567f70c
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
823def76d4
gnu: r-gofuncr: Update to 1.22.2.
* gnu/packages/bioconductor.scm (r-gofuncr): Update to 1.22.2.

Change-Id: Iba4be0c63d792caddcea69ee77aa94ce6869c1d2
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
666393ec34
gnu: r-glmgampoi: Update to 1.14.2.
* gnu/packages/bioconductor.scm (r-glmgampoi): Update to 1.14.2.

Change-Id: Id7265b49246e75d23086dc159da9b4f69a756a7d
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
579683f16f
gnu: r-trajectoryutils: Update to 1.10.1.
* gnu/packages/bioconductor.scm (r-trajectoryutils): Update to 1.10.1.

Change-Id: I18a94851cd139951c2987054c22f01809d2479b3
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
95785f4587
gnu: r-rcas: Update to 1.28.3.
* gnu/packages/bioconductor.scm (r-rcas): Update to 1.28.3.
[propagated-inputs]: Remove r-ggseqlogo and pandoc; add r-seqlogo.

Change-Id: I8be7d8fc4278c8ec2db6932935f70292a4f47049
2024-02-11 16:55:14 +01:00
Ricardo Wurmus
d24ba5f374
gnu: r-genomeinfodb: Update to 1.38.6.
* gnu/packages/bioconductor.scm (r-genomeinfodb): Update to 1.38.6.

Change-Id: I57a53d4a73e9b4ce36d97092dab0789d6509484f
2024-02-11 16:55:13 +01:00
Ricardo Wurmus
87110a22a9
gnu: r-dittoseq: Update to 1.14.2.
* gnu/packages/bioconductor.scm (r-dittoseq): Update to 1.14.2.

Change-Id: I8930f72b47ff92b3b798d9a45fc0598bec1ba53e
2024-02-11 16:55:13 +01:00
Ricardo Wurmus
64eb32a2d0
gnu: r-bsgenome: Update to 1.70.2.
* gnu/packages/bioconductor.scm (r-bsgenome): Update to 1.70.2.

Change-Id: I45ba28279e0b843bcd635c2e30fb696e85195ce7
2024-02-11 16:55:13 +01:00
Ricardo Wurmus
6393305afa
gnu: r-animalcules: Update to 1.18.3.
* gnu/packages/bioconductor.scm (r-animalcules): Update to 1.18.3.

Change-Id: I4f8d5897af796afbce269748c6a5676db72e4baf
2024-02-11 16:55:13 +01:00
Ricardo Wurmus
39e92f8b66
gnu: r-curatedtcgadata: Update to 1.24.1.
* gnu/packages/bioconductor.scm (r-curatedtcgadata): Update to 1.24.1.

Change-Id: I42ae64544b53d6ddd72b948af4093ef4dd31a9c6
2024-02-11 16:55:13 +01:00
Ricardo Wurmus
2ac299e958
gnu: r-rhdf5lib: Update to 1.24.2.
* gnu/packages/bioconductor.scm (r-rhdf5lib): Update to 1.24.2.
[propagated-inputs]: Remove r-biocstyle and r-stringr.
[native-inputs]: Remove r-rmarkdown.

Change-Id: I76b1601397bc69651c0b788404c6b0c67d830830
2024-02-11 16:55:13 +01:00
Andy Tai
240bbfee8d
gnu: parallel: Update to 20240122.
* gnu/packages/parallel.scm (parallel): Update to 20240122.

Change-Id: I4e416cbad5b6f4267a9aab7996c9156a861e3ad1
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-02-11 12:20:53 +02:00
(unmatched-parenthesis
8f258b7c7a
gnu: parinfer-rust: Add phase to install editor plugins.
* gnu/packages/text-editors.scm (rust-parinfer)[arguments]: Install the
bundled Vim and Kakoune plugins.

Change-Id: I881315481ec08c59576c4530ae72b877c399fc66
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-02-11 12:14:09 +02:00
David Pflug
b6439fc5f8
gnu: Add python-gguf.
* gnu/packages/machine-learning.scm (python-gguf): New variable.

Change-Id: Icf6138486cccc5b4c3141424baccf17c4edb3449
Signed-off-by: Andreas Enge <andreas@enge.fr>
2024-02-11 09:20:16 +01:00
Ludovic Courtès
9edbb2d7a4
services: Add ‘virtual-build-machine’ service.
* gnu/services/virtualization.scm (<virtual-build-machine>): New record type.
(%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models):
New variables.
(qemu-cpu-model-for-date, virtual-build-machine-ssh-port)
(virtual-build-machine-secrets-port): New procedures.
(%minimal-vm-syslog-config, %virtual-build-machine-operating-system):
New variables.
(virtual-build-machine-default-image):
(virtual-build-machine-account-name)
(virtual-build-machine-accounts)
(build-vm-shepherd-services)
(initialize-build-vm-substitutes)
(build-vm-activation)
(virtual-build-machine-offloading-ssh-key)
(virtual-build-machine-activation)
(virtual-build-machine-secret-root)
(check-vm-availability)
(build-vm-guix-extension): New procedures.
(initialize-hurd-vm-substitutes): Remove.
(hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’.
* gnu/system/vm.scm (linux-image-startup-command): New procedure.
(operating-system-for-image): Export.
* gnu/tests/virtualization.scm (run-command-over-ssh): New procedure,
extracted from…
(run-childhurd-test): … here.
[test]: Adjust accordingly.
(%build-vm-os): New variable.
(run-build-vm-test): New procedure.
(%test-build-vm): New variable.
* doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New
section.
(Build Environment Setup): Add cross-reference.

Change-Id: I0a47652a583062314020325aedb654f11cb2499c
2024-02-10 23:21:07 +01:00
Ludovic Courtès
5f34796dc4
marionette: Add #:peek? to ‘wait-for-tcp-port?’.
* gnu/build/marionette.scm (wait-for-tcp-port): Add #:peek? parameter
and honor it.

Change-Id: Ie7515a5223299390ab8af6fe5aa3cf63ba5c8078
2024-02-10 22:59:56 +01:00
Ludovic Courtès
b0a5c0742f
vm: Add ‘cpu-count’ field to <virtual-machine>.
* gnu/system/vm.scm (<virtual-machine>)[cpu-count]: New field.
(virtual-machine-compiler): Honor it.

Change-Id: I907a89365f32ac7a9981c4ae5f59cf6eb199c3cc
2024-02-10 22:59:52 +01:00
Ludovic Courtès
7a4f585ae1
vm: Export <virtual-machine> accessors.
* gnu/system/vm.scm: Export.

Change-Id: If65d96f4052d070af5baee26f3dd9b233b8480f4
2024-02-10 22:59:49 +01:00
Ludovic Courtès
f7447b1a32
vm: Add ‘date’ field to <virtual-machine>.
* gnu/system/vm.scm (<virtual-machine>)[date]: New field.
(virtual-machine-compiler): Honor it.

Change-Id: Idab1c152466d57cbc6784c031a99fdfd37080bcb
2024-02-10 22:59:46 +01:00
Ludovic Courtès
f331a667d3
services: secret-service: Make the endpoint configurable.
Until now, the secret service had a hard-coded TCP endpoint on port
1004.  This change lets users specify arbitrary socket addresses.

* gnu/build/secret-service.scm (socket-address->string): New procedure,
taken from Shepherd.
(secret-service-send-secrets): Replace ‘port’ by ‘address’ and adjust
accordingly.
(secret-service-receive-secrets): Likewise.
* gnu/services/virtualization.scm (secret-service-shepherd-services):
Likewise.
(secret-service-operating-system): Add optional ‘address’ parameter and
honor it.  Adjust ‘start’ method accordingly.

Change-Id: I87a9514f1c170dca756ce76083d7182c6ebf6578
2024-02-10 22:59:43 +01:00
Marco Rimoldi
11d5b505e5
gnu: openmolar-1: Update to release 1.1.6-g81838c8 and partial runtime fix.
Fixes <https://issues.guix.gnu.org/29365>.

WebKit was removed from Qt5 in favor of WebEngine; upstream addressed
this in their last stable release, in 2018.  The package still fails at
runtime: this commit lays the ground for further fixes.

* gnu/packages/medical.scm (openmolar-1): Update to release 1.1.6-g81838c8.
[arguments]: Extend 'patch-/usr phase to source file localsettings.py.
[inputs]: Add python-pyqtwebengine.
[propagated-inputs]: Add qtwebengine-5.

Change-Id: Ia4e4c052397201c26834dec2358ca5c20beb581d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-10 22:54:05 +01:00
TimotheeMathieu
9474e64b09
gnu: Add python-scikit-opt.
* gnu/packages/python-science.scm (python-scikit-opt): New variable.

Change-Id: I47d6b35d9658a37a242b4db61d293fa7efd33802
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-10 22:51:59 +01:00
Mathieu Othacehe
b64862e5cb
gnu: gnupg: Fix cross-compilation.
* gnu/packages/gnupg.scm (gnupg)[arguments]: Pass libraries prefixes when
cross-crompiling.

Change-Id: I461ba02ddf5bb23277bd6685c2106e4ad37e2184
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-02-10 21:00:03 +01:00