The ‘action’ method was deprecated in Shepherd 0.10.0.
* gnu/services/base.scm (shepherd-set-http-proxy-action)
(shepherd-discover-action): Use ‘perform-service-action’ instead of the
now-deprecated ‘action’ method.
Change-Id: Ibe1c79a44148596292c2c8907011ec787f8a9ddd
Fixes a bug introduced in 402d0a9b9d
whereby labels would be added in cases like:
(inputs (list `("label" ,whatever)))
This idiom is found for example in the ‘nmon’ package.
* guix/packages.scm (add-input-labels): Call ‘maybe-add-input-labels’
instead of (map add-input-label …).
Change-Id: I3e86d4607f19482a4e461ef8e7a20cde2a41ead7
It’s currently difficult to programmatically add a build-machine, because the
`service-extension' mechanism is the only facility which can do that. It
relies on the `guix-service-type', ala:
(service-extension guix-service-type
(guix-extension (build-machines (list ...))))
...but `guix-service-type' is already instantiated as part of
`%base-services', and replacing it may lose other configuration, like
substitute servers and authorized keys.
Additionally, a default value of `#f' for the build-machines field requires
guarding uses of the field with:
(or (guix-build-machines config) '())
Changing the default to be the empty list avoids that. One can now add
build-machines with code such as:
(modify-services %base-services
(guix-service-type
config =>
(guix-configuration
(inherit config)
(authorized-keys
(cons %build-machine-key
(guix-configuration-authorized-keys config)))
(build-machines (cons #~(build-machine ...)
(guix-configuration-build-machines config))))))
* gnu/services/base.scm (guix-configuration): Rename `guix-build-machines' to
`guix-configuration-build-machines' and export it. Change the default from
`#f' to the empty list.
* gnu/services/base.scm (guix-activation): Update the build-machines test and
reverse the conditions.
Change-Id: I6780c6a5579fd9d4b4f22ee2b2bf7ba7a0454407
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/crates-io.scm (perl-sub-override): New variable.
Change-Id: I5a366862bb5bfd777094e2d58239d50aad95577c
-- >8 --
Originally part of https://issues.guix.gnu.org/44447
Change-Id: Ib4542ceedcff114e1184fc8bafac0f76985b78be
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
As of Cuirass commit 9a1452ee021c9f773424961cfeef47ca0b7c5c5a, this option
seems to be unused and kept for back compatibility there.
* gnu/services/cuirass.scm (<cuirass-configuration>): Remove use-substitutes?
field.
(cuirass-shepherd-service): Remove the option.
* doc/guix.texi (Continuous Integration): Remove option documentation.
Change-Id: I933550ce76eecdf918b07891aa8212fd30a7c87e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Currently, "extra-options" is passed to both "cuirass register" and "cuirass
web" processes. This makes it impractical since the extra parameters have to
be intended for and supported by both processes.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add a web-extra-options
field.
(cuirass-shepherd-service): Replace extra-options with web-extra-options for
cuirass web.
* doc/guix.texi (Continuous Integration): Document the changes.
Change-Id: Iba79c559ea8267aaf8f25248f3d18ed7b352cb60
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This reduces code bloat and loading overhead for package modules, which
use ‘define-public’ extensively.
* guix/packages.scm (define-public*): Use ‘define’ followed by
‘module-export!’ directly instead of ‘define-public’.
Change-Id: I7f56d46b391c1e3eeeb0b9a08a9d34b5de341245
Struct initialization uses one instruction per field, which contributes
to code bloat in the case of package modules. With this change, the
‘.rtl-text’ section of ‘gnu/packages/tex.go’ goes from 7,334,508 B to
6,356,592 B (-13%; -7% on the whole file size), which alone is still
larger than the source file (4,2 MB).
* guix/records.scm (make-syntactic-constructor)[record-inheritance]: Use
CTOR instead of ‘make-struct/no-tail’.
Pass ABI-COOKIE as the first argument to CTOR.
(define-record-type*): Define CTOR-PROCEDURE and pass it to
‘make-syntactic-constructor’.
Change-Id: Ifd7b4e884e9fbf21c43fb4c3ad963126ef5cb476
At -O1, peval does the bulk of the optimization work and it cannot
reduce things like (null? (list 1 2)), unlike what happens in CPS at
-O2. Thus, reduce the part of ‘sanitize-inputs’ that’s inlined.
* guix/packages.scm (maybe-add-input-labels): New procedure.
(sanitize-inputs): Turn into a macro; use ‘maybe-add-input-labels’.
Change-Id: Id2283bb5a2f5d714722200bdcfe0b0bfa606923f
* gnu/packages/maths.scm (scilab)[source]<origin>: Improve
package management robustness in scilab-cli by allowing
tbx_build_help to log the scilab mode incompatibility error and not
process the rest of the function instead of failing with it.
* gnu/packages/patches/scilab-tbx_build_help.patch :
Add patch.
* gnu/local.mk(dist_patch_DATA): Add
gnu/packages/patches/scilab-tbx_build_help.patch.
Change-Id: I8ee94afb4aba906cbc8c7ca67f4c89aa0cf55ae6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/maths.scm (scilab):
[arguments]<#:phases>: In pre-build phase, remove unecessary
code, due to the former introduction of the rewrap-scilab-cli
phase. More robust version setting in the set-version phase. It
anticipates for the next release which will not use "main" anymore.
[source]<origin>(snippet) Sort dynamic_link deleted files.
[inputs]: Add bash-minimal.
Change-Id: I49b17886405e1ed8161e71b51655fa393ff7f10b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/graphviz.scm (xdot): Update to 1.3.
[source]: Download the sources from GitHub as the PyPI tarbal is missing
some test files.
[arguments]: Use Gexps. Add "start-xserver" and "set-test-environment"
to setup test environment properly. Simplify "wrap" phase. Replace "check"
phase to run "test.py".
[native-inputs]: Add "gobject-introspection" and "xorg-server-for-tests".
[inputs]: Add "bash-minimal", "mesa", "mesa-opencl", "python-numpy"
and "vulkan-loader".
Change-Id: I7a68e9f5c1b66a6539b83623a457e16edacff012
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This fixes a build failure (after mesa-updates merge, perhaps from the
spirv-headers update). The package version corresponds to the LLVM version
targeted, so inputs needed to be updated.
* gnu/packages/vulkan.scm (spirv-llvm-translator): Update to 18.1.0.
[inputs]: Replace llvm-15 with llvm-18.
[native-inputs]: Ditto. Replace clang-15 with clang-18.
Change-Id: I8ad51dd019e508a14b479a7481de62cdae446425
* guix/scripts/git/authenticate.scm (install-hooks): New procedure.
(guix-git-authenticate): Use it.
* doc/guix.texi (Invoking guix git authenticate): Document it.
Change-Id: I4464a33193186e85b476a12740e54412bd58429c
Until now the command would be silent and exit with 0.
* guix/scripts/git/authenticate.scm (guix-git-authenticate): Print
something upon success.
Change-Id: I08d086c35df6ac74ee847df0479660293c68987d
This allows one to run ‘guix git authenticate’ from a sub-directory of
the checkout.
* guix/scripts/git/authenticate.scm (%default-options): Remove
‘directory’ key.
(guix-git-authenticate): Use ‘repository-discover’ when ‘directory’
option is missing.
Change-Id: Ifada00d559254971ed7eeb8c0a8d4ae74ff3defc