Commit graph

8151 commits

Author SHA1 Message Date
Efraim Flashner
58ba5668f4
guix: cpu: Recognize CPUs through GCC-15.
* guix/cpu.scm (cpu->gcc-architecture)[x86_64]: Match with new
cpu-family.  Update matched CPUs.
[aarch64]: Update matched CPUs.
(gcc-architecture->micro-architecture-level): Add new gcc architectures.

Change-Id: Ib8fef3787a8db0d70e6bd2eef539beacc81d4e7a
2025-08-06 12:02:52 +03:00
Arun Isaac
cddc61ce95
lint: Improve grammar of minimal variant warning message.
* guix/lint.scm (check-inputs-should-use-a-minimal-variant): Add "be" in
warning message.
2025-08-04 17:00:31 +01:00
Greg Hogan
f361e7fa4a
gnu: cmake-build: Retry failed tests.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build),
* guix/build-system/qt.scm (qt-build, qt-cross-build): Add
test-repeat-until-pass? and test-repeat-until-pass-count fields.
* guix/build/cmake-build-system.scm (check): Add and use new fields.
* doc/guix.texi: Document new parameters.

Change-Id: I046dfc86a18fb2a2be4ae362c1226c2f8cab129c
2025-08-04 04:11:27 +00:00
Greg Hogan
27b14dee50
gnu: ninja: Update to 1.13.1.
* gnu/packages/ninja (ninja): Rename to ...
(ninja-pinned): ... this and update to 1.13.1.
[arguments]<#:tests?>: Disable.
[inputs]: Add re2c.
(ninja): Inherit from ninja/pinned.
* guix/build-system/cmake.scm, guix/build-system/meson.scm,
guix/build-system/qt.scm (default-ninja): Use ninja/pinned.
* gnu/packages/build-tools.scm (meson)[inputs],
(meson-python)[propagated-inputs]: Replace ninja with ninja/pinned.
* gnu/packages/python-xyz.scm (python-dbus-python, python-scikit-build)
[native-inputs]: Replace ninja with ninja/pinned.

Change-Id: I1b0291a37e83280ed66fd8042df962ada6d475be
2025-08-04 04:11:19 +00:00
Greg Hogan
5da1d852c2
build-system/cmake: Use CMake.
* guix/build/cmake-build-system.scm (configure): Add and use generator
field to configure the build system. Create and use CMake variable cache
file. Set the CMake variable BUILD_TESTING to the value of TESTS? so
that a package can optionally build tests. Set CMAKE_COLOR_DIAGNOSTICS
to ON. Set max load for parallel builds.
(build, install): New function.
(check): Replace call to gnu-build's non-parallelizable check with
function using cmake's ctest.
(%standard-phase): Add new build and install functions as phases.

* guix/build-system/cmake.scm (cmake-build, cmake-cross-build),
* guix/build-system/qt.scm (qt-build, qt-cross-build): Add generator
and test-exclude fields and remove unused test-target field.
* doc/guix.texi: Document new parameters.

* guix/build-system/cmake.scm (cmake-build),
* guix/build-system/qt.scm (qt-build): Add ninja to build-inputs.

Change-Id: Ifa8174c91f0fdc030ac5813e98f7c21cba1a7725
2025-08-03 23:36:40 +00:00
Cayetano Santos
9e3bdb02d8
licenses: Add CERN Open Hardware Licence.
* guix/licenses.scm (ohl2-s): New variable.
(ohl2-p): New variable.
(ohl2-w): New variable.
* guix/import/utils.scm (%spdx-license-identifiers): Add references to them.

Change-Id: I212332041b6438af0ea7b869e38665147f6ce798
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-08-03 10:58:14 +02:00
Efraim Flashner
7a85866a5b
download: Remove extra export.
* guix/build/download.scm: Remove byte-count->string export, which isn't
defined in this file.

Change-Id: Ia11cc4b4595ef1994d0bea85c1a7b4d9d2ce6e3e
2025-07-28 13:57:56 +03:00
Efraim Flashner
7df7dc31f1
guix offload: Adjust size suffix based on amount of data.
* guix/scripts/offload.scm (choose-build-machine): Display amount of
free space using more specific units.
(check-machine-status): Same.

