Age | Commit message (Expand) | Author |
2020-08-24 | offload: Update help string....* guix/scripts/offload.scm (guix-offload): Update help string.
| Maxim Cournoyer |
2020-08-24 | guix upgrade: Allow using --do-not-upgrade....* guix/scripts/upgrade.scm (%options): Add "do-not-upgrade" to list of
options inherited from guix package.
| Jakub Kądziołka |
2020-08-24 | Use "guile-zlib" and "guile-lzlib" instead of (guix config)....* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm,
(SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm.
* build-aux/build-self.scm (make-config.scm): Remove unused %libz variable.
* configure.ac: Remove LIBZ and LIBLZ variables and check instead for
Guile-zlib and Guile-lzlib.
* doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib
and Guile-lzlib instead.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib"
and "guile-lzlib",
[inputs]: remove "zlib" and "lzlib",
[propagated-inputs]: ditto,
[arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path.
* guix/config.scm.in (%libz, %liblz): Remove them.
* guix/lzlib.scm: Remove it.
* guix/man-db.scm: Use (zlib) instead of (guix zlib).
* guix/profiles.scm (manual-database): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib),
(string->compression-type, effective-compression): do not check for zlib and
lzlib availability.
* guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib
availability.
* guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib"
and remove "zlib" and "lzlib",
(compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and
guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to
"make-config.scm" procedure,
(make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and
%liblz variables.
* guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not
check for lzlib availability.
* guix/zlib.scm: Remove it.
* m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them.
* tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib), and do not check for zlib and lzlib availability.
* tests/publish.scm: Ditto.
* tests/substitute.scm: Do not check for lzlib availability.
* tests/utils.scm: Ditto.
* tests/zlib.scm: Remove it.
| Mathieu Othacehe |
2020-08-24 | Use guile-zlib extension in build-side code....* Makefile.am (MODULES): Move guix/build/download-nar.scm to ...
(MODULES_NOT_COMPILED): ... here.
* guix/build/download-nar.scm: Use (zlib) instead of (guix zlib).
* guix/cvs-download.scm (cvs-fetch): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/git-download.scm (git-fetch): Ditto.
* guix/hg-download.scm (hg-fetch): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
| Mathieu Othacehe |
2020-08-23 | lint: formatting: Gracefully handle relative file names....Fixes <https://bugs.gnu.org/42543>.
Reported by Jack Hill <jackhill@jackhill.us>.
* guix/lint.scm (check-formatting): Always return a list (previously we
would return #f when 'search-path' returns #f). Check whether
LOCATION's file is a relative file name. Return a warning if not.
* tests/guix-lint.sh: Add test.
| Ludovic Courtès |
2020-08-23 | lint: Avoid calls to 'package-field-location' with #f as the field....* guix/lint.scm (%make-warning): Call 'package-field-location' only when
FIELD is true.
| Ludovic Courtès |
2020-08-17 | utils: Add version-major+minor+point....* guix/utils.scm (version-major+minor+point): New procedure.
| Efraim Flashner |
2020-08-13 | build-system/haskell: Do not pass "--bindir" during configure....The "--bindir" option is not as useful as it seems as the configured location
is embedded in the outputs. Instead of using "--bindir" it seems better to
build a statically linked binary and move the binary to its own output to
avoid references between the "out" and "bin" outputs.
* guix/build/haskell-build-system.scm (configure): Do not pass "--bindir".
| Ricardo Wurmus |
2020-08-13 | build-system/haskell: Add 'extra-directories' keyword....See <https://bugs.gnu.org/39309>.
* guix/build-system/haskell.scm (lower): Include the transitive
propagated inputs of 'extra-directories' inputs.
(haskell-build): Add the 'extra-directories' keyword and pass it through
to the builder.
* guix/build/haskell-build-system.scm (configure): Use it to select
which inputs get passed via 'extra-include-dirs' and 'extra-lib-dirs' to
Cabal.
* gnu/packages/haskell-xyz.scm (ghc-alsa-core, ghc-hmatrix,
ghc-hmatrix-gsl, ghc-hslua, ghc-iwlib, ghc-libyaml, ghc-ncurses,
ghc-openglraw, ghc-x11, ghc-x11-xft, ghc-zlib): Set 'extra-directories'.
* gnu/packages/haskell-crypto.scm (ghc-digest, ghc-hsopenssl): Likewise.
| Timothy Sample |
2020-08-12 | haskell-build-system: register: Remove references to the doc output....* guix/build/haskell-build-system.scm (register): Strip references to the doc
output from the generated package config files; move the haddock files from
the "doc" output to the "lib" output.
| Ricardo Wurmus |
2020-08-12 | haskell-build-system: register: Respect lib output....* guix/build/haskell-build-system.scm (register): Use lib output if it exists.
| Ricardo Wurmus |
2020-08-12 | build-system/haskell: Add default output "static"....* guix/build-system/haskell.scm (lower): Add OUTPUTS keyword and add the
"static" output in the common case.
(haskell-build): Set the default value for the OUTPUTS keyword to include the
"static" output.
* guix/build/haskell-build-system.scm (install): Move static libraries to the
"static" output if it exists.
| Ricardo Wurmus |
2020-08-12 | build-system/haskell: Configure to link with shared libraries....* guix/build/haskell-build-system.scm (configure): Add configure flags to
build shared libraries by default, to generate position independent code, and
to set the RUNPATH.
| Ricardo Wurmus |
2020-08-12 | build-system/haskell: Refactor configure step....* guix/build/haskell-build-system.scm (configure): Replace append
with quasiquotes and splicing.
| Ricardo Wurmus |
2020-08-12 | build-system/haskell: Support parallel builds....* guix/build-system/haskell.scm (haskell-build): Add keyword PARALLEL-BUILD?
and pass it on to the builder.
* guix/build/haskell-build-system.scm (build): Accept keyword PARALLEL-BUILD?
and pass the number of parallel jobs to GHC.
| Ricardo Wurmus |
2020-08-09 | build-system/emacs: Allow usage of #:parallel-tests? key...* guix/build-system/emacs.scm (emacs-build): Pass parallel-tests? to
builder.
Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
| Morgan Smith |
2020-08-07 | ssh: Really report Guile setup errors in 'send-files'....This is a followup to commit 8f53d73493a2949e2db28cd7d689a690b2d9479a,
which did not have the desired effect: the 'resolve-module' call was
bound to succeed since the inferior runs 'guix repl'.
* guix/ssh.scm (store-import-channel)[import]: Add call to
'resolve-module' and write '(module-error) upon error. Write
'(importing) when we're ready.
(send-files)[inferior-remote-eval*]: Remove.
[missing]: Remove call to 'resolve-module'.
Call 'handle-import/export-channel-error' when PORT doesn't
return '(importing).
(handle-import/export-channel-error): New procedure.
(retrieve-files*): Use it.
| Ludovic Courtès |
2020-08-05 | ui: Report key-and-arg exceptions correctly....Fixes <https://bugs.gnu.org/42601>.
Reported by Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>.
Regression introduced in efe037fc5cc3134bbc3ef4e36b49a3f788921b68
whereby errors like 'wrong-type-arg' would be improperly reported:
guix environment: error: Wrong type argument in position ~A (expecting ~A): ~S
See also commit a07d5e558b5403dad0a59776b950b6b02169c249.
* guix/ui.scm (call-with-error-handling): Move 'message-condition?'
clause after '&exception-with-kind-and-args' clause.
| Ludovic Courtès |
2020-08-03 | scripts: Pass #:verbosity to 'build-notifier'....* guix/scripts/archive.scm (guix-archive): Pass #:verbosity to
'build-notifier'.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/copy.scm (guix-copy): Likewise.
* guix/scripts/deploy.scm (guix-deploy): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/pack.scm (guix-pack): Likewise.
* guix/scripts/package.scm (guix-package*): Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/system.scm (verbosity-level): New procedure.
(process-action): Pass #:verbosity to 'build-notifier'.
(guix-system): Use 'verbosity-level' for 'with-status-verbosity'.
| Ludovic Courtès |
2020-08-03 | ui: Add #:verbosity to 'show-what-to-build'....* guix/ui.scm (%default-verbosity): New variable.
(show-what-to-build): Add #:verbosity and honor it.
(build-notifier): Add #:verbosity and pass it to 'show-what-to-build'.
| Ludovic Courtès |
2020-08-01 | guix: lint: Ignore unsupported source URL’s....* guix/lint.scm (check-source): Add match case for #f.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Lars-Dominik Braun |
2020-07-30 | deploy: Gracefully handle errors....* guix/scripts/deploy.scm (guix-deploy): Wrap body in 'with-error-handling'.
| Ludovic Courtès |
2020-07-28 | pack: "fakechroot" execution engine can load its audit module....Fixes <https://bugs.gnu.org/42558>.
Until now, loading 'pack-audit.so' in a truly non-Guix environment would
usually fail because 'pack-audit.so' depends on 'libgcc_s.so' and
'libc.so', none of which could be found.
Furthermore, the test was not working as expected: the trick
unshare -mrf sh -c 'mount -t tmpfs none /gnu ; ...'
would allow the fakechroot engine to make its store available as
/gnu/store as a result of another bug.
* gnu/packages/aux-files/run-in-namespace.c (relocated_search_path): New
function.
(exec_with_loader): Pass "--library-path" to the loader.
* guix/scripts/pack.scm (wrapped-package)[build](runpath): New procedure.
(elf-loader-compile-flags): Pass "-DLOADER_AUDIT_RUNPATH".
* tests/guix-pack-relocatable.sh: Remove 'STORE_PARENT'.
(run_without_store): New function. Erase $NIX_STORE_DIR instead of
$STORE_PARENT.
Use 'run_without_store' throughout.
| Ludovic Courtès |
2020-07-28 | store: deduplication: Handle fs without d_type support....scandir* uses readdir, which means that the file type property can be 'unknown
if the underlying file-system does not support d_type. Make sure to fallback
to lstat in that case.
Fixes: https://issues.guix.gnu.org/issue/42579.
* guix/store/deduplication.scm (deduplicate): Handle the case where properties
is 'unknown because the underlying file-system does not support d_type.
| Mathieu Othacehe |
2020-07-27 | upstream: Handle the case where the file name has no extension....Fixes <https://bugs.gnu.org/42504>.
Reported by Alexandru-Sergiu Marton <brown121407@posteo.ro>.
* guix/upstream.scm (package-update/url-fetch): Handle the case where the
file name has no extension.
| Danny Milosavljevic |
2020-07-27 | machine: ssh: Check for potential system downgrades....This is a followup to 8e31736b0a60919cc1bfc5dc22c395b09243484a.
* guix/scripts/system/reconfigure.scm (check-forward-update): Add
#:current-channels. Use it instead of OLD.
* gnu/services.scm (sexp->system-provenance): New procedure.
(system-provenance): Use it.
* gnu/machine/ssh.scm (<machine-ssh-configuration>)[allow-downgrades?]:
New field.
(machine-check-forward-update): New procedure.
(check-deployment-sanity)[assertions]: Call it.
* doc/guix.texi (Invoking guix deploy): Document 'allow-downgrades?'
field.
| Ludovic Courtès |
2020-07-27 | processes: Allow 'less' to properly estimate line length....Until now, the first few lines in the output of 'guix processes' could
disappear in 'less'.
* guix/ui.scm (call-with-paginated-output-port): Add #:less-options
parameter and honor it.
(with-paginated-output-port): Allow callers to pass #:less-options.
* guix/scripts/processes.scm (guix-processes): Pass #:less-options to
'with-paginated-output-port'.
| Ludovic Courtès |
2020-07-25 | guix system: Report file system errors using 'report-error'....* guix/scripts/system.scm (check-file-system-availability)[file-system-location*]:
Return a <location> record instead of a string.
[error]: Use 'report-error' instead of 'format'.
Change callers accordingly.
| Ludovic Courtès |
2020-07-25 | Use 'formatted-message' instead of '&message' where appropriate....* gnu.scm (%try-use-modules): Use 'formatted-message' instead of
'&message'.
* gnu/machine/digital-ocean.scm (maybe-raise-unsupported-configuration-error):
Likewise.
* gnu/machine/ssh.scm (machine-check-file-system-availability): Likewise.
(machine-check-building-for-appropriate-system): Likewise.
(deploy-managed-host): Likewise.
(maybe-raise-unsupported-configuration-error): Likewise.
* gnu/packages.scm (search-patch): Likewise.
* gnu/services.scm (%service-with-default-value): Likewise.
(files->etc-directory): Likewise.
(fold-services): Likewise.
* gnu/system.scm (locale-name->definition*): Likewise.
* gnu/system/mapped-devices.scm (check-device-initrd-modules): Likewise.
(check-luks-device): Likewise.
* guix/channels.scm (latest-channel-instance): Likewise.
* guix/cve.scm (json->cve-items): Likewise.
* guix/git-authenticate.scm (commit-signing-key): Likewise.
(commit-authorized-keys): Likewise.
(authenticate-commit): Likewise.
(verify-introductory-commit): Likewise.
* guix/remote.scm (remote-pipe-for-gexp): Likewise.
* guix/scripts/graph.scm (assert-package): Likewise.
* guix/scripts/offload.scm (private-key-from-file*): Likewise.
* guix/ssh.scm (authenticate-server*): Likewise.
(open-ssh-session): Likewise.
(remote-inferior): Likewise.
* guix/ui.scm (matching-generations): Likewise.
* guix/upstream.scm (package-update): Likewise.
* tests/channels.scm ("latest-channel-instances, missing introduction for 'guix'"):
Catch 'formatted-message?'.
("authenticate-channel, wrong first commit signer"): Likewise.
* tests/lint.scm ("patches: not found"): Adjust message string.
* tests/packages.scm ("patch not found yields a run-time error"): Catch
'formatted-message?'.
* guix/lint.scm (check-patch-file-names): Handle 'formatted-message?'.
(check-derivation): Ditto.
| Ludovic Courtès |
2020-07-25 | diagnostics: Add '&formatted-message'....This allows 'gettext' to be called on the format string at the site
where the exception is caught (rather than the site where it's thrown).
It also allows for argument highlighting.
* guix/diagnostics.scm (&formatted-message): New condition type.
(check-format-string): New procedure.
(formatted-message): New macro.
* guix/ui.scm (report-load-error): Add clause for 'formatted-message?'.
(warn-about-load-error): Likewise.
(call-with-error-handling): Likewise.
(read/eval): Likewise.
| Ludovic Courtès |
2020-07-25 | diagnostics: Add a procedural variant of diagnostic procedures....Callers can pass 'report-error', 'warning', etc. to 'apply'.
* guix/diagnostics.scm (trivial-format-string?): New procedure, moved
from...
(highlight-argument): ... here.
(define-diagnostic): Add 'identifier?' clause.
(emit-diagnostic): New procedure.
| Ludovic Courtès |
2020-07-25 | ui: Factorize '&message' handling....* guix/ui.scm (call-with-error-handling): Factorize the three
'message-condition?' clauses into one.
| Ludovic Courtès |
2020-07-25 | utils: Move '&fix-hint' to (guix diagnostics)....* guix/utils.scm (&fix-hint): Move to...
* guix/diagnostics.scm (&fix-hint): ... here.
* gnu.scm: Adjust imports accordingly.
* gnu/system/mapped-devices.scm: Likewise.
* guix/channels.scm: Likewise.
* guix/profiles.scm: Likewise.
* guix/scripts/system/reconfigure.scm: Likewise.
* guix/ssh.scm: Likewise.
| Ludovic Courtès |
2020-07-25 | utils: Remove compatibility re-export of 'memoize'....The 'memoize' binding was re-exported in 2016, commit
19e1d5f7f90194f1ac7e783b28a688ce1441786d, as a backwards-compatibility
measure that makes little sense now.
* guix/utils.scm: Don't re-export 'memoize'.
* guix/import/pypi.scm: Adjust imports.
* tests/pypi.scm: Remove duplicate (guix memoization) import.
| Ludovic Courtès |
2020-07-25 | utils: Move <location> and '&error-location' to (guix diagnostics)....* guix/utils.scm (<location>, source-properties->location)
(location->source-properties, &error-location): Move to...
* guix/diagnostics.scm: ... here.
* gnu.scm: Adjust imports accordingly.
* gnu/machine.scm: Likewise.
* gnu/system.scm: Likewise.
* gnu/tests.scm: Likewise.
* guix/inferior.scm: Likewise.
* tests/channels.scm: Likewise.
* tests/packages.scm: Likewise.
| Ludovic Courtès |
2020-07-24 | quirks: Adjust patch to allow traveling back to Dec. 2018....Fixes <https://bugs.gnu.org/42519>.
This fixes:
guix time-machine --commit=897f303d2fa61497a931cf5fcb43349eb5f44c14
a commit dated Dec. 2018.
* guix/quirks.scm (%bug-41214-patch)[accesses-guile-2.2-optimization-options?]:
Add second 'match' clause.
| Ludovic Courtès |
2020-07-24 | import: github: Gracefully handle projects that have disappeared....Fixes <https://bugs.gnu.org/42509>.
Reported by Alexandru-Sergiu Marton <brown121407@posteo.ro>.
* guix/import/github.scm (fetch-releases-or-tags): Use 'http-fetch'
instead of 'json-fetch', and guard against 404 errors. Upon 404, emit a
warning and return the empty vector.
| Ludovic Courtès |
2020-07-24 | pack: '-R' applies to propagated inputs too....Fixes <https://bugs.gnu.org/42510>.
* guix/scripts/pack.scm (wrapped-manifest-entry): Recurse on
'dependencies' field.
* tests/guix-pack-relocatable.sh: Add test.
| Ludovic Courtès |
2020-07-23 | guix system: 'reconfigure' disallows downgrades by default....This is similar to what 9744cc7b4636fafb772c94adb8f05961b5b39f16 did for
'guix pull'.
* guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure)
(warn-about-backward-reconfigure, channel-relations)
(check-forward-update): New procedures.
* guix/scripts/system.scm (perform-action): Add #:validate-reconfigure.
Call 'check-forward-update' when ACTION is 'reconfigure.
(%options, show-help): Add "--allow-downgrades".
(%default-options): Add 'validate-reconfigure' key.
(process-action): Pass #:validate-reconfigure to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document 'guix system describe'
more prominently, and document '--allow-downgrades'.
| Ludovic Courtès |
2020-07-23 | git: 'update-cached-checkout' has a new #:check-out? parameter....* guix/git.scm (update-cached-checkout): Add #:check-out? parameter and
honor it.
| Ludovic Courtès |
2020-07-23 | git: Factorize 'resolve-reference'....* guix/git.scm (resolve-reference): New procedure.
(switch-to-ref): Use it.
| Ludovic Courtès |
2020-07-21 | git-authenticate: Show fingerprint in missing-key error message....* guix/git-authenticate.scm (commit-signing-key): In the 'missing-key'
case, add call to 'openpgp-format-fingerprint'.
| Ludovic Courtès |
2020-07-21 | lint: source: Always return a list....Fixes a regression introduced in
c10526672e515f07c92dc447bbc592808f67238e.
Previously we would return *unspecified* for a package whose source is
not an origin.
* guix/lint.scm (check-source): Add alternate 'if' branch.
| Ludovic Courtès |
2020-07-21 | upstream: 'download-tarball' gracefully handles missing signatures....This avoids a backtrace with "guix refresh -u rdiff-backup", which has
".asc" signatures instead of ".sig".
* guix/upstream.scm (download-tarball): Gracefully handle the case where
SIG is false.
* guix/gnu-maintenance.scm (latest-savannah-release): Add comment about
'file->signature'.
| Ludovic Courtès |
2020-07-20 | gnu-maintenance: Recognize "RC" as denoting a pre-release tarball....* guix/gnu-maintenance.scm (%alpha-tarball-rx): Add "RC".
| Ludovic Courtès |
2020-07-20 | gnu-maintenance: Handle lists returned by 'origin-uri'....This fixes "guix refresh man-pages", for instance.
* guix/gnu-maintenance.scm (latest-savannah-release)
(latest-kernel.org-release): Handle the case where 'origin-uri' returns
a list.
| Ludovic Courtès |
2020-07-20 | gnu-maintenance: Call 'adjusted-upstream-source' only when there's a source....This is a followup to 59a47fb67853dd28891376fc970699f11c0f972f.
* guix/gnu-maintenance.scm (latest-savannah-release): Call
'adjusted-upstream-source' only when 'latest-html-release' returns
true.
(latest-kernel.org-release): Likewise.
| Ludovic Courtès |
2020-07-20 | json: Re-export 'define-json-mapping' from (json) when available....This prepares for the migration to Guile-JSON 4.3.0.
* guix/json.scm (define-as-needed): New macro.
(define-json-mapping): Use 'define-as-needed' instead of
'define-syntax-rule'.
| Ludovic Courtès |
2020-07-20 | gnu-maintenance: 'kernel.org' and 'savannah' updaters rewrite URLs....This makes sure they return 'mirror://' URLs rather that URLs pointing
to the specific mirror they talk to.
* guix/gnu-maintenance.scm (url-prefix-rewrite)
(adjusted-upstream-source): New procedures.
(latest-savannah-release, latest-kernel.org-release): Use it.
| Ludovic Courtès |
2020-07-20 | upstream: Use 'warning' instead of 'format'....* guix/upstream.scm (update-package-source): Use 'warning' instead of 'format'.
| Ludovic Courtès |