summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
5 daysdownload: Remove extra export.Efraim Flashner
* guix/build/download.scm: Remove byte-count->string export, which isn't defined in this file. Change-Id: Ia11cc4b4595ef1994d0bea85c1a7b4d9d2ce6e3e
5 daysguix offload: Adjust size suffix based on amount of data.Efraim Flashner
* guix/scripts/offload.scm (choose-build-machine): Display amount of free space using more specific units. (check-machine-status): Same. Change-Id: I93ebbf3115f15dacf57be7e63350bfbe8a3974b6
5 daysguix gc: Adjust size suffix based on the amount of data.Efraim Flashner
* 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
5 daysguix: lint: Check for misplaced argument flags.Efraim Flashner
* 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
7 daysbuild-system/guile: Rename %scheme-file-regexp to default-scheme-file-regexp ↵nomike
and export. Follow-up to commit 0559a4b5472f9dc4c88240c61e7ad49a95855d6f. * 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-18gnu: 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-18build-system/gnu: Limit load average.Greg Hogan
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-18gnu-bootstrap: Use ‘search-input-file’.Ludovic Courtès
* guix/build/gnu-bootstrap.scm (bootstrap-configure) (bootstrap-install): Use ‘search-input-file’ instead of ‘assoc-ref’. Change-Id: I8cd876d099a346b55b5e06b3a220f712dd504791
2025-07-18build-system/gnu: Use ‘search-input-file’ instead of input labels.Ludovic Courtès
* 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-18utils: Set $0 to basename of command in `wrap-program'.Maxim Cournoyer
* 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-18gexp: Attempt to set LC_CTYPE in compiled-modules.Tomas Volf
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-18gexp: Improve support of Unicode characters.Tomas Volf
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-18mapped-devices: Add ‘arguments’ field.Ludovic Courtès
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-17guix: lint: Find more hardcoded compiler targets.Efraim Flashner
* 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-17swh: Catch swh-error when downloading from SWH Vault.Simon Tournier
* 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-16build-system: guile: Remove unused build defaults.Nicolas Graves
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-16build-system: guile: Make #:documentation-file-regexp configurable.Nicolas Graves
* 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-16pki: Always make /etc/guix/acl world-readable.Ludovic Courtès
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-13gnu-maintenance: Update Savannah release monitoring URL.Ludovic Courtès
* guix/gnu-maintenance.scm (%savannah-base): Change URL and remove outdated comment. Change-Id: I03103ef2dd2cf9886f5b1eed12d70d5a298a85c1
2025-07-13guix: luanti-build-system: Ignore audio errors.Liliana Marie Prikler
* guix/build/luanti-build-system.scm (check)[error?]: Ignore errors related to the initialization of the audio subsystem.
2025-07-13gnu: luanti: Prefix search paths with LUANTI.Liliana Marie Prikler
* 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-13gnu: Rename minetest to luanti.Liliana Marie Prikler
* 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-09pack: Autoload all the (gnu packages …) modules.Ludovic Courtès
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-08build-system/pyproject: Export default-sanity-check.py.Nicolas Graves
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-01records: Remove unneed autoload.Zheng Junjie
This is a follow-up to 23cbbe6860782c5d4a0ba599ea1cda0642e91661 * guix/records.scm: Remove autoload target-most-positive-fixnum. Change-Id: I0e5b38382e3152c5f44a6626e618b4c7b027595d
2025-07-01import: nuget: Use http-fetch.Zheng Junjie
* 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-01import: nuget: make imported package file-name clean.Zheng Junjie
* 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-01import: nuget: use maybe-inputs.Zheng Junjie
* 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-01import: nuget: Use beautify-description and beautify-synopsis.Zheng Junjie
* 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-01import: nuget: use xml->sxml's namespaces keyword.Zheng Junjie
* 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-01import: nuget: use json-fetch.Zheng Junjie
* 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-01import: nuget: use snake-case.Zheng Junjie
* 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-06-30git authenticate: Create Git hooks directory.Brice Waegeneire
* 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-28import: nuget: Use (ice-9 format).Tomas Volf
* guix/import/nuget.scm: Use (ice-9 format) module. Change-Id: I8db23842a4e4ec0347549bd8ad12beee80904d6b Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-26pack: Don't export properties when SAVE-PROVENANCE is not set.Romain GARBAGE
* 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-26profiles: Allow modification of package properties in packages->manifest.Romain GARBAGE
* 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-26profiles: Rename default-properties function and expose it.Romain GARBAGE
* 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-25guix: asdf: Add asdf-build-system/clasp.jgart
* 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-23cve: Add cpe-vendor and lint-hidden-cpe-vendors properties.Nicolas Graves via Guix-patches via
* 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-22git authenticate: Do nothing when invoked from the keyring branch.Ludovic Courtès
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-22git authenticate: Gracefully handle passing an annotated tag to ‘--end’.Ludovic Courtès
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-22git authenticate: Upgrade pre-push hook with a fixed version.Ludovic Courtès
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-22git authenticate: Remove support for Guile-Git < 0.7.0.Ludovic Courtès
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-20gexp: Adjust <file-append>'s string representation.Sergey Trofimov
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-19import: stackage: Adjust API URL.Lars-Dominik Braun
See https://github.com/commercialhaskell/stackage-server/issues/353. * guix/import/stackage.scm (%stackage-url): Adjust to new API URL. Change-Id: I9bc1a10154340f89dcbacf715bd5ea5a9ef90b88
2025-06-19guix: nuget importer: Add it.Danny Milosavljevic
* guix/import/nuget.scm: New file. * guix/scripts/import/nuget.scm: New file. * guix/scripts/import.scm: Add reference to it. * gnu/packages/guile-xyz.scm (guile-semver): Update to 0.2.0. [source]: Switch. Change-Id: I159c5cf3b02b42435b03d989d5815d3fcf001c92
2025-06-19status: Colorize more test output.Esther Flashner
* guix/status.scm (colorize-log-line): Add entry for passing tests. Change-Id: I21de0abd11902a1ca045748084e087bcd4bcf3b7 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-06-16git: Move ‘core.autocrlf’ settings.Simon Tournier
Follow up of b5e567bb2b277f89af493ba8cd0799fdb368a184. * guix/git.scm (clone*): Move ‘core.autocrlf’ settings from here... (update-cached-checkout): ...to here. Change-Id: I0f91d348376f9953cfbc497148596b738705818b Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-15guix: emacs-build-system: Add #:lisp-directory.Morgan Smith
* guix/build-system/emacs.scm (emacs-build): Add #:lisp-directory. * guix/build/emacs-build-system.scm (unpack): Change into lisp-directory after unpacking. Change-Id: I3991af7188de72b29b1c6985ffe7185216cedb35 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15build-system: emacs: Guess test framework.Liliana Marie Prikler
* guix/build/emacs-build-system (check-command): New variable. (check): Use it. * guix/build-system/emacs.scm (emacs-build)[test-command]: Set to #f.