Change-Id: I93ebbf3115f15dacf57be7e63350bfbe8a3974b6
2025-07-28 13:57:56 +03:00
Efraim Flashner
cc588d8eb6
guix gc: Adjust size suffix based on the amount of data.
* guix/ui.scm (number->size): New procedure.
* guix/scripts/gc.scm (guix-gc)[actions]: Display the amount of
collected-garbage using more specific units.
[ensure-free-space]: Display the size using an appropriate size unit.
* nix/libstore/gc.cc (deletePathRecursive, removeUnusedLinks): Same.
* nix/libstore/optimise-store.cc (showBytes): Move function ...
* nix/libstore/misc.cc: ... to here.  Expand to adjust the output based
on the amount of bytes received.

Change-Id: Idceb1a13f8e45f959d327f53d1a8accb29d2678b
2025-07-28 13:57:53 +03:00
Efraim Flashner
54717bb5b3
guix: lint: Check for misplaced argument flags.
* guix/lint.scm (check-misplaced-flags): New procedure.
(%local-checkers): Register new lint-checker.
* doc/guix.texi (Invoking guix lint): Add entry for misplaced-flags.
* tests/lint.scm (misplaced-flags: make-flag is incorrect,
misplaced-flags: configure-flag is incorrect, misplaced-flags: cargo
feature flags, misplaced-flags: flags without g-exp is incorrect,
misplaced-flags: build-type set correctly): New tests.

Change-Id: Ia8abbe787e26bffc65ee5c763326c7e271c189a4
2025-07-28 10:34:36 +03:00
nomike
01765b61c4
build-system/guile: Rename %scheme-file-regexp to default-scheme-file-regexp and export.
Follow-up to commit 0559a4b547.

* guix/build-system/guile.scm (%scheme-file-regexp): Rename to...
(default-scheme-file-regexp): ...this.  Export.

Change-Id: Ia4cfe59b4d0e9fda9555268f5c22e153123fc2c6
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-07-26 19:11:49 +02:00
宋文武
1e29b73a85
gnu: qtwebengine: Fix default path for QtWebEngineProcess.
Since qtwebengine and qtbase are not installed into the same prefix,
the default path for QtWebEngineProcess won't work.  Fix it so that
we no longer need to set QTWEBENGINEPROCESS_PATH anymore.

* gnu/packages/qt.scm (qtwebengine-5, qtwebengine) [arguments]:
Substitute 'QLibraryInfo::LibraryExecutablesPath' in substitute-source phase.
[native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
* guix/build/qt-utils.scm (variables-for-wrapping): Remove
QTWEBENGINEPROCESS_PATH.

Change-Id: Ie0dfaf8c2355a679e2a3ddeacf09654830f9ab2f
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>
2025-07-18 20:17:37 +02:00
Greg Hogan
b2a20e5fd9
build-system/gnu: Limit load average.
A nice feature of offload builds is that Guix will throttle the start of
new jobs based on the overload-threshold.  There is no equivalent for
local builds, so one must either run builds in serial (--max-jobs=1) and
endure single-threaded builds or run concurrent builds and watch the
system overload as it runs multiple multi-threaded builds.

From a benchmark comparing the compilation of concurrent Folly builds,
the "max-load" option reduced the overall time by 8.3%. Memory use also
drops considerably since we are only running 1/4 of the processes at any
time.

* guix/build/gnu-build-system.scm (build, check): Set max load.

Change-Id: I97f1e3e59880b6ed23faed2038eb5279415e9c95
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-18 20:17:32 +02:00
Ludovic Courtès
4ead533379
gnu-bootstrap: Use ‘search-input-file’.
* guix/build/gnu-bootstrap.scm (bootstrap-configure)
(bootstrap-install): Use ‘search-input-file’ instead of ‘assoc-ref’.

Change-Id: I8cd876d099a346b55b5e06b3a220f712dd504791
2025-07-18 20:17:31 +02:00
Ludovic Courtès
c57975b0e7
build-system/gnu: Use ‘search-input-file’ instead of input labels.
* guix/build/gnu-build-system.scm (configure): Use ‘search-input-file’
instead of ‘assoc-ref’ when looking for bash.
* gnu/packages/commencement.scm (%boot-gash-inputs): Update comment.

Change-Id: Ie95e95cfeb9f004fd304ff2af471ea5840af2b2e
2025-07-18 20:17:31 +02:00
Maxim Cournoyer
df94888eca
utils: Set $0 to basename of command in `wrap-program'.
* guix/build/utils.scm (wrap-program): Set the value of the -a option of
`exec' in the wrapper to ${0##*/} instead of $0, to use its base name instead
of the complete file name.

Fixes: https://issues.guix.gnu.org/73405
Change-Id: Iec5984d4d934c8df88a90ff653947f7d07413ae4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-18 20:17:31 +02:00
Tomas Volf
423be27d96
gexp: Attempt to set LC_CTYPE in compiled-modules.
This allows compiling modules with unicode in their names.

* guix/gexp.scm (compiled-modules): Attempt to set LC_CTYPE to C.UTF-8.

Change-Id: Ie92a57fe1c3b45d1c7a5e8865fcf291c5f590c11
Signed-off-by: Janneke Nieuwenhuizen <janneke@gnu.org>
2025-07-18 20:17:27 +02:00
Tomas Volf
843568cabe
gexp: Improve support of Unicode characters.
Support for non-ASCII characters was mixed.  Some gexp forms did support them,
while others did not.  Combined with current value for
%default-port-conversion-strategy, that sometimes led to unpleasant surprises.

Fixes #73660, see <https://issues.guix.gnu.org/73660>.

* guix/gexp.scm (gexp->derivation): Default LC_CTYPE to C.UTF-8.
(gexp->script, text-file*): Set port encoding to UTF-8.

Change-Id: Ie92a57fe1c3b45d1c7a5e8865fcf291c5f590c11
Signed-off-by: Janneke Nieuwenhuizen <janneke@gnu.org>
2025-07-18 20:17:27 +02:00
Ludovic Courtès
62bf9a7cc7
mapped-devices: Add ‘arguments’ field.
Fixes <https://issues.guix.gnu.org/70826>.

This allows users to specify extra arguments specific to the underlying
mapped device type.

* gnu/system/mapped-devices.scm (<mapped-device>)[arguments]: New field.
(device-mapping-service-type): Honor it.
* guix/scripts/system.scm (check-mapped-devices): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd): Likewise.
* doc/guix.texi (Mapped Devices): Document it.

