Age | Commit message (Expand) | Author |
2018-09-14 | git-download: 'git-predicate' returns #f on Git errors....Fixes a regression introduced in
aed0a594058a59bc3bb1d2686391dc0e8a181b1f whereby 'git-predicate' would
throw to 'git-error instead of returning #f as the docstring says.
* guix/git-download.scm (git-predicate): Return #f upon 'git-error'.
| Ludovic Courtès |
2018-09-13 | git-download: Rewrite 'git-predicate' using Guile-Git....Fixes <https://bugs.gnu.org/27925>.
* guix/git-download.scm (files->directory-tree)
(directory-in-tree?): Remove.
(git-file-list): New procedures.
(git-predicate): Use it instead of opening a pipe to 'git'. Remove
directory tree hack and rely exclusively on inode/device numbers.
| Ludovic Courtès |
2018-09-11 | guix: Do not close current-error-port....Reported-by: Ludovic Courtès <ludo@gnu.org>.
* guix/scripts/build.scm (guix-build),
guix/scripts/package.scm (guix-package): Duplicate port before handing it to
build-output-port.
| Ricardo Wurmus |
2018-09-11 | ui: Do not filter hash mismatch lines....Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/ui.scm (build-output-port): Add pattern for hash mismatch error; be
more careful with error messages in verbose mode.
| Ricardo Wurmus |
2018-09-11 | profiles: Correctly deal with etc/ being a relative symlink....Fixes <https://bugs.gnu.org/32686>.
Reported by Oleg Pykhalov <go.wigust@gmail.com>.
* guix/build/profiles.scm (ensure-writable-directory): Add #:symlink.
[absolute?]: New procedure.
[unsymlink]: Use it to determine how to resolve readlink's result.
(build-profile): Pass SYMLINK to 'ensure-writable-directory'.
* tests/profiles.scm ("profile-derivation when etc/ is a relative symlink"):
New test.
| Ludovic Courtès |
2018-09-10 | Adjust all users of (gnu packages ldc) to use (gnu packages dlang)....This is a followup to commit 98d6543f86d01486c2f6e808eedd97c601ba3e7a.
* gnu/packages/bioinformatics.scm, guix/build-system/dub.scm: Adjust
accordingly.
| Leo Famulari |
2018-09-10 | substitute: Ignore exceptions thrown by 'set-thread-name'....Fixes <https://bugs.gnu.org/32669>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/scripts/substitute.scm (guix-substitute): Swallow 'system-error'
exceptions around 'set-thread-name' call.
| Ludovic Courtès |
2018-09-10 | syscalls: Report lack of a libc symbol as ENOSYS....* guix/build/syscalls.scm (syscall->procedure): Throw to 'system-error
with ENOSYS when NAME cannot be found.
| Ludovic Courtès |
2018-09-09 | ui: Add soft port for styling and filtering build output....* guix/ui.scm (build-output-port): New procedure.
* guix/scripts/package.scm (%default-options): Print build trace.
(guix-package): Use build-output-port.
* guix/scripts/build.scm (guix-build): Use build-output-port.
Co-authored-by: Sahithi Yarlagadda <sahi@swecha.net>
| Ricardo Wurmus |
2018-09-09 | ui: Add support for colorization....* guix/ui.scm (ansi-color-tables): New variable.
(color, colorize-string): New procedures.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| Sahithi Yarlagadda |
2018-09-08 | gexp: 'file-union' accepts directory names....* guix/gexp.scm (file-union): Import (guix build utils). Make the
parent directories of TARGET.
* tests/gexp.scm ("file-union"): New test.
| Ludovic Courtès |
2018-09-07 | guix describe: Display information about the current generation....* guix/scripts/describe.scm (display-profile-info)[number]: Use the
current generation number instead of the last generation number.
| Ludovic Courtès |
2018-09-07 | guix package: Record package provenance in manifest entries....* guix/profiles.scm (package->manifest-entry): Add #:properties and
honor it.
* guix/scripts/package.scm (package-provenance)
(package->manifest-entry*): New procedures.
(transaction-upgrade-entry, options->installable): Use
'package->manifest-entry*' instead of 'package->manifest-entry'.
| Ludovic Courtès |
2018-09-07 | Add 'guix describe'....* guix/scripts/describe.scm: New file.
* Makefile.am (MODULES): Add it.
(SH_TESTS): Add tests/guix-describe.sh.
* po/guix/POTFILES.in: Add it.
* guix/scripts/pull.scm (display-profile-content): Export.
* guix/describe.scm (current-profile, current-profile-entries): Export.
* tests/guix-describe.sh: New file.
* doc/guix.texi (Features): Mention 'guix pull' and provenance tracking.
(Invoking guix pull): Link to 'guix describe'.
(Channels): Likewise.
(Invoking guix describe): New node.
| Ludovic Courtès |
2018-09-07 | pull: Add '--profile'....* guix/scripts/pull.scm (show-help, %options): Add '--profile'.
(build-and-install): Change 'config-dir' argument to 'profile'.
(guix-pull): Honor '--profile'.
* doc/guix.texi (Invoking guix pull): Document it.
| Ludovic Courtès |
2018-09-05 | git: Don't require users to specifiy "origin/" for branches....Fixes <https://bugs.gnu.org/32618>.
Reported by Eric Brown <brown@fastmail.com>.
* guix/git.scm (update-cached-checkout): Remove "origin/" from default
REF. Define CANONICAL-REF and use it instead of REF.
(latest-repository-commit): Remove "origin/" from default REF.
* guix/channels.scm (%default-channels): Remove "origin/" from
'branch'.
| Ludovic Courtès |
2018-09-05 | channels: Fix external channel builds....This fixes a regression introduced in
ca719424455465fca4b872c371daf2a46de88b33 whereby external channels would
fail to build due to the lack of (gcrypt …) modules.
* guix/channels.scm (channel-instance-derivations): Add 'guile-gcrypt'.
Pass it along CORE to 'build-channel-instance'.
| Ludovic Courtès |
2018-09-05 | channels: Add 'latest-channel-derivation' convenience procedure....* guix/channels.scm (latest-channel-derivations): Remove.
(latest-channel-instances*, latest-channel-derivation): New procedures.
| Ludovic Courtès |
2018-09-04 | Switch to Guile-Gcrypt....This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)
* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(expression->derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
#:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from
the imported modules.
* guix/self.scm (specification->package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules. Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
| Ludovic Courtès |
2018-09-04 | inferior: Add home-page and location package accessors....* guix/inferior.scm (inferior-package-home-page)
(inferior-package-location): New procedures.
* tests/inferior.scm ("inferior-packages"): Test them.
| Ludovic Courtès |
2018-09-02 | Add (guix channels) and use it in (guix scripts pull)....* guix/channels.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm: Use it.
(%default-options): Remove 'repository-url' and 'ref'.
(show-help, %options): Add '--channels'.
(%self-build-file, %pull-version, build-from-source)
(whole-package-for-legacy, derivation->manifest-entry): Remove. These
now exist in a similar form in (guix channels).
(build-and-install): Change 'source' to 'instances'. Remove #:url,
#:branch, and #:commit. Rewrite using 'channel-instances->manifest'.
(channel-list): New procedure.
(guix-pull): Parameterize %REPOSITORY-CACHE-DIRECTORY. Call
'honor-lets-encrypt-certificates!' unconditionally. Load
~/.config/guix/channels.scm. Rewrite to use (guix channels).
[use-le-certs?]: Remove.
* po/guix/POTFILES.in: Add (guix channels).
* doc/guix.texi (Invoking guix pull): Group the description of '--url',
'--commit', and '--branch'. Remove mention of 'GUIX_PULL_URL'. Add
references to "Channels". Document '--channels'.
(Channels): New node.
(Defining Packages): Link to "Channels" instead of "Package Modules".
(Invoking guix edit): Link to "Package Modules" instead of "Defining
Packages".
(Package Modules): Document both GUIX_PACKAGE_PATH and channels.
| Ludovic Courtès |
2018-09-02 | Add (guix describe) and use it to initialize '%package-search-path'....* guix/describe.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm (%default-package-module-path): New variable.
(%package-module-path): Honor 'package-path-entries'.
* build-aux/update-NEWS.scm (main): Use %DEFAULT-PACKAGE-MODULE-PATH
instead of (last (%package-module-path)).
| Ludovic Courtès |
2018-09-02 | discovery: Add 'scheme-modules*'....* guix/self.scm (scheme-modules*): Move to...
* guix/discovery.scm (scheme-modules*): ... here. New procedure. Make
'sub-directory' an optional parameter.
| Ludovic Courtès |
2018-08-31 | pack: Correctly report "unknown pack format" errors....* guix/scripts/pack.scm (guix-pack): Fix "unknown pack format" error
message.
| Ludovic Courtès |
2018-08-31 | records: Adjust to test changes in 'record-abi-mismatch-error'....Fixes a test failure introduced in
de5cbd4a38a33e0412f1c481fe8e01a871dc13e5.
* guix/records.scm (abi-check): Refer to TYPE in an unquoted context so
we get at the RTD.
* tests/records.scm ("ABI checks"): Adjust 'catch' handler to changes
in the 'record-abi-mismatch-error' arguments.
| Ludovic Courtès |
2018-08-30 | import: pypi: Support recursive importing....* guix/import/pypi.scm (guess-requirements): Use upstream names.
(compute-inputs): Return the upstream dependency names as an additional value.
(make-pypi-sexp): Likewise.
(pypi->guix-package): Memoize it.
(pypi-recursive-import): New procedure.
* guix/scripts/import/pypi.scm (show-help, %options): Accept "recursive"
option.
(guix-import-pypi): Use pypi-recursive-import.
* doc/guix.texi (Invoking guix import): Document it.
| Ricardo Wurmus |
2018-08-30 | import: pypi: Also guess dependencies from *.egg-info/requires.txt....* guix/import/pypi.scm (guess-requirements): Extract "requires.txt" from the
egg-info directory in addition to "requirements.txt"; strip off version
constraints; use call-with-temporary-directory.
| Ricardo Wurmus |
2018-08-30 | import: stackage: Support recursive importing....* guix/import/hackage.scm (hackage-name->package-name): Export procedure.
* guix/import/stackage.scm (lts-info-packages-lts-info): Fix match expression.
(stackage-recursive-import): New procedure.
(stackage->guix-package): Memoize results.
* guix/scripts/import/stackage.scm (show-help, %options,
guix-import-stackage): Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
| Ricardo Wurmus |
2018-08-29 | records: Adjust 'record-abi-mismatch-error' arguments....Previously, 'display-error' (as used by 'warn-about-load-error', for
instance) would be called with a wrong number of arguments when a
'record-abi-mismatch-error' was caught:
warning: failed to load '(gnu tests install)':
Backtrace:
[...]
ERROR: In procedure display-error:
Wrong number of arguments to #<procedure display-error (_ _ _ _ _ _)>
Now you get warnings and error reports as intended:
warning: failed to load '(gnu tests install)':
In procedure abi-check: <openssh-configuration>: record ABI mismatch; recompilation needed
warning: failed to load '(gnu tests ssh)':
In procedure abi-check: <openssh-configuration>: record ABI mismatch; recompilation needed
* guix/records.scm (print-record-abi-mismatch-error): Remove.
Remove top-level call to 'set-exception-printer!'.
(abi-check): Use arguments as expected by 'display-error'.
| Ludovic Courtès |
2018-08-27 | pull: Use (git) and (guix git) unconditionally....The autoload hack was added a year ago, before 0.14.0, i.e., before any
release would depend on Guile-Git. Both 0.14.0 and 0.15.0 required
Guile-Git, and 'guix pull' now automatically pulls it in, so this hack
is no longer necessary.
* guix/scripts/pull.scm: Use (git) and (guix git). Remove top-level
call to 'module-autoload!'.
(ensure-guile-git!): Remove.
(guix-pull): Remove call to 'ensure-guile-git!'.
| Ludovic Courtès |
2018-08-27 | self: Shrink the module search path of the 'guix' command....Previously we'd have lots of useless entries on the search paths, such
as libtasn1, libidn2, zlib, gmp, etc. because they are propagated by
gnutls.
* guix/self.scm (guix-command)[source-directories, object-directories]:
New variables. Use them in the body of "guix-command". Filter their
items with 'file-exists?'.
| Ludovic Courtès |
2018-08-26 | cve: Update feed URL....* guix/cve.scm (yearly-feed-uri): Remove "static." from the URL since
the web site now redirects to the URL without "static.".
| Ludovic Courtès |
2018-08-24 | grafts: Add (guix build debug-link) and use it....Fixes <https://bugs.gnu.org/19973>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/debug-link.scm: New file.
* guix/build/graft.scm (%graft-hooks): New variable.
(graft): Add #:hooks and honor it.
* guix/grafts.scm (graft-derivation/shallow): Add (guix build
debug-link) and (guix elf) to #:modules.
* tests/debug-link.scm: New file.
* Makefile.am (MODULES): Add guix/build/debug-link.scm.
(SCM_TESTS): Add tests/debug-link.scm.
| Ludovic Courtès |
2018-08-24 | grafts: Add high-level 'graft' procedure on the build side....* guix/build/graft.scm (graft): New procedure.
* guix/grafts.scm (graft-derivation/shallow)[build]: Use it instead of
inline code.
| Ludovic Courtès |
2018-08-21 | inferior: Adjust for Guile 2.0....Partly fixes <https://bugs.gnu.org/32326>.
Reported by Michael Bowcutt <mbowcutt@riseup.net>.
* guix/inferior.scm (open-inferior): Wrap 'setvbuf' call in 'cond-expand'.
| Ludovic Courtès |
2018-08-21 | build-system/asdf: Fix typo in "dependency"....* guix/build-system/asdf.scm (default-lisp): Fix typo in "dependency".
| Pierre Neidhardt |
2018-08-20 | import: github: Filter out tags that don't look like version numbers....* guix/import/github.scm (latest-released-version): Filter out RELEASE
if it doesn't start with digit.
| Ludovic Courtès |
2018-08-20 | import: github: Get /tags when /releases returns the empty list....This allows "guix refresh" to work for many packages where it would
previously fail with "no updater for PACKAGE".
* guix/import/github.scm (fetch-releases-or-tags): New procedure.
(latest-released-version): Use it instead of calling 'json-fetch'.
Adjust 'hash-ref' call.
| Ludovic Courtès |
2018-08-20 | import: github: Request API v3 in the 'Accept' header....* guix/import/json.scm (json-fetch): Add #:headers argument and honor it.
* guix/import/github.scm (latest-released-version): Pass #:headers to
'json-fetch'.
| Ludovic Courtès |
2018-08-16 | Merge branch 'master' into staging | Marius Bakke |
2018-08-11 | import: hackage: Support recursive importing....* guix/import/hackage.scm (hackage-recursive-import): New procedure.
(hackage-module->sexp): Return dependencies alongside dependencies.
(hackage->guix-package): Memoize results.
* guix/scripts/import/hackage.scm (show-help, %options, guix-import-hackage):
Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
| Ricardo Wurmus |
2018-08-11 | Migrate search.cpan.org home pages to metacpan.org....The venerable search.cpan.org has retired[0].
[0]: https://log.perl.org/2018/05/goodbye-search-dot-cpan-dot-org.html
* guix/import/cpan.scm (cpan-home): Generate metacpan.org home page URIs.
Update all previously generated ones in (gnu packages) to their
canonical new homes.
| Tobias Geerinckx-Rice |
2018-08-10 | Merge branch 'master' into staging | Marius Bakke |
2018-08-07 | import: cabal, hackage: Avoid error when custom setup section is missing....Fixes <https://debbugs.gnu.org/32387>.
* guix/import/cabal.scm (eval-cabal): Avoid mis-match when the custom-setup
section cannot be created.
* guix/import/hackage.scm (cabal-custom-setup-dependencies->names): Do not
crash when cabal-package-custom-setup returns #F.
| Ricardo Wurmus |
2018-07-30 | Merge branch 'master' into staging | Marius Bakke |
2018-07-29 | ssh: Display the size of the store items being sent....* guix/ssh.scm (send-files): Compute the size of MISSING and display
it.
| Ludovic Courtès |
2018-07-28 | Merge branch 'master' into staging | Marius Bakke |
2018-07-28 | build-system/meson: Remove RUNPATH workarounds....* guix/build-system/meson.scm (default-patchelf): Remove.
(lower)[build-inputs]: Remove PATCHELF.
(meson-build): Don't delete 'fix-runpath' phase on armhf.
* guix/build/meson-build-system.scm (configure): Add "--c_link_args" and
"-cpp_link_args" instead of setting LDFLAGS.
(meson-build): Don't apply 'fix-runpath' phase.
| Marius Bakke |
2018-07-27 | import: hackage: Emit native-inputs in the importer....* guix/import/cabal.scm (cabal-custom-setup-dependencies): Export.
(cabal-package-custom-setup): Export.
(<cabal-package>): New field "custom-setup".
(make-cabal-package): Modify.
(eval-cabal): Modify.
* guix/import/hackage.scm (cabal-dependencies->names): Factor out...
(cabal-test-dependencies->names): ...this.
(cabal-custom-setup-dependencies->names): New procedure.
(hackage-module->sexp): Modify.
| Danny Milosavljevic |
2018-07-24 | ruby-build-system: Make phase "replace-git-ls-files" handle more cases....* guix/build/ruby-build-system.scm (replace-git-ls-files): Modify.
| Danny Milosavljevic |