summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* import: minetest: Fix typo.Tobias Geerinckx-Rice2022-05-29
| | | | * guix/import/minetest.scm (important-dependencies): Fix ‘choosen’ typo.
* gnu: Remove python2-setuptools.Maxim Cournoyer2022-05-31
| | | | | | | * 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.
* gnu: bazaar: Obsolete with breezy.Maxim Cournoyer2022-05-31
| | | | | | * 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.
* gnu: Remove python2-mccabe.Maxim Cournoyer2022-05-31
| | | | * gnu/packages/python-xyz.scm (python2-mccabe): Delete variable.
* diagnostics: Fix typo about 0-indexed COL in location.Maxim Cournoyer2022-05-31
| | | | | | * 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).
* utils: Add a %guix-source-root-directory procedure.Maxim Cournoyer2022-05-31
| | | | * guix/utils.scm (%guix-source-root-directory): New procedure.
* utils: Add a 'delete-expression' procedure.Maxim Cournoyer2022-05-31
| | | | | | | * 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.
* packages: Fix typo in package-superseded doc.Maxim Cournoyer2022-05-31
| | | | * guix/packages.scm (package-superseded): Fix typo.
* store: 'map/accumulate-builds' preserves caches.Ludovic Courtès2022-05-30
| | | | | | | | | | | | | | | | | | 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.
* store: Record cache lookups in 'references/cached'.Ludovic Courtès2022-05-29
| | | | | * guix/store.scm (references/cached): Add call to 'record-cache-lookup!'.
* Merge branch 'wip-r'Ricardo Wurmus2022-05-29
|\
| * guix: Upgrade to Bioconductor 3.15.Ricardo Wurmus2022-05-28
| | | | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.15. * guix/import/cran.scm (%bioconductor-version): Same.
* | scripts/import: Use pretty printer from (guix scripts style).Ricardo Wurmus2022-05-29
|/ | | | | * guix/scripts/import.scm (guix-import): Use pretty-print-with-comments. (newline-rewriting-port): Remove procedure.
* substitute: Check for --help or --version options early.yarl-baudig@mailoo.org2022-05-27
| | | | | | | | | | | | | 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>
* guix package: Sort search results by package version.Ludovic Courtès2022-05-26
| | | | | | | | 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.
* platforms: Remove the s390x platform.Mathieu Othacehe2022-05-25
| | | | | | | | | 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.
* platforms: Remove the hurd module.Mathieu Othacehe2022-05-25
| | | | | | | The hurd platform is now defined in the (guix platforms x86) module. * guix/platforms/hurd.scm: Remove it. * Makefile.am (MODULES): Adapt it.
* build-system: linux-module: Directly use-module (guix platform).Josselin Poiret2022-05-25
| | | | | | | * guix/build-system/linux-module.scm (system->arch): Remove module-ref shenanigans. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret2022-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* profiles: 'manifest->gexp' emits 'properties' field only when needed.Ludovic Courtès2022-05-24
| | | | | | | | | | | | | | 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.
* lint: check-derivation: Catch all exceptions.Christopher Baines2022-05-23
| | | | | | | | | | 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.
* licenses: Add Expat No Attribution license.Kyle Meyer2022-05-23
| | | | | | | * 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>
* import: utils: Update list of SPDX licenses.Nicolas Graves2022-05-23
| | | | | | * guix/import/utils.scm (spdx-string->license): Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scripts: package: Transform before creating manifest entries.Josselin Poiret2022-05-23
| | | | | | | | | | | * 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>
* self: Ship platform files.Mathieu Othacehe2022-05-22
| | | | * guix/self.scm (compiled-guix): Ship them.
* scripts: build: Highlight the current system with --list-systems.Mathieu Othacehe2022-05-22
| | | | * guix/scripts/build.scm (list-systems): Highlight it.
* linux: Remove system->linux-architecture procedure.Mathieu Othacehe2022-05-22
| | | | | | | | | | * 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.
* scripts: Add --list-systems and --list-targets options.Mathieu Othacehe2022-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* gnu: elm: Support 'elm reactor'.Philip McGrath2022-05-22
| | | | | | | | | | | * 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>
* import: Add Elm importer.Philip McGrath2022-05-22
| | | | | | | | | | | * 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>
* import: json: Accept '#:http-fetch' in 'json-fetch'.Philip McGrath2022-05-22
| | | | | | | | 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>
* http-client: 'http-fetch/cached' converts strings to URIs.Philip McGrath2022-05-22
| | | | | | | * 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>
* http-client: Accept '#:headers' in 'http-fetched/cached'.Philip McGrath2022-05-22
| | | | | | | | 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>
* build-system/elm: Add implicit Elm inputs.Philip McGrath2022-05-22
| | | | | | | | * 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>
* guix: Add elm-build-system.Philip McGrath2022-05-22
| | | | | | | | | | | | | | * 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>
* guix: Remove unused import.Ricardo Wurmus2022-05-20
| | | | | * guix/scripts/pull.scm: Do not import with-file-lock/no-wait from (guix build syscalls).
* guix: Remove duplicate definitions of dump-port.Ricardo Wurmus2022-05-20
| | | | | | | * 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).
* inferior: Close duplicate socketpair file descriptor.Ludovic Courtès2022-05-20
| | | | | | * guix/inferior.scm (open-bidirectional-pipe): Pass SOCK_CLOEXEC to 'socketpair'. * tests/inferior.scm ("close-inferior"): Add test.
* store: Use a decaying cutoff in 'map/accumulate-builds'.Ludovic Courtès2022-05-18
| | | | | | | | | | | | | 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.
* packages: Use separate package/graft cache.Ludovic Courtès2022-05-18
| | | | | * guix/packages.scm (%package-graft-cache): New variable. (input-graft): Add (=> %package-graft-cache).
* store: 'mcached' users can specify a cache ID.Ludovic Courtès2022-05-18
| | | | | | | | | | | | | | | 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.
* guix: cpu: Add detection for aarch64 CPUs.Efraim Flashner2022-05-17
| | | | | * guix/cpu.scm (cpu->gcc-architecture): Add detection logic for aarch64 CPUs.
* guix: cpu: Add support for reading armhf/aarch64 CPUs.Efraim Flashner2022-05-17
| | | | | | * 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.
* search-paths: Define $SSL_CERT_DIR and $SSL_CERT_FILE.Maxime Devos2022-05-13
| | | | | | | | | | | 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>
* download: Add a mirror for CTAN.Maxim Cournoyer2022-05-12
| | | | * guix/download.scm (%mirrors)[ctan]: New entry.
* transformations: Preserve transformation order in package property.Ludovic Courtès2022-05-05
| | | | | | | | | | 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.
* Add (guix least-authority).Ludovic Courtès2022-05-01
| | | | | | * guix/least-authority.scm: New file. * Makefile.am (MODULES): Add it. * gnu/build/shepherd.scm (default-mounts): Make public.
* gexp: Add 'references-file'.Ludovic Courtès2022-05-01
| | | | | | * gnu/services/base.scm (references-file): Remove. * guix/gexp.scm (references-file): New procedure. * tests/gexp.scm ("references-file"): New test.
* guix system: Highlight search results.Ludovic Courtès2022-04-29
| | | | | | | This is a followup to 5e0c3479759047311b6a518fd0bc512b232f201a. * guix/scripts/system/search.scm (guix-system-search): Pass #:regexps parameter to 'display-search-results'.
* publish: Send uncached narinfo replies from the main thread.Ludovic Courtès2022-04-29
| | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/54723>. Reported by Guillaume Le Vaillant <glv@posteo.net>. Regression introduced in f743f2046be2c5a338ab871ae8666d8f6de7440b. With commit f743f2046be2c5a338ab871ae8666d8f6de7440b, responses to pipelined GETs would end up being written concurrently by many threads. Thus the body of those responses could be interleaved and garbled. * guix/scripts/publish.scm: Revert f743f2046be2c5a338ab871ae8666d8f6de7440b. * tests/publish.scm ("/*.narinfo pipeline"): New test.