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
* guix/scripts/git/authenticate.scm (%default-options): Remove
‘keyring-reference’.
(config-value, configured-introduction, configured-keyring-reference)
(configured?, record-configuration, current-branch): New procedures.
(guix-git-authenticate)[missing-arguments]: New procedure.
Use ‘configured-introduction’ when zero arguments are given.
Use ‘configured-keyring-reference’ when ‘-k’ is not passed. Add call to
‘record-configuration’.
* doc/guix.texi (Invoking guix git authenticate): Document it.
Change-Id: I66e111a83f50407b52da71662629947f83a78bbc
Fixes a bug whereby ‘swh-download-directory-by-nar-hash’ would fail due
to ‘tar’ not being found in $PATH:
$ GUIX_DOWNLOAD_METHODS=swh guix build -S texlive-geometry --check
In execvp of tar: No such file or directory
SWH: found directory with nar-sha256 hash 217e1c8d33aa6fd063f205453a946509b059b85fa7e8d32b7e80054d5e6e5c26 at 'swh:1:dir:ccb56476fb36b2ba0298e57f2b2e69c735ac0a2f'
[…]
* guix/svn-download.scm (svn-fetch)[tar+gzip]: New variable.
[build]: Use it.
(svn-multi-fetch): Likewise.
Change-Id: I37ba9824a5feb6d38f85743519cbd2b2c3e1a9e8
* gnu/packages/bash.scm (bats)[version]: Update to 1.11.0.
[arguments]<#:builder>: Filter out symlinks in patch-shebang.
Change-Id: I74405b99f91172c10b8c81caa0f3f46e1df4d74e
* gnu/packages/astronomy.scm (python-reproject): Enable tests.
[arguments]: <#:tests-flags>: Add them as seen in tox.ini.
<#:phases>: Rename 'writable-home to 'prepare-test-environment to reflect
purpose and build extension before tests.
[native-inputs]: Add python-xdist.
Change-Id: I7a5454e3ce241b7a54626f8aba27602b4965c25b