~ruther/guix-local

cc07ecd7 — Giacomo Leidi 9 months ago
tests: Use lower-oci-image-state in container tests.

This patch replaces boilerplate in container related tests with
oci-image plumbing from (gnu services containers).

* gnu/tests/containers.scm (%oci-tarball): New variable;
(run-rootless-podman-test): use %oci-tarball;
(build-tarball&run-rootless-podman-test): drop procedure.
* gnu/tests/docker.scm (%docker-tarball): New variable;
(build-tarball&run-docker-test): use %docker-tarball;
(%docker-system-tarball): New variable;
(build-tarball&run-docker-system-test): new procedure.

Change-Id: Iad6f0704aee188d89464c83722dea0bb7adb084a
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
60f4d725 — Giacomo Leidi 9 months ago
services: Add oci-service-type.

This patch implements a generalization of the
oci-container-service-type, which consequently is made deprecated.  The
oci-service-type, in addition to all the features from the
oci-container-service-type, can now provision OCI networks and volumes.
It only handles OCI objects creation, the user is supposed to handle
state once the objects are provsioned.

It currently supports two different OCI runtimes: Docker and rootless
Podman.  Both runtimes are tested to make sure provisioned containers
can connect to each other through provisioned networks and can
read/write data with provisioned volumes.

At last the Scheme API is thought to facilitate the implementation of a
Guix Home service in the future.

* gnu/build/oci-containers.scm: New file containg OCI runtime business
logic used in OCI backed Shepherd services.
oci-read-lines
(oci-system*,oci-object-exists?,oci-object-service-available?
oci-image-load,oci-log-verbose,oci-container-execlp,oci-object-create):
New procedures.
* gnu/local.mk: Add it.
* gnu/services/containers.scm (list-of-oci-containers?,
list-of-oci-networks?,list-of-oci-volumes?,%oci-supported-runtimes,
oci-runtime?,oci-runtime-system-environment,oci-runtime-system-extra-arguments,
oci-runtime-system-requirement,oci-runtime-cli,oci-runtime-system-cli,
oci-runtime-home-cli,oci-runtime-name,oci-runtime-group,
oci-container-shepherd-name,oci-networks-shepherd-name,
oci-networks-home-shepherd-name,oci-volumes-shepherd-name,
oci-volumes-home-shepherd-name,oci-container-configuration->options,
oci-network-configuration->options,oci-volume-configuration->options,
oci-container-shepherd-service,oci-objects-merge-lst,oci-extension-merge,
oci-service-accounts,oci-service-profile,oci-service-subids,
oci-configuration->shepherd-services,oci-configuration-extend): New
procedures.
(image-reference): Implement unambiguous naming convention, that paired
with the new implementation for listing caches images with docker ls or
podman ls, allows for more efficient image caching.
(oci-container-configuration)[user,group]: Change default-type to
maybe-string, since by default containers will run under the user and
group declared in oci-configuration records. When unset the
oci-service-type will derive their value from the OCI runtime state.
[runtime,host-environment,environment,shepherd-actions,ports,extra-arguments]:
define a predicate and use it as a type in the configuration.  This
way errors are reported with source location information.
(lower-manifest): Defer to caller the logic of setting up an image tag.
(lower-oci-image): Rename to load-oci-image-state.
(oci-runtime-state): Intermediate representation of the OCI runtime
details. It is supposed to be an internal API.
(oci-state): Intermediate representation of the OCI provisioning state,
such as containers and networks. It is supposed to be an internal API.
(oci-container-invocation): Intermediate representation of the OCI
runtime run command to start a container. It is supposed to be an
internal API.
(%oci-image-loader): Rename to oci-image-loader and use
oci-runtime-state and (gnu build oci-containers).
(oci-container-shepherd-service): Use oci-state and oci-runtime-state,
add command-line action.
(oci-network-configuration,oci-volume-configuration,oci-configuration,
oci-extension): New record types.
(oci-service-type): New service-type.
* doc/guix.texi: Document it.
* gnu/tests/containers.scm: Test it.
* gnu/services/docker.scm: Deprecate the oci-container-service-type.

