summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2022-06-04guix system: Add 'edit' sub-command....* guix/scripts/system/edit.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/system.scm (show-help): Mention "edit". (actions): Add it. (process-command): Handle it. * doc/guix.texi (Invoking guix system): Document it. * po/guix/POTFILES.in: Add guix/scripts/system/edit.scm. Ludovic Courtès
2022-06-04edit: Extract 'spawn-editor' procedure....* guix/scripts/edit.scm (spawn-editor): New procedure, with code from... (guix-edit): ... here. Use it. Ludovic Courtès
2022-06-04cache: Catch invalid 'last-expiry-cleanup'....Fixes <http://issues.guix.gnu.org/55638>. * guix/cache.scm (maybe-remove-expired-cache-entries)[last-expiry-date]: Use 'get-string-all' + 'string->number' instead of 'read'; ignore invalid numbers. * tests/cache.scm ("maybe-remove-expired-cache-entries, empty cache") ("maybe-remove-expired-cache-entries, corrupted cache"): New tests. Co-authored-by: Ludovic Courtès <ludo@gnu.org> zimoun
2022-06-01shell: '--export-manifest -D x -D y' generates a valid manifest....* guix/scripts/shell.scm (manifest->code*): Add missing 'list' in generated 'concatenate-manifests' call. * tests/guix-shell-export-manifest.sh: Add test. Ludovic Courtès
2022-05-29import: minetest: Fix typo....* guix/import/minetest.scm (important-dependencies): Fix ‘choosen’ typo. Tobias Geerinckx-Rice
2022-05-31gnu: Remove python2-setuptools....* gnu/packages/python-xyz.scm (python2-setuptools): Delete variable. (python-setuptools)[properties]: Delete field. * gnu/packages/syncthing.scm (syncthing-gtk): Delete commented native input. * guix/lint.scm (check-inputs-should-not-be-an-input-at-all): Remove obsolete entries. Maxim Cournoyer
2022-05-31gnu: bazaar: Obsolete with breezy....* gnu/packages/version-control.scm (bazaar): Deprecate package. * guix/build/bzr.scm (bzr-fetch): Adjust to use breezy; delete trailing #t. * guix/bzr-download.scm (bzr-package): Replace bazaar by breezy. Maxim Cournoyer
2022-05-31gnu: Remove python2-mccabe....* gnu/packages/python-xyz.scm (python2-mccabe): Delete variable. Maxim Cournoyer
2022-05-31diagnostics: Fix typo about 0-indexed COL in location....* guix/diagnostics.scm (source-properties->location): The location column is 0-indexed, not 1-indexed (the same as in source-properties, so the code is accurate). Maxim Cournoyer
2022-05-31utils: Add a %guix-source-root-directory procedure....* guix/utils.scm (%guix-source-root-directory): New procedure. Maxim Cournoyer
2022-05-31utils: Add a 'delete-expression' procedure....* guix/utils.scm: Fix copyright lines and order imports. (edit-expression): Fix typo in doc. Add a new 'include-trailing-newline?' keyword argument. Update doc. (delete-expression): New procedure. Maxim Cournoyer
2022-05-31packages: Fix typo in package-superseded doc....* guix/packages.scm (package-superseded): Fix typo. Maxim Cournoyer
2022-05-30store: 'map/accumulate-builds' preserves caches....Fixes <https://issues.guix.gnu.org/55721>. Starting from the switch to functional object caches ca. 9e5812ac59b01ff011ec0c5b0f437dfe85d6fcc7, we would be losing accumulated caches when aborting to the build handler. This patch fixes that. In particular, by preserving '%reference-cache-id', we avoid redundant 'query-references' RPCs, which accounted for a large part of the extra processing time. * guix/store.scm (build-accumulator): When returning an <unresolved> node, call 'set-store-connection-caches!' before and after to preserve caches. (map/accumulate-builds): Pass STORE as the first argument to the <unresolved> continuation. Ludovic Courtès
2022-05-29store: Record cache lookups in 'references/cached'....* guix/store.scm (references/cached): Add call to 'record-cache-lookup!'. Ludovic Courtès
2022-05-29Merge branch 'wip-r'Ricardo Wurmus
2022-05-29scripts/import: Use pretty printer from (guix scripts style)....* guix/scripts/import.scm (guix-import): Use pretty-print-with-comments. (newline-rewriting-port): Remove procedure. Ricardo Wurmus
2022-05-28guix: Upgrade to Bioconductor 3.15....* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.15. * guix/import/cran.scm (%bioconductor-version): Same. Ricardo Wurmus
2022-05-27substitute: Check for --help or --version options early....Running `guix archive --authorize` sets /etc/guix/acl to 600 via with-atomic-file-output via mkstemp!. Then running `guix substitute --help/--version` fails on "permission denied". While "guix substitute" is an internal tool, the options --help and --version exist and you should be able to run those from the command line. * guix/scripts/substitute.scm (guix-substitute): Earlier check for --help or --version. Signed-off-by: Ludovic Courtès <ludo@gnu.org> yarl-baudig@mailoo.org
2022-05-26guix package: Sort search results by package version....Fixes <https://issues.guix.gnu.org/55480>. Reported by Greg Hogan <code@greghogan.com>. * guix/scripts/package.scm (find-packages-by-description): When PACKAGE1 and PACKAGE2 have the same name, sort by version. Ludovic Courtès
2022-05-25platforms: Remove the s390x platform....Turns out this platform doesn't have a bootstrap tarball and should be considered as not supported for now. * guix/platforms/s390.scm: Remove it. * Makefile.am (MODULES): Adapt it. * doc/guix.texi (Foreign Architectures): Ditto. Mathieu Othacehe
2022-05-25platforms: Remove the hurd module....The hurd platform is now defined in the (guix platforms x86) module. * guix/platforms/hurd.scm: Remove it. * Makefile.am (MODULES): Adapt it. Mathieu Othacehe
2022-05-25build-system: linux-module: Directly use-module (guix platform)....* guix/build-system/linux-module.scm (system->arch): Remove module-ref shenanigans. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/....* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret
2022-05-24profiles: 'manifest->gexp' emits 'properties' field only when needed....Partly fixes <https://issues.guix.gnu.org/55499>. Reported by Ricardo Wurmus <rekado@elephly.net>. For a profile built with: guix install r-seurat r-cistopic r-monocle3 r-cicero-monocle3 this reduces the size of the 'manifest' file from 6.4M to 5.6M (12%). * guix/profiles.scm (manifest->gexp)[entry->gexp]: When PROPERTIES is empty, do not emit a 'properties' field. Ludovic Courtès
2022-05-23lint: check-derivation: Catch all exceptions....Rather than raising the exception. I'm looking at this as the linux-module-build-system is broken in such a way that this causes the derivation linter to error. With this change, it correctly reports the issue. * guix/lint.scm (check-derivation): Catch all exceptions. Christopher Baines
2022-05-23licenses: Add Expat No Attribution license....* guix/licenses.scm (expat-0): New variable. * guix/import/utils.scm (spdx-string->license): Add MIT-0. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Kyle Meyer
2022-05-23import: utils: Update list of SPDX licenses....* guix/import/utils.scm (spdx-string->license): Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves
2022-05-23scripts: package: Transform before creating manifest entries....* guix/scripts/package.scm (options->installable): Add TRANSFORM argument, to be able to directly transform the new packages before creating their manifest entries. (process-actions): Remove transform-entry, and step3, transforming directly in step2. * tests/guix-package.sh: Add test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2022-05-22self: Ship platform files....* guix/self.scm (compiled-guix): Ship them. Mathieu Othacehe
2022-05-22scripts: build: Highlight the current system with --list-systems....* guix/scripts/build.scm (list-systems): Highlight it. Mathieu Othacehe
2022-05-22linux: Remove system->linux-architecture procedure....* gnu/packages/linux.scm (system->linux-architecture): Remove it. (make-linux-libre-headers*, make-linux-libre*): Adapt them. * guix/build-system/linux-module.scm (system->arch): Adapt it. * gnu/packages/instrumentation.scm (uftrace): Ditto. * gnu/packages/cross-base.scm (cross-kernel-headers): Ditto. * gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto. * doc/guix.texi (Porting to a new platform): Update it. Mathieu Othacehe
2022-05-22scripts: Add --list-systems and --list-targets options....Also factorize the --system and --target build options. Check that the passed system and target arguments are known platforms. * doc/guix.texi (Additional Build Options): Document the new --list-systems and --list-targets options. * guix/scripts/build.scm (show-cross-build-options-help, show-emulated-build-options-help, list-systems, list-targets): New procedures. (%standard-cross-build-options, %standard-emulated-build-options): New variables. (show-help): Remove --system and --target entries and use show-cross-build-options-help and show-emulated-build-options-help procedures instead. (%options): Remove --system and --target entries and use %standard-cross-build-options and %standard-emulated-build-options variables instead. * guix/scripts/archive.scm (show-help, %options): Adapt them. * guix/scripts/environment.scm: Ditto. * guix/scripts/graph.scm: Ditto. * guix/scripts/pack.scm: Ditto. * guix/scripts/pull.scm: Ditto. * guix/scripts/size.scm: Ditto. * guix/scripts/weather.scm: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe
2022-05-22gnu: elm: Support 'elm reactor'....* gnu/packages/elm.scm (elm): Rename to ... (elm-sans-reactor): ... this new variable. [synopsis, description]: Tweak. (elm): New variable. * guix/build-system/elm.scm (default-elm): Use elm-sans-reactor. * doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22import: Add Elm importer....* guix/import/elm.scm, guix/scripts/import/elm.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "elm". * doc/guix.texi (Invoking guix import): Document Elm importer. * doc/contributing.texi (Elm Packages): Mention it. * tests/elm.scm ("(guix import elm)"): New test group. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22import: json: Accept '#:http-fetch' in 'json-fetch'....For example, supplying 'http-fetch/cached' would enable caching. * guix/import/json.scm (json-fetch): Add '#:http-fetch' argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22http-client: 'http-fetch/cached' converts strings to URIs....* guix/http-client.scm (http-fetch/cached): Use 'string->uri' if URI is a string, as with 'http-fetch'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22http-client: Accept '#:headers' in 'http-fetched/cached'....Callers can supply alternative headers as with 'http-fetch'. * guix/http-client.scm (http-fetch/cached): Add '#:headers' argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22build-system/elm: Add implicit Elm inputs....* guix/build-system/elm.scm (default-elm-core): New variable. (default-elm-json): Likewise (lower): Use them as implicit inputs when applicable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-22guix: Add elm-build-system....* gnu/packages/patches/elm-offline-package-registry.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/elm.scm (elm): Use it. * guix/build-system/elm.scm, guix/build/elm-build-system.scm, tests/elm.scm: New files. * Makefile.scm (MODULES, SCM_TESTS): Add them. * doc/guix.texi (Build Systems): Document 'elm-build-system'. * doc/contributing.texi (Elm Packages): New section. Document naming conventions and utilities. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-05-20guix: Remove unused import....* guix/scripts/pull.scm: Do not import with-file-lock/no-wait from (guix build syscalls). Ricardo Wurmus
2022-05-20guix: Remove duplicate definitions of dump-port....* guix/store.scm (dump-port): Remove procedure; autoload from (guix build utils) instead. * guix/store/deduplication.scm (dump-port): Remove procedure; unhide dump-port from (guix build utils). Ricardo Wurmus
2022-05-20inferior: Close duplicate socketpair file descriptor....* guix/inferior.scm (open-bidirectional-pipe): Pass SOCK_CLOEXEC to 'socketpair'. * tests/inferior.scm ("close-inferior"): Add test. Ludovic Courtès
2022-05-18store: Use a decaying cutoff in 'map/accumulate-builds'....This reduces the wall-clock time of: ./pre-inst-env guix system vm gnu/system/examples/desktop.tmpl -n from 2m13s to 53s (the timings depend on which derivations have already been built and are in store; in this case, many were missing). * guix/store.scm (default-cutoff): New variable. (map/accumulate-builds): Use it. Parameterize it in recursive calls to have decaying cutoff. Ludovic Courtès
2022-05-18packages: Use separate package/graft cache....* guix/packages.scm (%package-graft-cache): New variable. (input-graft): Add (=> %package-graft-cache). Ludovic Courtès
2022-05-18store: 'mcached' users can specify a cache ID....Users of 'mcached' can now specify a cache ID; furthermore, the cache hit rate is automatically recorded for all the caches accessed with 'mcached'. * guix/store.scm (%max-store-connection-caches) (%store-connection-cache-names): New variables. (recorder-for-cache): New procedure. (record-cache-lookup!): Add 'cache-id' parameter and rewrite in terms of 'recorder-for-cache'. (lookup-cached-object): Add 'cache-id' parameter and honor it. (%mcached): Add #:cache parameter and honor it. (mcached): Add '=>' keyword and corresponding clauses. Ludovic Courtès
2022-05-17guix: cpu: Add detection for aarch64 CPUs....* guix/cpu.scm (cpu->gcc-architecture): Add detection logic for aarch64 CPUs. Efraim Flashner
2022-05-17guix: cpu: Add support for reading armhf/aarch64 CPUs....* guix/cpu.scm (current-cpu): Set flags at the beginning of the loop. Read from '/proc/cpuinfo' until the end of the file. Add match options for discovering armhf/aarch64 cpu configurations. Efraim Flashner
2022-05-13search-paths: Define $SSL_CERT_DIR and $SSL_CERT_FILE....For the ‘why’, see the docstring next to $SSL_CERT_DIR. In later commits, packages will be changed to use these variables and the variables will be added to more packages. * guix/search-paths.scm ($SSL_CERT_DIR, $SSL_CERT_FILE): New variables. * doc/guix.texi (Search Paths): Document them. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2022-05-12download: Add a mirror for CTAN....* guix/download.scm (%mirrors)[ctan]: New entry. Maxim Cournoyer
2022-05-05transformations: Preserve transformation order in package property....Fixes <https://issues.guix.gnu.org/54942>. Reported by SeerLite <seerlite@nixnet.email>. * guix/transformations.scm (options->transformation) [package-with-transformation-properties]: Add call to 'reverse'. * tests/transformations.scm ("options->transformation, property order"): New test. Ludovic Courtès