Age | Commit message (Expand) | Author |
2021-10-26 | packages: Optimize 'package-transitive-supported-systems'....With this change, the wall-clock time of:
./pre-inst-env guile -c '(use-modules (gnu) (guix)(ice-9 time)) (time (pk (fold-packages (lambda (p r)(supported-package? p)(+ 1 r)) 0)))'
goes from 3.2s to 2.0s, a 37% improvement.
* guix/packages.scm (package-transitive-supported-systems): Change
'supported-systems' to 'supported-systems-procedure', returning an
'mlambdaq' instead of the original 'mlambda'. Add 'procs'. Adjust body
accordingly.
| Ludovic Courtès |
2021-10-25 | shell: Maintain a profile cache....shell: Maintain a profile cache.
With this change, running "guix shell" (no arguments) is equivalent to:
guix environment -r ~/.cache/guix/profiles/some-root -l guix.scm
This is the cache miss. On cache hit, it's equivalent to:
guix environment -p ~/.cache/guix/profiles/some-root
... which can run in 0.1s.
* guix/scripts/shell.scm (options-with-caching): New procedure.
(parse-args): Use it.
(%profile-cache-directory): New variable.
(profile-cache-key, profile-cached-gc-root): New procedures.
(show-help, %options): Add '--rebuild-cache'.
(guix-shell)[cache-entries, entry-expiration]: New procedures.
Add call to 'maybe-remove-expired-cache-entries'.
* doc/guix.texi (Invoking guix shell): Document '--rebuild-cache'.
| Ludovic Courtès |
2021-10-25 | cache: Gracefully handle non-existent cache....* guix/cache.scm (maybe-remove-expired-cache-entries): Ignore ENOENT
when writing EXPIRY-FILE.
| Ludovic Courtès |
2021-10-25 | environment: Autoload some modules....This further speeds up the 'guix environment -p PROFILE' case.
* guix/scripts/environment.scm: Autoload a bunch of modules.
| Ludovic Courtès |
2021-10-25 | environment: Do not connect to the daemon when '--profile' is used....This further speeds up the 'guix environment -p PROFILE' case.
* guix/scripts/environment.scm (guix-environment*)[store-needed?]: New
variable.
[with-store/maybe]: New macro.
Use it instead of 'with-store', and remove 'with-build-handler' form.
| Ludovic Courtès |
2021-10-25 | environment: Skip derivation computation when '--profile' is used....* guix/scripts/environment.scm (guix-environment*): Bypass calls to
'package-derivation' and to 'manifest->derivation' when PROFILE is
true.
| Ludovic Courtès |
2021-10-25 | shell: By default load the local 'manifest.scm' or 'guix.scm' file....* guix/scripts/shell.scm (parse-args): Add call to 'auto-detect-manifest'.
(authorized-directory-file, authorized-shell-directory?)
(find-file-in-parent-directories, auto-detect-manifest): New procedures.
* tests/guix-shell.sh: Add test.
* doc/guix.texi (Invoking guix shell): Document it.
| Ludovic Courtès |
2021-10-25 | Add 'guix shell'....* guix/scripts/shell.scm, tests/guix-shell.sh: New files.
* Makefile.am (MODULES): Add 'shell.scm'.
(SH_TESTS): Add 'tests/guix-shell.sh'.
* guix/scripts/environment.scm (show-environment-options-help): New
procedure.
(show-help): Use it.
(guix-environment*): New procedure.
(guix-environment): Use it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Features): Refer to "guix shell"
(Invoking guix package): Likewise.
(Development): Likewise.
(Invoking guix shell): New node.
(Invoking guix environment): Add deprecation warning.
(Debugging Build Failures): Use 'guix shell' in examples.
(Invoking guix container): Refer to 'guix shell'.
(Invoking guix processes, Virtualization Services): Adjust examples to
use 'guix shell'.
* doc/contributing.texi (Building from Git): Refer to 'guix shell'.
* etc/completion/bash/guix: Handle "shell".
| Ludovic Courtès |
2021-10-25 | profiles: Add 'package->development-manifest'....* guix/profiles.scm (package->development-manifest): New procedure.
* guix/scripts/environment.scm (input->manifest-entry)
(package-environment-inputs): Remove.
* guix/scripts/environment.scm (options/resolve-packages): Use
'package->development-manifest' instead of 'package-environment-inputs'.
* tests/profiles.scm ("package->development-manifest"): New test.
| Ludovic Courtès |
2021-10-25 | packages: Add 'package-development-inputs'....* guix/packages.scm (package-development-inputs): New procedure.
* guix/scripts/environment.scm (package-environment-inputs): Use it.
* tests/packages.scm ("package-development-inputs")
("package-development-inputs, cross-compilation"): New tests.
* doc/guix.texi (package Reference): Document it.
| Ludovic Courtès |
2021-10-24 | lint: Add description check for common typos....Fixes: https://issues.guix.gnu.org/44675
* guix/lint.scm (check-description-typo): Add check for occurences of
"This packages", "This modules", "allows to" and "permits to" in package
descriptions.
* tests/lint.scm: Add tests for "This packages" and "allows to".
| Vagrant Cascadian |
2021-10-22 | guix: packages: Add comment on license field....* guix/packages/packages.scm (<package>): Add comment about the type
that the license field expects as part of a package record.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| jgart via Guix-patches via |
2021-10-18 | Merge remote-tracking branch 'signed/master' into core-updates | Mathieu Othacehe |
2021-10-18 | build-system/go: Fix building on host's secondary architecture....Before when building for i686-linux on x86_64-linux GOARCH would be set
to amd64, not 386.
* guix/build-system/go.scm (go-build): Set goarch and goos to #f when
not cross-compiling.
* guix/build/go-build-system.scm (setup-go-environment): Set GOARCH
according to the calculated goarch or using GOHOSTARCH and GOOS
according to the calculated goos or using GOHOSTOS.
| Efraim Flashner |
2021-10-17 | maint: Factorize po xref translation....This ensures we use the same method in "make" as in "guix/self.scm".
* Makefile.am: Build guix/build/po.scm.
* build-aux/convert-xref.scm: New file.
* doc/local.mk (xref_command): Use it.
* guix/self.scm (translate-cross-references): Move it...
* guix/build/po.scm: Parse comments and flags separately to find fuzzy
flags.
(translate-cross-references): ...here.
(parse-tree->assoc): Ignore fuzzy entries.
| Julien Lepiller |
2021-10-16 | build-system/minetest: Install config.txt and _config.txt....* guix/build/minetest-build-system.scm (mod-install-plan):
Add "config.txt" and "_config.txt" to the list of installed files.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| Vivien Kraus |
2021-10-16 | build-system/minetest: Gather whole failing test output....* guix/build/minetest-build-system.scm (check):
Gather the whole output when a test fails.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| Vivien Kraus |
2021-10-15 | refresh: Report suggested input changes with 'info'....* guix/scripts/refresh.scm (update-package): Define 'field', 'name',
'loc', and 'change-name'. Use 'info' rather than 'format' to report
suggested input changes.
| Ludovic Courtès |
2021-10-15 | import: pypi: Remove leftover 'pk' call....This is a followup to 7b75f90c5b0da896c486cae23d19d43e2a03bb56.
* guix/import/pypi.scm (make-pypi-sexp)[maybe-upstream-name]: Remove
leftover 'pk' call.
| Ludovic Courtès |
2021-10-15 | import: pypi: Support 'input-changes'....* guix/import/pypi.scm (latest-release): Specify the ‘input-changes’ field.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Xinglu Chen |
2021-10-15 | swh: Allows token from Software Heritage authentication service....The token is provided using the environment variable GUIX_SWH_TOKEN.
* guix/swh.scm (%swh-token): New variable.
(call): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-10-15 | download: "GUIX_DOWNLOAD_FALLBACK_TEST=none" disables fallback mechanisms....* guix/download.scm (url-fetch*): Handle (%download-fallback-test) set
to 'none.
| Ludovic Courtès |
2021-10-15 | lint: archival: Remove extra newline in warning....* guix/lint.scm (check-archival): Remove extra newline in message.
| Ludovic Courtès |
2021-10-14 | download: Print URL of the Disarchive spec being read....* guix/build/download.scm (disarchive-fetch/any): Show URI of the
Disarchive spec.
| Ludovic Courtès |
2021-10-14 | download: Add parameter to test download fallback mechanisms....This allows you to run, say:
GUIX_DOWNLOAD_FALLBACK_TEST=disarchive-mirrors guix build -S r-ebimage --check
or:
GUIX_DOWNLOAD_FALLBACK_TEST=content-addressed-mirrors ./pre-inst-env guix build -S r-ebimage --check
to check whether these fallback mechanisms work as expected.
* guix/download.scm (%no-mirrors-file, %no-disarchive-mirrors-file)
(%download-fallback-test): New variables.
(url-fetch*): Honor (%download-fallback-test).
| Ludovic Courtès |
2021-10-14 | download: Add missing autoload....This is a followup to 6d02a994f911a75e3a223a22c05c2939cdfed2b5, which
left '%verify-swh-certificate?' unbound.
* guix/build/download.scm: Autoload for '%verify-swh-certificate'.
| Ludovic Courtès |
2021-10-14 | download: Add disarchive.guix.gnu.org....* guix/download.scm (%disarchive-mirrors): Add disarchive.guix.gnu.org.
| Ludovic Courtès |
2021-10-14 | Merge branch 'master' into core-updates-frozen | Marius Bakke |
2021-10-13 | self: Move core (guix script ...) modules to a separate derivation....This adds an opportunity for parallelism and reduces the amount of
rebuild needed when "secondary" modules are modified.
* guix/self.scm (compiled-guix)[*core-cli-modules*]: New variable.
[*cli-modules*]: Depend on it.
[built-modules]: Likewise.
| Ludovic Courtès |
2021-10-12 | Merge remote-tracking branch 'origin/master' into core-updates-frozen. | Mathieu Othacehe |
2021-10-11 | gnu: Add platform support....* gnu/platform.scm: New file.
* gnu/platforms/arm.scm: Ditto.
* gnu/platforms/hurd.scm: Ditto.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add them.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Mathieu Othacehe |
2021-10-10 | utils: Define 'target-riscv64?' predicate....* guix/utils.scm (target-riscv64?): New predicate.
| Efraim Flashner |
2021-10-09 | home: services: configuration: Support file-like objects....* gnu/home/services/configuration.scm (interpose): Operate only with file-like
objects.
(string-or-gexp?): Delete procedure.
(serialize-string-or-gexp): Rename to 'serialize-file-like'.
(text-config?): Call 'file-like' intead of 'string-or-gexp?'.
* guix/scripts/home/import.scm:
(generate-bash-module+configuration): Don't call slurp-file-gexp.
* gnu/home/services/configuration.scm: Move content ...
* gnu/services/configuration.scm: here.
* gnu/home/services/shells.scm: Delete (gnu home services configuration).
* gnu/home/services/xdg.scm: Same.
* gnu/local.mk: Same.
* tests/guix-home.sh:
Test home-bash-service-type and extension with home-bash-extension.
| Oleg Pykhalov |
2021-10-09 | scripts: home: Make sure profile directory exists....* guix/scripts/home.scm (process-action): Make sure profile directory exists.
| Oleg Pykhalov |
2021-10-09 | Move (gnu home-services) to (gnu home services)....* gnu/home-services.scm (%guix-home-root-directory): Replace
gnu/home-services.scm with "gnu/home/services.scm".
Rename to gnu/home/services.scm.
* gnu/local.mk
(GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm.
* doc/he-config-bare-bones.scm:
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm: Same.
* gnu/home/services/fontutils.scm: Same.
* gnu/home/services/mcron.scm: Same.
* gnu/home/services/shells.scm: Same.
* gnu/home/services/shepherd.scm: Same.
* gnu/home/services/symlink-manager.scm: Same.
* gnu/home/services/xdg.scm: Same.
* guix/scripts/home.scm: Same.
* guix/self.scm: Same.
| Oleg Pykhalov |
2021-10-08 | Revert the #51061 patch series for now....This reverts commits f63c79bf7674df012517f8e9148f94c611e35f32
..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing.
See <https://issues.guix.gnu.org/51061#32>.
| Tobias Geerinckx-Rice |
2021-10-08 | guix: self: Fix home modules in compiled-guix....This commit follows ba8ddb348045f81f061a1c7f51c0f7c2b0024e71.
* guix/self.scm (compiled-guix): Update home modules location.
| Oleg Pykhalov |
2021-10-08 | gnu: Move (gnu home-services) to (gnu home services)....* gnu/home-services/configuration.scm: Move the content ...
* gnu/home/services/configuration.scm: ... here.
* doc/guix.texi:
Replace (gnu home-services mcron) with (gnu home services mcron).
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm:
Replace (gnu home-services fontutils) with (gnu services fontutils).
Replace (gnu home-services shells) with (gnu home services shells).
Replace (gnu home-services symlink-manager) with
(gnu home services symlink-manager).
Replace (gnu home-services xdg) with (gnu home services xdg).
* gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm.
* gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm.
Replace (gnu home-services shepherd) with (gnu home services shepherd).
* gnu/home-services.scm (%service-type-path):
Search home services in "gnu/services".
* gnu/home-services/shells.scm: Replace (gnu home-services configuration) with
(gnu home services configuration).
Rename to gnu/home/services/shells.scm.
Replace (gnu home-services utils) with (gnu home services utils).
* gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm.
* gnu/home-services/symlink-manager.scm:
Rename to gnu/home/services/symlink-manager.scm.
* gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm.
* gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm.
* guix/scripts/home/import.scm:
Replace (gnu home-services bash) with (gnu home services bash).
* gnu/home-services.scm: Update documentation string.
* doc/he-config-bare-bones.scm:
Apply new (gnu home-services ...) modules location.
* gnu/local.mk (GNU_SYSTEM_MODULES): Same.
| Oleg Pykhalov |
2021-10-08 | build-system/haskell: Explain failure....Provide human-readable failure message and explain how to fix it.
* guix/build/haskell-build-system.scm (register): Raise error if source
file does not exist.
| Lars-Dominik Braun |
2021-10-08 | import: hackage: Support mirror:// URLs...* guix/import/hackage.scm (guix-package->hackage-name): Support
mirror://-style URI’s.
(hackage-package?): Ditto.
| Lars-Dominik Braun |
2021-10-08 | build-system/haskell: Accept line breaks in config files....Long id’s will break to the next line.
* guix/build/haskell-build-system.scm (grep): Remove.
(register): Modify regular expression to account for newlines between
key and value, fail if package id is empty.
| Lars-Dominik Braun |
2021-10-08 | build-system/haskell: Do not rely on compiler name....We’ve been relying on the compiler name matching its package
subdir. Since we effectively only support GHC we can hard-code this and
avoid issues with “ghc-next”.
* guix/build/haskell-build-system.scm (make-ghc-package-database):
Use GHC_PACKAGE_PATH.
(register): Hard-code ghc prefix.
| Lars-Dominik Braun |
2021-10-08 | import: stackage: Support input changes....* guix/import/stackage.scm (latest-lts-release): Rename package to pkg
to avoid name conflict and add input-changes.
| Lars-Dominik Braun |
2021-10-08 | import: hackage: Update GHC’s standard libraries....* guix/import/hackage.scm (ghc-standard-libraries): Add exceptions
library.
| Lars-Dominik Braun |
2021-10-08 | import: stackage: Update %default-lts-version to 18.10....* guix/import/stackage.scm (%default-lts-version): Update to 18.10.
| Lars-Dominik Braun |
2021-10-08 | guix: haskell-build-system: Always pass -package-db option....* guix/build/haskell-build-system.scm (run-setuphs): Pass -package-db option.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| John Kehayias |
2021-10-07 | build-system: Add 'rebar3-build-system'....* guix/build-system/rebar3.scm, guix/build/rebar3-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
| Hartmut Goebel |
2021-10-07 | import: Add hex.pm importer....hex.pm is a package repository for Erlang and Elixir.
* guix/scripts/import.scm (importers): Add "hexpm".
* guix/scripts/import/hexpm.scm, guix/import/hexpm.scm,
guix/hexpm-download.scm: New files.
* guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of
fetch methods.
* guix/upstream.scm (package-update/hexpm-fetch): New function.
(%method-updates) Add it.
* Makefile.am: Add them.
| Hartmut Goebel |
2021-10-07 | Add (guix extracting-download)....* guix/extracting-download.scm: New file
* Makefile.am (MODULES): Add it.
| Hartmut Goebel |
2021-10-07 | import: crate: Gracefully handle missing license info....Fixes <https://issues.guix.gnu.org/51048>.
Reported by Michael Zappa <me@michzappa.com>.
* guix/import/crate.scm (<crate-version>)[license]: Translate 'null to #f.
(make-crate-sexp): Handle LICENSE = #f.
| Ludovic Courtès |