Reported-by: 45mg <45mg.writes@gmail.com>
Change-Id: Idef5a3e68535c412f13bae9a92c81c49053d4f4a
2025-07-18 00:57:25 +02:00
Efraim Flashner
945c6ff9f2
guix: lint: Find more hardcoded compiler targets.
* guix/lint.scm (check-compiler-for-target): Adjust the logic when
checking the make-flags to actually determine if it is a gexp or not.
* tests/lint.scm (compiler-for-target: looks through G-expressions): Fix
test.

Change-Id: I0040cf29c8197d394e63ac90b2fba7ca5bcb5861
2025-07-17 20:29:48 +03:00
Simon Tournier
758e79730c
swh: Catch swh-error when downloading from SWH Vault.
* guix/swh.scm (swh-download): Catch 'swh-error' and display the error
message.

Change-Id: I2965d8b71023a938a5ba7eba454c6ec109fdcc54
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-17 16:41:28 +02:00
Nicolas Graves
0559a4b547
build-system: guile: Remove unused build defaults.
Defaults should be set in guix/build-system/guile.scm rather than
guix/build/guile-build-system.scm, to disambiguate at first sight
where those defaults are set.

* guix/build-system/guile.scm (guile-build)
  <#:not-compiled-file-regexp>: Add default.

* guix/build/guile-build-system.scm (build): Remove unused keyword
  defaults.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-16 23:50:51 +02:00
Nicolas Graves
8897360fb3
build-system: guile: Make #:documentation-file-regexp configurable.
* guix/build/guile-build-system.scm
  (install-documentation): Unset documentation-file-regexp keyword
  default.
  (%documentation-file-regexp): Move variable to...
* guix/build-system/guile.scm
  (%documentation-file-regexp): New variable.
  (guile-build, guile-cross-build): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-16 23:50:51 +02:00
Ludovic Courtès
38e82ca727
pki: Always make /etc/guix/acl world-readable.
Fixes guix/guix#664.

This is necessary when running ‘guix-daemon’ as an unprivileged user and
also when running ‘guix weather’ as an unprivileged user.

* guix/pki.scm (ensure-acl): Make ‘%acl-file’ #o644.
* guix/scripts/archive.scm (authorize-key): Likewise.
* guix/ssh.scm (remote-authorize-signing-key): Likewise.

Change-Id: I3c979b2cdf52e7cb657d8fafa244c58854e7fb67
2025-07-16 23:50:38 +02:00
Ludovic Courtès
36cb70d2a0
gnu-maintenance: Update Savannah release monitoring URL.
* guix/gnu-maintenance.scm (%savannah-base): Change URL and remove
outdated comment.