Change-Id: I656b3db85832e42d53072fcbfb91d1226f39ef38
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
d6200cef — Giacomo Leidi 9 months ago
tests: oci-container: Set explicit timeouts.

* gnu/tests/docker.scm: Simplify %test-oci-container test case and add
explicit timeouts to tests outcomes.

Change-Id: I75868479dcce031f3edc98064b1ebcf975f598f5
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
0aef9716 — Sharlatan Hellseher 9 months ago
gnu: delve: Update to 1.25.1.

* gnu/packages/debug.scm (delve): Update to 1.25.1.
[srouce] <snippet>: Delete "vendor" directory.
[arguments] <tests?>: Use it instead deleting 'check phase.
[native-inputs]: Add go-github-com-cilium-ebpf,
go-github-com-cosiner-argv, go-github-com-creack-pty,
go-github-com-derekparker-trie, go-github-com-go-delve-liner,
go-github-com-google-go-dap, go-github-com-hashicorp-golang-lru,
go-github-com-mattn-go-colorable, go-github-com-mattn-go-isatty,
go-github-com-spf13-cobra, go-github-com-spf13-pflag,
go-go-starlark-net, go-golang-org-x-arch, go-golang-org-x-sys,
go-golang-org-x-telemetry, go-golang-org-x-tools, and
go-gopkg-in-yaml-v3.

Closes guix/guix#2131
Change-Id: I23c5f6f477002d8d0b3288973c497ecc2750c05b

Change-Id: Iea21ebf095c70c3654fbfd868c5f697912473dea
Signed-off-by: jgart <jgart@dismail.de>
77b65c81 — Sharlatan Hellseher 9 months ago
gnu: Add go-github-com-go-delve-liner.

* gnu/packages/golang-xyz.scm (go-github-com-go-delve-liner): New variable.

Change-Id: Ifcc72ac131d1fc4aff06b5384b5a31b5e9fc6d00
Signed-off-by: jgart <jgart@dismail.de>
f7eb9bf2 — Sharlatan Hellseher 9 months ago
gnu: Add go-github-com-derekparker-trie-v3.

* gnu/packages/golang-xyz.scm (go-github-com-derekparker-trie-v3): New variable.

Change-Id: I9a615d29cf6b86c8abfca4d7c17753900772857f
Signed-off-by: jgart <jgart@dismail.de>
9a9ccbed — Sharlatan Hellseher 9 months ago
gnu: Add go-github-com-derekparker-trie.

* gnu/packages/golang-xyz.scm (go-github-com-derekparker-trie): New variable.

Change-Id: I7b498ee39ec7be32a292fdbc2347a04f724b7c57
Signed-off-by: jgart <jgart@dismail.de>
c394be1e — Sharlatan Hellseher 9 months ago
gnu: Add go-github-com-google-go-dap.

* gnu/packages/golang-web.scm (go-github-com-google-go-dap): New variable.

Change-Id: I746f6a6a31813cbf5b2b47b5af0c052db9c7e067
Signed-off-by: jgart <jgart@dismail.de>
892a1773 — Sharlatan Hellseher 9 months ago
gnu: Add go-github-com-cosiner-argv.

* gnu/packages/golang-xyz.scm (go-github-com-cosiner-argv): New variable.

Change-Id: Iafc036027f8b89dd965c8865838631def8237ba9
Signed-off-by: jgart <jgart@dismail.de>
gnu: trealla: Update to 2.82.20.

* gnu/packages/prolog.scm (trealla): Update to 2.82.20.

Change-Id: Ic8e5c4c7ba5febfec85b6bab129cb0a179e5e034
e705e1bb — Maxim Cournoyer 9 months ago
gnu: python-myhdl: Update home page URL.

