summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2023-05-06build-system: node: Use `--install-links' with `npm install'.Jelle Licht
Later versions of npm need to explicitly install a copy of local dependencies, instead of only a symlink. * guix/build/node-build-system.scm (configure): Add `--install-links' to npm install invocation. (install): Ditto.
2023-05-05read-print: Recognize 'wrap-program' and 'wrap-script' as special forms.Ludovic Courtès
* guix/read-print.scm (%special-forms): Add 'wrap-program' and 'wrap-script'.
2023-05-05read-print: Correctly read "(. x)".Ludovic Courtès
* guix/read-print.scm (read-with-comments): Check whether REST is a pair before calling 'set-cdr!'. * tests/read-print.scm ("read-with-comments: half dot notation"): New test.
2023-05-04transformations: Add '--with-configure-flag'.Sarthak Shah
* guix/transformations.scm (transform-package-configure-flag): New procedure. (%transformation-options, %transformation-options) (show-transformation-options-help/detailed): Add it. * tests/transformations.scm ("options->transformation, with-configure-flag"): New test. * doc/guix.texi (Package Transformation Options): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-05-04style: Make 'safe' policy less conservative.Ludovic Courtès
Previously, a mere (arguments '(#:tests? #f)) would lead guix style -S inputs --input-simplification=safe to bail out. It now recognizes such trivial argument lists and proceeds. * guix/scripts/style.scm (trivial-package-arguments?): New procedure. (simplify-package-inputs): Use it in the 'safe case instead of 'null?'. * tests/style.scm ("input labels, 'safe' policy, trivial arguments"): New test.
2023-05-04profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/63043>. * guix/profiles.scm (texlive-font-maps): Define 'texlive-inputs'. [build]: Use it. Return #f when TEXLIVE-INPUTS is empty.
2023-05-04import: elpa: Standardize warning message.Ludovic Courtès
* guix/import/elpa.scm (melpa-recipe->origin): Standardize warning message.
2023-05-04import: Cosmetic tweaks to 'recursive-import'.Ludovic Courtès
* guix/import/utils.scm (recursive-import): Tweak docstring. Simplify 'apply' call.
2023-05-04import: elpa: Use the expected repo in recursive imports.Ludovic Courtès
* guix/import/elpa.scm (elpa-recursive-import): Pass REPO in calls to 'elpa->guix-package'.
2023-05-04import: elpa: 'elpa->guix-package' accepts other keyword arguments.Ludovic Courtès
This is a followup to 3c24da4260f28b4ed57efda0296688a50ac94628. * guix/import/elpa.scm (elpa->guix-package): Add #:allow-other-keys.
2023-05-04ftp-client: 'connect*' retries until the timeout has expired.Ludovic Courtès
Partly fixes <https://issues.guix.gnu.org/63024>. Reported by Greg Hogan <code@greghogan.com> and Timo Wilken <guix@twilken.net>. * guix/ftp-client.scm (connect*): When 'select' returns an empty set, try again until TIMEOUT has expired.
2023-04-30scripts: import: crate: Handle non-existent package.Simon Tournier
Fixes <https://bugs/gnu.org/63020>. * guix/scripts/import/crate.scm (guix-import-crate): Handle non-existent package input. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30guix: import: crate: Fix incorrect returned values.Simon Tournier
* guix/import/crate.scm (crate->guix-package): Return compatible values with 'recursive-import'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30build-system/cmake: Add support for the #:disallowed-references key.Leo Famulari
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add #:disallowed-references.
2023-04-29import/cran: Translate from xml2 to libxml2.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add translation from xml2 to libxml2.
2023-04-29import/cran: Add "unix" to list of invalid packages.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): Add "unix".
2023-04-29guix: Upgrade to Bioconductor 3.16.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.17. * guix/import/cran.scm (%bioconductor-version): Same.
2023-04-29import/pypi: Generate packages using pyproject-build-system.Ricardo Wurmus
* guix/import/pypi.scm (make-pypi-sexp): Generate PACKAGE expression where the value for the BUILD-SYSTEM field is PYPROJECT-BUILD-SYSTEM instead of PYTHON-BUILD-SYSTEM.
2023-04-24Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-24read-print: 'pretty-print-with-comments' keeps newlines on long strings.Ludovic Courtès
* guix/read-print.scm (printed-string)[preserve-newlines?]: New procedure. Use it to preserve newlines on long strings. * tests/read-print.scm: Add test.
2023-04-23Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-23refresh: Support select packages SUBSET by module name.宋文武
* guix/scripts/refresh.scm (%options): Support '--select module:NAME'. (show-help): Adjust accordingly. (options->update-specs): Honor the module passed by '--select'. * doc/guix.texi (Invoking guix refresh): Document it.
2023-04-22Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-21packages: 'package-direct-sources' correctly handles non-origin sources.Ludovic Courtès
Previously 'package-direct-sources' would trigger a wrong-type-arg error when passed a package whose 'source' is not an origin, such as 'ruby-sorbet-runtime'. * guix/packages.scm (package-direct-sources): Call 'expand' if and only if (package-source package) is an origin.
2023-04-19ssh: Silence remote daemon messages when sending store items.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/61839>. Previously, when running 'guix-daemon --debug' on the remote machine, lots of debugging outputs would be printed to stderr; since the client wouldn't read it, we could eventually reach a deadlock where the 'guix repl' process would be stuck writing to stderr while the client is stuck waiting on its stdout. * guix/ssh.scm (store-import-channel)[import]: Parameterize 'current-build-output-port'.
2023-04-19substitute: Download nar from another server upon ETIMEDOUT.Ludovic Courtès
Previously, 'guix substitute' would fail abruptly with something like: guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow guix substitute: warning: try `--no-substitutes' if the problem persists guix substitute: error: connect*: Connection timed out substitution of /gnu/store/…-example failed * guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT.
2023-04-19environment: Really auto-load (guix scripts pack).Ludovic Courtès
Fixes a performance regression on cache hits introduced in b31ea797edb4f6e8c14e8fe790da1319607c5cb1, whereby (guix scripts pack) would be loaded eagerly during startup, leading hundreds of (gnu packages *) modules to be loaded. Fixes <https://issues.guix.gnu.org/62899>. * guix/scripts/environment.scm: Autoload (gnu build install). (%options): Add indirection when calling 'symlink-spec-option-parser' so that (guix scripts pack) is auto-loaded only when needed.
2023-04-17ssh: Silence remote daemon messages when sending store items.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/61839>. Previously, when running 'guix-daemon --debug' on the remote machine, lots of debugging outputs would be printed to stderr; since the client wouldn't read it, we could eventually reach a deadlock where the 'guix repl' process would be stuck writing to stderr while the client is stuck waiting on its stdout. * guix/ssh.scm (store-import-channel)[import]: Parameterize 'current-build-output-port'.
2023-04-17substitute: Download nar from another server upon ETIMEDOUT.Ludovic Courtès
Previously, 'guix substitute' would fail abruptly with something like: guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow guix substitute: warning: try `--no-substitutes' if the problem persists guix substitute: error: connect*: Connection timed out substitution of /gnu/store/…-example failed * guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT.
2023-04-17environment: Really auto-load (guix scripts pack).Ludovic Courtès
Fixes a performance regression on cache hits introduced in b31ea797edb4f6e8c14e8fe790da1319607c5cb1, whereby (guix scripts pack) would be loaded eagerly during startup, leading hundreds of (gnu packages *) modules to be loaded. Fixes <https://issues.guix.gnu.org/62899>. * guix/scripts/environment.scm: Autoload (gnu build install). (%options): Add indirection when calling 'symlink-spec-option-parser' so that (guix scripts pack) is auto-loaded only when needed.
2023-04-17Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-17self: Restructure accessing packages.Christopher Baines
Both for consistency (always use specification->package as defined in this module) and so that all the packages that are used can be accessed (which comes in useful when applying grafts). * guix/self.scm (%packages): New variable. (specification->package): Use %packages. (locale-data, translate-texi-manuals, info-manual, guix-command, compiled-guix): Use specification->package. Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-04-17packages: Export guile-for-grafts.Christopher Baines
So this can be used in (guix self). * guix/packages.scm (guile-for-grafts): Export. Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-04-14maint: Merge sanity-check-next.py into sanity-check.py.Maxim Cournoyer
* gnu/packages/aux-files/python/sanity-check-next.py: Rename to... * gnu/packages/aux-files/python/sanity-check.py: ... this. * guix/build-system/pyproject.scm (sanity-check.py): Adjust file name. * Makefile.am (AUX_FILES): De-register sanity-check-next.py.
2023-04-14Merge branch 'master' into core-updates.Maxim Cournoyer
Conflicts: gnu/local.mk gnu/packages/build-tools.scm gnu/packages/certs.scm gnu/packages/check.scm gnu/packages/compression.scm gnu/packages/cups.scm gnu/packages/fontutils.scm gnu/packages/gnuzilla.scm gnu/packages/guile.scm gnu/packages/ibus.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/music.scm gnu/packages/nss.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/qt.scm gnu/packages/ruby.scm gnu/packages/shells.scm gnu/packages/tex.scm gnu/packages/video.scm gnu/packages/vulkan.scm gnu/packages/web.scm gnu/packages/webkit.scm gnu/packages/wm.scm
2023-04-14build/glib-or-gtk: Avoid duplicate entries in gdk-pixbuf loaders cache.Maxim Cournoyer
* guix/build/glib-or-gtk-build-system.scm (generate-gdk-pixbuf-loaders-cache): Delete duplicate directories passed as input.
2023-04-14build: qt-utils: Revert setting QT_PLUGIN_PATH exactly.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/57742>. The documentation of Qt states that it is a supported use case to mix Qt 5 and Qt 6 plugins in QT_PLUGIN_PATH [0]. This reverts the change to QT_PLUGIN_PATH introduced in 1f466ed6be9 ("build: qt: Add qtbase argument and wrap Qt environment variables exactly."). [0] https://doc.qt.io/qt-6.2/deployment-plugins.html#loading-and-verifying-plugins-dynamically * guix/build/qt-utils.scm (variables-for-wrapping): Wrap QT_PLUGIN_PATH using the prefix method.
2023-04-12status: Guard against a numerical overflow condition.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/62766>. * guix/status.scm (update-build): Use 0 as progress when an exception occurs while computing it.
2023-04-12import: opam: Tweak doc for '--repo' option.Ludovic Courtès
* guix/scripts/import/opam.scm (show-help): Tweak doc for. '--repo'.
2023-04-12import: opam: opam->guix-package: Fix default repo argument.Csepp
* guix/import/opam.scm (opam->guix-package): Make default repo a list of strings. Update docstring. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12svn-download: Default to non-recursive checkouts.Ludovic Courtès
As it turns out, all packages that fetch code from Subversion expect it to be non-recursive by default. Clarify that. Reported by Timothy Sample <samplet@ngyro.com>. * guix/svn-download.scm (<svn-reference>)[recursive?]: Default to #f. (<svn-multi-reference>)[recursive?]: Likewise.
2023-04-12import: Properly report "no specific version" errors.Ludovic Courtès
* guix/import/cpan.scm (latest-release): Use 'raise' instead of 'error'. * guix/import/elpa.scm (latest-release): Likewise. * guix/import/hackage.scm (latest-release): Likewise. * guix/import/minetest.scm (latest-minetest-release): Likewise. * guix/import/opam.scm (latest-release): Likewise. * guix/import/stackage.scm (latest-lts-release): Likewise.
2023-04-12packages: Remove 'origin-sha256' procedure.Bruno Victal
* guix/packages.scm (origin-sha256): Remove procedure. * tests/import-utils.scm (test-import-utils) [alist->package with explicit source]: Use content-hash-value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12po: Do not auto-translate cross-references to other manuals.Florian Pelz
Reported by Gottfried at <https://lists.gnu.org/archive/html/help-guix/2023-04/msg00000.html>. * guix/build/po.scm (xref-regexp): Dispatch on the number of arguments. Ensure there is no info-manual argument or it is empty. (translate-cross-references): Adapt to changed regexp. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12environment: Add '--nesting'.Ludovic Courtès
* guix/scripts/environment.scm (show-environment-options-help) (%options): Add '--nesting'. (options/resolve-packages): Handle it. (launch-environment/container): Add #:nesting? and honor it. [nesting-mappings]: New procedure. (guix-environment*): Add support for '--nesting'. * guix/scripts/shell.scm (profile-cached-gc-root): Special-case 'nesting?'. * tests/guix-environment-container.sh: Test it. * doc/guix.texi (Invoking guix shell): Document it.
2023-04-10status: Guard against a numerical overflow condition.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/62766>. * guix/status.scm (update-build): Use 0 as progress when an exception occurs while computing it.
2023-04-10status: Guard against a numerical overflow condition.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/62766>. * guix/status.scm (update-build): Use 0 as progress when an exception occurs while computing it.
2023-04-09build: meson: Explicitly invoke "meson setup" instead of just "meson".Maxim Cournoyer
* guix/build/meson-build-system.scm (configure): Invoke the setup command to avoid a deprecation warning.
2023-04-09build: meson: Honor bindir, libdir and includedir.Maxim Cournoyer
This brings our meson-build-system closer to our gnu-build-system in terms of using different installation prefixes based on the presence of outputs such as "bin", "lib" or "include". * guix/build/meson-build-system.scm (configure): Add --bindir, --libdir and --includedir according to the presence of the "bin", "lib" and "include" outputs, as done in gnu-build-system.
2023-04-08import: opam: Tweak doc for '--repo' option.Ludovic Courtès
* guix/scripts/import/opam.scm (show-help): Tweak doc for. '--repo'.