Change-Id: I03103ef2dd2cf9886f5b1eed12d70d5a298a85c1
2025-07-13 16:39:14 +02:00
Liliana Marie Prikler
4fe31fd51e
guix: luanti-build-system: Ignore audio errors.
* guix/build/luanti-build-system.scm (check)[error?]: Ignore errors related to
the initialization of the audio subsystem.
2025-07-13 13:54:02 +02:00
Liliana Marie Prikler
9a75c8ac13
gnu: luanti: Prefix search paths with LUANTI.
* gnu/packages/patches/luanti-paths.patch: New file.
* gnu/packages/luanti.scm (luanti)[source]: Use it.
[#:phases]<check>: Use LUANTI_GAME_PATH.
[native-search-paths]: Rename “MINETEST_GAME_PATH” to “LUANTI_GAME_PATH”.
Rename “MINETEST_MOD_PATH” to “LUANTI_MOD_PATH”.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* guix/build/luanti-build-system.scm (check): Use LUANTI_MOD_PATH.
2025-07-13 13:54:02 +02:00
Liliana Marie Prikler
abbdfbb775
gnu: Rename minetest to luanti.
* gnu/packages/luanti.scm: New file.
(luanti, luanti-server, luanti-topic, luanti-moreores, luanti-sound-api-core)
(luanti-basic-materials, luanti-coloredwood, luanti-ethereal)
(luanti-homedecor-modpack, luanti-mesecons, luanti-mineclone, luanti-mobs)
(luanti-mobs-animal, luanti-mobs-monster, luanti-pipeworks, luanti-technic)
(luanti-throwing, luanti-throwing-arrows, luanti-worldedit)
(luanti-unifieddyes, luanti-unified-inventory, luanti-advtrains)
(luanti-basic-trains, luanti-oneblock, luanti-wielded-light): New variables.
* gnu/packages/minetest.scm:
(minetest, minetest-server, minetest-topic, minetest-moreores)
(minetest-sound-api-core, minetest-basic-materials, minetest-coloredwood)
(minetest-ethereal, minetest-homedecor-modpack, minetest-mesecons)
(minetest-mineclone, minetest-mobs, minetest-mobs-animal)
(minetest-mobs-monster, minetest-pipeworks, minetest-technic)
(minetest-throwing, minetest-throwing-arrows, minetest-worldedit)
(minetest-unifieddyes, minetest-unified-inventory, minetest-advtrains)
(minetest-basic-trains, minetest-oneblock, minetest-wielded-light): Deprecate
in favor of the above.
(minetest-game): Move to…
* gnu/packages/luanti.scm (minetest-game): … here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register luanti.scm.
* guix/build-system/luanti.scm: New file.
(luanti-mod-build-system): New public variable.
* guix/build-system/minetest.scm (minetest-mod-build-system): Deprecate in
favor of luanti-mod-build-system.
* guix/build/luanti-build-system.scm: New file, renamed from…
* guix/build/minetest-build-system.scm: … this. Deprecate in favor of
luanti-build-system.
* guix/import/luanti.scm: New file, renamed from guix/import/minetest.scm.
(%contentdb-api): Switch to “https://content.luanti.org/api/”.
(luanti-package?, latest-luanti-release, luanti->guix-package)
(luanti-recursive-import, %luanti-updater): New public variables.
* guix/import/minetest.scm (minetest-package?, latest-minetest-release)
(minetest->guix-package, minetest-recursive-import, %minetest-updater):
Deprecate in favor of the luanti variants above.
* guix/scripts/import/luanti.scm: New file, renamed from
guix/scripts/import/minetest.scm.
(guix-import-luanti): New public variable.
* guix/scripts/import/minetest.scm (guix-import-minetest): Deprecate in favor
of guix-import-luanti.
* tests/minetest.scm: Rename to…
* tests/luanti.scm: … this.
* Makefile.am (MODULES, SCM_TESTS): Adjust accordingly.
* etc/teams.scm (games): Adjust accordingly.
* CODEOWNERS: Adjust accordingly.
2025-07-13 13:54:01 +02:00
Ludovic Courtès
7af0d64677
pack: Autoload all the (gnu packages …) modules.
Fixes guix/guix#640.

* guix/scripts/pack.scm <top-level>: Autoload (gnu packages …) modules.
(bootstrap-xz): Turn into a thunk and update user.
(gcrypt-sqlite3&co): Move to…
(store-database): … here.

Reported-by: Luca Cirrottola <luca.cirrottola@inria.fr>
Change-Id: I345a872a7c2a94ad148052fef3b2b674cc94c9d0
2025-07-09 11:53:23 +02:00
Nicolas Graves
4557e8f581
build-system/pyproject: Export default-sanity-check.py.
There is currently no convenient way to inject our sanity-check.py
script in the inputs of a project that extends another build-system
with pyproject components.  Thus we usually don't run sanity-check for
such cases (it's only python build and install).

This patch improves a bit this issue by exposing our script.  Since it
doesn't change derivations, this doesn't lead to rebuilds and can be
merged in master.

* guix/build-system/pyproject.scm
  (sanity-check.py): Replace variable by...
  (default-sanity-check.py): Add exported procedure replacing and
  extending former sanity-check.py.
  (lower)[sanity-check.py]: Add and use argument.

Change-Id: I422d3d2d53b59548099d381feae9b956f5e2e07a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-08 12:09:34 +01:00
Zheng Junjie
9b9b1f9bf5
records: Remove unneed autoload.
This is a follow-up to 23cbbe6860

* guix/records.scm: Remove autoload target-most-positive-fixnum.

Change-Id: I0e5b38382e3152c5f44a6626e618b4c7b027595d
2025-07-01 17:46:01 +08:00
Zheng Junjie
92ea9e69ac
import: nuget: Use http-fetch.
* guix/import/nuget.scm (fetch-repo-info-from-snupkg): Use http-fetch, and
guard. Dont use mkstemp, just put-bytevector to file.

Change-Id: Ied9d64651d0ccd7875a9d80ac085cf5947c40c4c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:16 +01:00
Zheng Junjie
a8c11ecf1e
import: nuget: make imported package file-name clean.
* guix/import/nuget.scm (nuget->guix-package): make imported package file-name
clean.

Change-Id: Ie5a1dc1a95dc1bf795da4d960e65f5e2bd6d6b63
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:02 +01:00
Zheng Junjie
388d119187
import: nuget: use maybe-inputs.
* guix/import/nuget.scm (nuget->guix-package): Use maybe-inputs.

Change-Id: I6e1d3395e6c3beb4f960345a82c547307e59293c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:58 +01:00
Zheng Junjie
6b861d4b62
import: nuget: Use beautify-description and beautify-synopsis.
* guix/import/nuget.scm(non-empty-string-or-false): New procedure.
* guix/import/nuget.scm (nuget->guix-package): Use beautify-description and
beautify-synopsis.

Change-Id: Ie3b4b676499558af5e6742b91a40d93624f2caf9
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:51 +01:00
Zheng Junjie
d8a61d2b0b
import: nuget: use xml->sxml's namespaces keyword.
* guix/import/nuget.scm (%nuget-nuspec): New variable.
(fetch-repo-info-from-snupkg): use xml->sxml's namespaces keyword.
reindentation. Do not use square brackets.

Change-Id: Ic86a12ab6557e0a7d627864c9ec39245f9cea892
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:47 +01:00
Zheng Junjie
8b38fb8fa7
import: nuget: use json-fetch.
* guix/import/nuget.scm (nuget-find-best-version-for-range):
(nuget-fetch-catalog-entry): Use json-fetch.

Change-Id: I5223d264d363004aacfb0cf4a522813ffa485893
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:42 +01:00
Zheng Junjie
2e6c177149
import: nuget: use snake-case.
* guix/import/nuget.scm (nuget-name->guix-name): use snake-case.

Change-Id: I8371d2fd6b33170c61c86302117f7952123e05b5
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:47:14 +01:00
Brice Waegeneire
715b38815f
git authenticate: Create Git hooks directory.
* guix/scripts/git/authenticate.scm (install-hooks): Create Git hooks
directory if necessary.

Change-Id: Icb9b0674d42af78fe03a3c820369f8324db960b4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-30 14:30:40 +02:00
Tomas Volf
eca2591476
import: nuget: Use (ice-9 format).
* guix/import/nuget.scm: Use (ice-9 format) module.

Change-Id: I8db23842a4e4ec0347549bd8ad12beee80904d6b
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-28 10:16:56 +08:00
Romain GARBAGE
a9d7423644
pack: Don't export properties when SAVE-PROVENANCE is not set.
* guix/scripts/pack.scm (guix-pack): Don't export properties when SAVE-PROVENANCE is not set.

Change-Id: I956721d1238631451758057a7c9cf13e2da7c59a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:56:54 +02:00
Romain GARBAGE
cbe9eb7c15
profiles: Allow modification of package properties in packages->manifest.
* guix/profiles.scm (packages->manifest): Allow modification of package properties.

Change-Id: Ie666290f49ed72b74833c503e6f41b0a0404bb43
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:56:51 +02:00
Romain GARBAGE
6cf105ebee
profiles: Rename default-properties function and expose it.
* guix/profiles.scm: Expose default-package-properties.
(default-package-properties, package->manifest-entry):
Rename default-properties.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:34:32 +02:00
jgart
4aff859183
guix: asdf: Add asdf-build-system/clasp.
* guix/build-system/asdf.scm (asdf-build-system/clasp): New variable.
[native-search-paths]: Add search paths.

Change-Id: I3631fa0d55112fd6440d2b500dddc4d04ead78e6
Signed-off-by: jgart <jgart@dismail.de>
2025-06-25 15:23:16 -04:00
Nicolas Graves via Guix-patches via
229674573c
cve: Add cpe-vendor and lint-hidden-cpe-vendors properties.
* guix/cve.scm: Exploit cpe vendors information.
(cpe->package-name): Rename to...
(cpe->package-identifier): Renamed from cpe->package-name. Use
cpe_vendor:cpe_name in place or cpe_name.
(vulnerabily-matches?): Add helper function.
(vulnerabilities->lookup-proc): Extract cpe_name for table
hashes. Add vendor and hidden-vendor arguments. Adapt condition to
pass vulnerabilities to result in the fold.
(write-cache, fetch-vulnerabilities): Update the format version.

* guix/lint.scm (package-vulnerabilities): Use additional arguments
from vulnerabilities->lookup-proc.

* tests/cve.scm (%expected-vulnerabilities): Adapt variable to changes
in guix/cve.scm.

Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-23 12:31:09 +08:00
Ludovic Courtès
99f85246e1
git authenticate: Do nothing when invoked from the keyring branch.
Fixes <https://issues.guix.gnu.org/78283>.

* guix/scripts/git/authenticate.scm (guix-git-authenticate): Call
‘current-branch’ and do nothing if it returns the keyring branch.

Reported-by: Vagrant Cascadian <vagrant@debian.org>
Change-Id: I66c2a3f4babf68ac1df0913db6bc708ac0c7968e
2025-06-22 23:45:36 +02:00
Ludovic Courtès
0ec5cab132
git authenticate: Gracefully handle passing an annotated tag to ‘--end’.
Partly fixes <https://issues.guix.gnu.org/74583>.

Previously, passing an annotated tag to ‘--end’, as can happen when
‘guix git authenticate’ is invoked by the pre-push hook when pushing
tags, would lead to an error:

  guix git: error: Git error: the requested type does not match the type in the ODB

* guix/scripts/git/authenticate.scm (ensure-commit-id): New procedure.
(guix-git-authenticate): Use it.
* tests/guix-git-authenticate.sh: Test with $v1_2_0_annotated_tag.

Change-Id: I22e8eb665609522c80c1f0dcb9e77a46c23c0c3c
2025-06-22 23:45:36 +02:00
Ludovic Courtès
56eb949f3b
git authenticate: Upgrade pre-push hook with a fixed version.
Partly fixes <https://issues.guix.gnu.org/74583>.

* guix/scripts/git/authenticate.scm (%pre-push-hook): New variable.
(install-hooks): Use it.
(broken-pre-push-hook?, maybe-upgrade-hooks): New procedures.
(guix-git-authenticate): Call ‘maybe-upgrade-hooks’ when ‘configured?’
returns true.

Change-Id: I39d34ab66ffe0f34170c0f562e9f97f2f69c9fdc
2025-06-22 23:45:36 +02:00
Ludovic Courtès
55b38ddefc
git authenticate: Remove support for Guile-Git < 0.7.0.
Guile-Git 0.7.0 was released in May 2024.

* guix/scripts/git/authenticate.scm (record-configuration): Remove
‘module-defined?’ condition for Guile-Git < 0.7.0.
(install-hooks): Likewise.

Change-Id: I27af82068b989d6a18ff1a66453e0a8d397ed380
2025-06-22 23:45:32 +02:00
Sergey Trofimov
5007e5ab3f
gexp: Adjust <file-append>'s string representation.
gexp-compiler concatenates suffixes, but when writing the record same
suffixes are joined which produces odd-looking result:
(file-append 'file "/" "abc") => #<file-append file "/ abc">

* guix/gexp.scm (write-file-append): Concatenate suffixes without
spaces.

Change-Id: Iaa986c759f5ade84ff077c90440ff5138eebe900
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-20 17:59:03 +02:00