* gnu/packages/fpga.scm (python-myhdl) [home-page]: Use HTTP, as the
TLS certificate is expired/invalid.

Change-Id: I095e6509b8ba01aec2d0f7a78025adfa92a98842
27a4af38 — Maxim Cournoyer 9 months ago
gnu: systemc: Update home page.

* gnu/packages/fpga.scm (systemc) [home-page]: Update URL.

Change-Id: Iec9dcd9cb9a92a8020ad5908b665e2ec09a44ba4
e523020e — Cayetano Santos 9 months ago
gnu: systemc: Update to 3.0.1.

* gnu/packages/fpga.scm (systemc): Update to 3.0.1.

Change-Id: Ibd5857686cb1e7628bf6052cd4ef85e73a6ec5d1
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
dc52448f — Cayetano Santos 9 months ago
gnu: nvc: Update to 1.17.2.

* gnu/packages/fpga.scm (nvc): Update to 1.17.2.

Change-Id: I1024d01bf1b54e6322c301ff9dd87192f3d76b7c
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2f632119 — Cayetano Santos 9 months ago
gnu: python-myhdl: Update to 0.11.51.

* gnu/packages/fpga.scm (python-myhdl): Update to 0.11.51.

Change-Id: I78f404497cffa20db44b717a3df0be59c8c2a176
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
fba42904 — Cayetano Santos 9 months ago
gnu: nextpnr: Add gowin architecture.

* gnu/packages/fpga.scm (nextpnr)[arguments]<#:configure-flags>: Update
DHIMBAECHEL_UARCH and add DHIMBAECHEL_SPLIT.
[inputs]: Add apycula.

Change-Id: I7b6ed27fbdb95b51b9c66e0726a2833c425e0e24
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
3d7081fd — Cayetano Santos 9 months ago
gnu: nextpnr: Update to 0.8-0.d796cc7.

* gnu/packages/fpga.scm (nextpnr): Update to 0.8-0.d796cc7.

Change-Id: I6d0082eb22e2a51e3db648dd6c3228b635fb8d7c
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
e28ab6a6 — Maxim Cournoyer 9 months ago
gnu: turbovnc: Simplify 'delete-all-but' in snippet.

* gnu/packages/vnc.scm (turbovnc) [source] <snippet>: Simplify.
* gnu/packages/astronomy.scm (phd2): Likewise.
* gnu/packages/emulators.scm (libretro-dolphin-emu)
(retroarch-minimal): Likewise.
* gnu/packages/golang-web.scm (go-github-com-aws-aws-sdk-go-v2-service-sqs)
(go-go-opentelemetry-io-contrib-propagators-autoprop)
(go-go-opentelemetry-io-otel-exporters-otlp-otlptrace)
(go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc)
(go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp)
(go-go-opentelemetry-io-otel-exporters-zipkin)
(go-go-opentelemetry-io-otel-log, go-go-opentelemetry-io-otel-sdk)
(go-go-opentelemetry-io-otel-sdk-log, go-go-opentelemetry-io-otel-sdk-metric)
(go-google-golang-org-genproto-googleapis-api): Likewise.
* gnu/packages/golang-xyz.scm (go-go-uber-org-zap-exp): Likewise.
* gnu/packages/ipfs.scm (go-github-com-ipfs-shipyard-nopfs-ipfs): Likewise.
* gnu/packages/mpi.scm (openmpi-5): Likewise.

Change-Id: I286ff1e949ccb97f9369f2a172c8559e3884dba7
011f0580 — Cayetano Santos 9 months ago
gnu: Add apycula.

* gnu/packages/electronics.scm (apycula): New variable.

Change-Id: Iba09d271baedc84a8087275aed4d4cc32dccc8d9
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
fcea1907 — Ian Eure 9 months ago
gnu: yt-dlp: Update to 2025.08.22.

* gnu/packages/video.scm (yt-dlp): Update to 2025.08.22.

Change-Id: I1e35954851f5c0ec0af3a8fa7560f2c080d29ba1
Next