Age | Commit message (Expand) | Author |
2022-05-30 | store: '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-29 | store: Record cache lookups in 'references/cached'....* guix/store.scm (references/cached): Add call to
'record-cache-lookup!'.
| Ludovic Courtès |
2022-05-29 | Merge branch 'wip-r' | Ricardo Wurmus |
2022-05-29 | scripts/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-28 | guix: 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-27 | substitute: 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-26 | guix 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-25 | platforms: 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-25 | platforms: 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-25 | build-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-25 | Move (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-24 | profiles: '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-23 | lint: 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-23 | licenses: 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-23 | import: 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-23 | scripts: 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-22 | self: Ship platform files....* guix/self.scm (compiled-guix): Ship them.
| Mathieu Othacehe |
2022-05-22 | scripts: build: Highlight the current system with --list-systems....* guix/scripts/build.scm (list-systems): Highlight it.
| Mathieu Othacehe |
2022-05-22 | linux: 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-22 | scripts: 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-22 | gnu: 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-22 | import: 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-22 | import: 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-22 | http-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-22 | http-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-22 | build-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-22 | guix: 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-20 | guix: Remove unused import....* guix/scripts/pull.scm: Do not import with-file-lock/no-wait from (guix build
syscalls).
| Ricardo Wurmus |
2022-05-20 | guix: 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-20 | inferior: 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-18 | store: 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-18 | packages: Use separate package/graft cache....* guix/packages.scm (%package-graft-cache): New variable.
(input-graft): Add (=> %package-graft-cache).
| Ludovic Courtès |
2022-05-18 | store: '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-17 | guix: cpu: Add detection for aarch64 CPUs....* guix/cpu.scm (cpu->gcc-architecture): Add detection logic for aarch64
CPUs.
| Efraim Flashner |
2022-05-17 | guix: 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-13 | search-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-12 | download: Add a mirror for CTAN....* guix/download.scm (%mirrors)[ctan]: New entry.
| Maxim Cournoyer |
2022-05-05 | transformations: 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 |
2022-05-01 | Add (guix least-authority)....* guix/least-authority.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/build/shepherd.scm (default-mounts): Make public.
| Ludovic Courtès |
2022-05-01 | gexp: Add 'references-file'....* gnu/services/base.scm (references-file): Remove.
* guix/gexp.scm (references-file): New procedure.
* tests/gexp.scm ("references-file"): New test.
| Ludovic Courtès |
2022-04-29 | guix system: Highlight search results....This is a followup to 5e0c3479759047311b6a518fd0bc512b232f201a.
* guix/scripts/system/search.scm (guix-system-search): Pass #:regexps
parameter to 'display-search-results'.
| Ludovic Courtès |
2022-04-29 | publish: Send uncached narinfo replies from the main thread....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.
| Ludovic Courtès |
2022-04-26 | scripts: pack: Fix typo....* guix/scripts/pack.scm (compressor-extenstion): Fix typo.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Alex Griffin |
2022-04-23 | pack: Fix match error for multi-packages deb packs....* guix/scripts/pack.scm: Remove duplicated copyright line.
(debian-archive)[single-entry]: Match one or anything, not one or zero.
Reported-by: jgart <jgart@dismail.de>
| Maxim Cournoyer |
2022-04-20 | git-download: Set locale to deal with Unicode in git metadata....Without this the git-fetch GEXP is run in an environment that uses ASCII
character encoding when strings are crossing the Guile - C boundary. It means
that e.g. tag names that have Unicode chars in them will cause problems,
e.g. when walking and deleting the .git directory.
An example in the wild: https://github.com/klauspost/pgzip/tags
Fixes <https://issues.guix.gnu.org/54893>.
* guix/git-download.scm (git-fetch): Call 'setenv' and 'setlocale' to
set it to en_US.utf8.
* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
Add 'properties' field.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2022-04-19 | ui: Highlight package and service search results....* guix/ui.scm (package->recutils): Add #:highlighting parameter and use it.
(display-search-results): Add #:regexps parameter; call
'colorize-full-matches' and pass #:highlighting.
* guix/scripts/package.scm (process-query): Pass #:regexps to
'display-search-results'.
* guix/scripts/home.scm (search): Likewise.
* guix/scripts/system/search.scm (service-type->recutils): Add #:highlighting
parameter and use it.
| Ludovic Courtès |
2022-04-19 | colors: Add 'colorize-full-matches'....* guix/colors.scm (colorize-full-matches): New procedure.
| Ludovic Courtès |
2022-04-19 | ui: Highlight important bits in recutils output....* guix/scripts/system/search.scm (service-type->recutils): Highlight the
value of the 'name' field.
* guix/ui.scm (package->recutils): Likewise for 'name' and 'version'.
| Ludovic Courtès |
2022-04-14 | publish: Support systemd-style socket activation....* guix/scripts/publish.scm (systemd-socket): New procedure.
(guix-publish): Add 'style' variable. Adjust startup message depending
on whether STYLE is 'systemd.
* doc/guix.texi (Invoking guix publish): Mention socket activation.
| Ludovic Courtès |
2022-04-14 | publish: Use SRFI-71 instead of SRFI-11....* guix/scripts/publish.scm (make-request-handler): Use 'let' instead of
'let-values'.
| Ludovic Courtès |