Age | Commit message (Expand) | Author |
2019-11-28 | lint: Check for more packages which should be native....* guix/lint.scm (check-inputs-should-be-native): Add yasm, nasm, fasm.
| Efraim Flashner |
2019-11-28 | Merge branch 'master' into staging | Marius Bakke |
2019-11-27 | substitute: Make '%allow-unauthenticated-substitutes?' public....* guix/scripts/substitute.scm (warn-about-missing-authentication): New
procedure.
(%allow-unauthenticated-substitutes?): Turn into a public parameter and
use 'warn-about-missing-authentication'.
(valid-narinfo?): Adjust accordingly.
* tests/substitute.scm (call-with-narinfo): Likewise.
| Ludovic Courtès |
2019-11-27 | ui: Adjust SRFI-34 exception handling to Guile 2.9.5....* guix/ui.scm (report-load-error, warn-about-load-error)
(read/eval): Match (or 'srfi-34 '%exception) instead of just 'srfi-34 to
match what Guile 2.9.5 does.
| Ludovic Courtès |
2019-11-26 | guix: Fix wrap-qt-program....Directory names added here need to match qtbase's native-search-path
specifications.
* guix/build/qt-utils.scm (wrap-qt-program): Change paths used for
QML2_IMPORT_PATH and QT_PLUGIN_PATH.
| Hartmut Goebel |
2019-11-26 | guix build: '--keep-failed' implies '--no-offload'....* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:offload? #f when 'keep-failed? is true.
* doc/guix.texi (Common Build Options): Document it.
| Ludovic Courtès |
2019-11-26 | Use 'offload?' instead of 'build-hook?' internally....* guix/scripts/archive.scm (%default-options): Replace 'build-hook?'
with 'offload?'.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:offload? instead of #:use-build-hook?.
(%standard-build-options): Use the 'offload? key instead of 'build-hook?.
(%default-options): Replace 'build-hook?' with 'offload?'.
* guix/scripts/copy.scm (%default-options): Likewise.
* guix/scripts/deploy.scm (%default-options): Likewise.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.
* guix/scripts/time-machine.scm (%default-options): Likewise.
* guix/store.scm (set-build-options): Have #:use-build-hook? default
to *unspecified*. Add #:offload?. Add call to 'warn-about-deprecation'
when #:use-build-hook? is specified.
| Ludovic Courtès |
2019-11-26 | guix build, daemon: Rename "--no-build-hook" to "--no-offload"....This is a followup to bc69ea2d605810cc32e13ed03d5848b8dc358b61.
* guix/scripts/build.scm (show-build-options-help): Rename
"--no-build-hook" to "--no-offload".
(%standard-build-options): Likewise, and warn when "--no-build-hook" is
passed.
* nix/nix-daemon/guix-daemon.cc (options): Add "--no-offload" and mark
"--no-build-hook" as hidden.
* guix/scripts/offload.scm: Adjust comment.
* doc/guix.texi (Invoking guix-daemon, Common Build Options): Replace
"--no-build-hook" with "--no-offload".
* etc/completion/fish/guix.fish, etc/completion/zsh/_guix: Adjust
accordingly.
| Ludovic Courtès |
2019-11-23 | compile: Adjust for Guile 2.9.5....* guix/build/compile.scm (optimizations-for-level): New procedure.
Include '%lightweight-optimizations' and '%default-optimizations'.
(optimization-options): Use 'optimizations-for-level'.
| Ludovic Courtès |
2019-11-22 | utils: Use target-aarch64? and target-arm? helpers....* guix/utils.scm (target-aarch64?, target-arm?): New exported procedures.
| Mathieu Othacehe |
2019-11-22 | pack: Allow multiple '--manifest' options....* guix/scripts/pack.scm (guix-pack): Collect 'manifest' options, and
concatenate the resulting manifests.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
| Ludovic Courtès |
2019-11-22 | package: Allow multiple '--manifest' options....* guix/scripts/package.scm (manifest-action): Remove.
(%actions): Remove it.
(load-manifest): New procedure.
(process-actions): Handle 'manifest' options. Define 'files' from
'manifest' options. Define 'manifest' based on FILES. Define 'trans'
to represent the final transaction.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Mention
| Ludovic Courtès |
2019-11-22 | profiles: Add 'concatenate-manifests'....* guix/profiles.scm (concatenate-manifests): New procedure.
* tests/profiles.scm ("concatenate-manifests"): New test.
| Ludovic Courtès |
2019-11-22 | import: texlive: Handle multi-license packages....This fixes "guix import texlive translator".
* guix/import/texlive.scm (sxml->package): Add clause for when 'license'
is a list of licences, as is the case with the "translator" package.
| Ludovic Courtès |
2019-11-22 | substitute: Don't fetch /nix-cache-info....This avoids one GET request every time 'fetch-narinfos' is called.
The file itself was essentially useless.
* guix/scripts/substitute.scm (<cache-info>, download-cache-info):
Remove.
(%unreachable-hosts): New variable.
(open-connection-for-uri/maybe): New procedure.
(fetch-narinfos)[handle-narinfo-response]: Check whether NARINFO has its
'path' under (%store-prefix) and ignore it otherwise. Move
'update-progress!' call before 'if'.
[do-fetch]: Remove 'port' parameter. Use
'open-connection-for-uri/maybe'.
Remove call to 'download-cache-info'.
| Ludovic Courtès |
2019-11-21 | Merge branch 'master' into staging | Marius Bakke |
2019-11-21 | pack: Add "--derivation"....* guix/scripts/pack.scm (%options, show-help): Add "--derivation".
(guix-pack): Honor it.
* tests/guix-pack.sh: Test it.
* doc/guix.texi (Invoking guix pack): Document it.
| Ludovic Courtès |
2019-11-20 | gnu: Use GHC 8.6.5 as the main Haskell compiler....* gnu/package/haskell.scm (ghc-8): Change to 'ghc-8.6'.
* guix/import/hackage.scm (ghc-standard-libraries): Add 'ghc-heap'
and 'libiserv'.
| Timothy Sample |
2019-11-19 | deploy: Handle "--version"....* guix/scripts/deploy.scm (%options): Add "--version".
| Ludovic Courtès |
2019-11-19 | pull: Acquire a lock for the target profile....This is a followup to b1fb663404894268b5ee92c040f12c52c0bee425.
* guix/scripts/pull.scm (guix-pull): Wrap 'run-with-store' call in
'with-file-lock/no-wait'.
| Ludovic Courtès |
2019-11-18 | download: Load *.crt certificate bundles when *.pem files are missing....Fixes <https://bugs.gnu.org/38254>.
* guix/build/download.scm (make-credendials-with-ca-trust-files): Look
for *.crt files under DIRECTORY when *.pem files cannot be found.
| Ludovic Courtès |
2019-11-18 | build-system: emacs: Simplify the SET-EMACS-LOAD-PATH phase....It is no longer necessary to search for the Elisp libraries manually, as Emacs
now include a search path specification serving that purpose.
* guix/build/emacs-build-system.scm (set-emacs-load-path): Replace by...
(add-source-to-load-path): ...this.
(%standard-phases): Adjust accordingly.
| Maxim Cournoyer |
2019-11-18 | utils: Handle #f file-name....* guix/utils.scm (current-source-directory): Change dispatch to handle #f
file-name.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Alex Sassmannshausen |
2019-11-17 | guix build: Handle "guix build /….drv" correctly for non-existent derivations....This lets the daemon substitute missing derivations, as in the example
at <https://bugs.gnu.org/38226>, instead of failing with ENOENT.
* guix/scripts/build.scm (options->things-to-build): In the
'derivation-path?' case, don't fail when 'read-derivation-from-file'
raises to ENOENT; return the empty list in that case.
(guix-build): Add non-existent '.drv' files to ITEMS.
Pass ITEMS in addition to DRV to 'build-derivations'.
* tests/guix-build.sh: Add test.
| Ludovic Courtès |
2019-11-15 | time-machine: Honor the standard build options....* guix/scripts/time-machine.scm (show-help): Call 'show-build-options-help'.
(%options): Add %STANDARD-BUILD-OPTIONS.
(%default-options): New variable.
(parse-args): Pass (list %default-options) to 'parse-command-line' and
remove #:build-options? parameter.
(guix-time-machine): Call 'set-build-options-from-command-line' and wrap
'cached-channel-instance' call in 'with-status-verbosity'.
* doc/guix.texi (Invoking guix time-machine): Mention common build options.
| Ludovic Courtès |
2019-11-15 | time-machine: Handle 'git-error' exceptions....* guix/scripts/pull.scm (with-git-error-handling): Export.
* guix/scripts/time-machine.scm (guix-time-machine): Wrap body in
'with-git-error-handling'.
| Ludovic Courtès |
2019-11-15 | inferior: 'cached-channel-instance' takes an open store connection....* guix/inferior.scm (cached-channel-instance): Take an explicit 'store'
argument.
(inferior-for-channels): Wrap call to 'cached-channel-instance' in
'with-store'.
* guix/time-machine.scm (guix-time-machine): Wrap call to
'cached-channel-instance' in 'with-store'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Konrad Hinsen |
2019-11-15 | Add 'guix time-machine'....* guix/scripts/time-machine.scm: New file.
* Makefile.am: (MODULES): Add it.
* guix/scripts/pull.scm (channel-list): Export.
* guix/inferior.scm (cached-channel-instance): New procedure.
(inferior-for-channels): Use it.
* doc/guix.texi (Invoking guix time-machine): New section.
(Channels): Cross-reference it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Konrad Hinsen |
2019-11-15 | pull: Remove unused '--verbose' option....This option had been ignored since commit
0d39a3b98948314e135566b9315717695a9035ea (August 2018).
* guix/scripts/pull.scm (show-help, %options): Remove "--verbose".
(build-and-install): Remove #:verbose?, which was unused.
(guix-pull): Adjust accordingly.
| Ludovic Courtès |
2019-11-15 | Merge branch 'master' into staging | Marius Bakke |
2019-11-15 | make-bootstrap: Adjust copied linux headers....* guix/build/make-bootstrap.scm (copy-linux-headers): Remove header
file 'a.out.h' is no longer part of the linux kernel headers.
| Efraim Flashner |
2019-11-13 | guix: svn: Allow dropping externals....* guix/build/svn.scm (svn-fetch): Allow to ignore externals.
* guix/svn-download.scm (svn-reference, svn-multi-reference): Add
recursive? field.
| Julien Lepiller |
2019-11-09 | ui: Emit hyperlinks for 'license' in package search results....* guix/ui.scm (package->recutils): When HYPERLINKS is true, call
'hyperlink' for the 'license' field.
| Ludovic Courtès |
2019-11-09 | ui: Produce hyperlinks for the 'location' field of search results....This affects the output of 'guix show', 'guix search', and 'guix system
search'.
* guix/ui.scm (hyperlink, supports-hyperlinks?, location->hyperlink):
New procedures.
(package->recutils): Add #:hyperlinks? and honor it.
(display-search-results): Pass #:hyperlinks? to PRINT.
* guix/scripts/system/search.scm (service-type->recutils): Add
#:hyperlinks? and honor it.
| Ludovic Courtès |
2019-11-08 | guix: package: lock profiles when processing them....* guix/scripts/package.scm (process-actions): Get a per-profile lock to
prevent concurrent actions on profiles.
* tests/guix-package.sh: Add test.
| Julien Lepiller |
2019-11-08 | guix: Add file-locking with no wait....* guix/build/syscalls.scm (with-file-lock/no-wait): New procedure.
(lock-file): Take a #:wait? key.
| Julien Lepiller |
2019-11-07 | graph: Support package transformation options....* guix/scripts/graph.scm (%options): Append %TRANSFORMATION-OPTIONS.
(show-help): Call 'show-transformation-options-help'.
(guix-graph): Call 'options->transformation' and use it.
* tests/guix-graph.sh: Add test.
* doc/guix.texi (Invoking guix graph): Document it.
| Ludovic Courtès |
2019-11-07 | derivations: Use a regular hash table for the module cache....The hit rate of the 'add-data-to-store' cache goes from 10% to 4% on:
guix build -e '(@@ (gnu packages libreoffice) libreoffice)' -nd
* guix/derivations.scm (%module-cache): Turn into a regular hash table.
It didn't make sense to use a weak-value hash table given that values
are pairs.
| Ludovic Courtès |
2019-11-01 | pull: Gracefully handle invalid Texinfo markup in news....Reported by Oleg Pykhalov <go.wigust@gmail.com>.
* guix/scripts/pull.scm (display-news-entry-title)
(display-news-entry): Catch 'parser-error' around call to
'texi->plain-text', and return Texinfo as-is when an exception is
caught.
| Ludovic Courtès |
2019-10-30 | Merge branch 'master' into staging | Marius Bakke |
2019-10-28 | derivation: Remove memoization invalidation for 'derivation->bytevector'....This is a followup to d727a9343d861cf775645df8be5bfefd43d6c6f0, which
broke 'hydra-jobs' from (gnu ci).
* guix/derivations.scm (invalidate-derivation-caches!): Remove call to
'invalidate-memoization!' for 'derivation->bytevector'.
| Ludovic Courtès |
2019-10-27 | pull: Honor '/etc/guix/channels.scm'....* guix/scripts/pull.scm (channel-list)[global-file]: New variable.
[channels]: Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
| Ludovic Courtès |
2019-10-27 | channels: Refer to 'guile-json-3'....Fixes a regression introduced in 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82.
* guix/channels.scm (whole-package-for-legacy): Refer to GUILE-JSON-3,
not GUILE-JSON.
| Ludovic Courtès |
2019-10-27 | derivations: Don't memoize 'derivation->bytevector'....Its hit rate was only 8%. Removing it reduces heap size of "guix build
libreoffice -nd" from 69MiB to 61MiB and the wall-clock time is unchanged.
* guix/derivations.scm (derivation->bytevector): Change from 'mlambda'
to 'lambda'.
| Ludovic Courtès |
2019-10-27 | gexp: Cache the module to derivation mappings....This reduces the number of 'add-data-to-store' cache lookups from 3329
to 2743 (hit rate: 27% to 11%) when running:
GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd
Execution time of "guix build libreoffice -nd" goes from 1.86s to 1.80s.
* guix/gexp.scm (imported+compiled-modules): Wrap body in 'mcached'.
| Ludovic Courtès |
2019-10-27 | store: Allow objects in the cache to be inserted and search for with 'equal?'....* guix/store.scm (cache-object-mapping): Add #:vhash-cons parameter and
honor it.
(lookup-cached-object): Add #:vhash-fold* parameter and honor it.
(%mcached): Add #:vhash-fold* and #:vhash-cons and honor them.
(mcached): Add clauses with 'eq?' and 'equal?' as the first argument.
| Ludovic Courtès |
2019-10-27 | gexp: Add 'imported+compiled-modules'....* guix/gexp.scm (imported+compiled-modules): New procedure.
(lower-gexp): Use it instead of separate calls to 'imported-modules' and
'compiled-modules'.
| Ludovic Courtès |
2019-10-27 | derivations: 'build-expression->derivation' caches its module derivations....This reduces the number of lookups in the 'add-data-to-store' cache from
7505 to 3329 (hit rate from 68% to 27%) when running:
GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd
The execution time of "guix build libreoffice -nd" goes from 2.12s to 1.87s.
* guix/derivations.scm (%module-cache): New variable.
(imported+compiled-modules)[key]: New variable.
Lookup KEY in %MODULE-CACHE and populate %MODULE-CACHE upon cache miss.
| Ludovic Courtès |
2019-10-27 | derivations: Introduce 'imported+compiled-modules'....* guix/derivations.scm (imported+compiled-modules): New procedure.
(build-expression->derivation): Use it instead of separate calls to
'%imported-modules' and '%compiled-modules'.
| Ludovic Courtès |
2019-10-27 | Merge branch 'master' into staging | Marius Bakke |