Age | Commit message (Expand) | Author |
2019-01-22 | self: Remove leftover export....* guix/self.scm: Remove 'reload-guix' export.
| Ludovic Courtès |
2019-01-21 | store: Rename '&nix-error' to '&store-error'....* guix/store.scm (&nix-error): Rename to...
(&store-error): ... this, and adjust users.
(&nix-connection-error): Rename to...
(&store-connection-error): ... this, and adjust users.
(&nix-protocol-error): Rename to...
(&store-protocol-error): ... this, adjust users.
(&nix-error, &nix-connection-error, &nix-protocol-error): Define these
condition types and their getters as deprecrated aliases.
* build-aux/run-system-tests.scm, guix/derivations.scm,
guix/grafts.scm, guix/scripts/challenge.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/offload.scm, guix/serialization.scm,
guix/ssh.scm, guix/tests.scm, guix/ui.scm,
tests/derivations.scm, tests/gexp.scm, tests/guix-daemon.sh,
tests/packages.scm, tests/store.scm, doc/guix.texi: Adjust to use the
new names.
| Ludovic Courtès |
2019-01-21 | store: Rename <nix-server> to <store-connection>....* guix/store.scm (<nix-server>): Rename to...
(<store-connection>): ... this. Adjust users accordingly.
(nix-server?, nix-server-major-version)
(nix-server-minor-version, nix-server-socket)
(nix-server-version): Define as deprecated aliases.
* guix/inferior.scm: Adjust accordingly.
* guix/ssh.scm: Likewise.
| Ludovic Courtès |
2019-01-21 | deprecation: Send warnings to (current-error-port) by default....* guix/deprecation.scm (deprecation-warning-port): Default
to (current-error-port).
| Ludovic Courtès |
2019-01-21 | deprecation: Add 'define-deprecated/alias'....* guix/deprecation.scm (define-deprecated/alias): New macro.
| Ludovic Courtès |
2019-01-21 | import: github: Improve readability....* guix/import/github.scm (latest-released-version): Use any and cond instead
of a recursive loop and an if-else ladder respectively.
| Arun Isaac |
2019-01-21 | import: github: Use prereleases when package has no releases....* guix/import/github.scm (latest-released-version): Use preleases when package
has no releases.
| Arun Isaac |
2019-01-20 | pull: Add missing import....Fixes <https://bugs.gnu.org/34136>.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.
Fixes wrong-type-arg crash of "guix pull -p /does-not-exist -l".
* guix/scripts/pull.scm: Use (srfi srfi-34).
| Ludovic Courtès |
2019-01-20 | self: Build the (gnu tests …) modules....* guix/self.scm (compiled-guix)[*system-modules*]: Remove gnu/tests/*
from #:extra-files.
[*system-test-modules*]: New variable.
[build-modules]: Add them.
| Ludovic Courtès |
2019-01-21 | import: github: Check if git URIs are GitHub URIs....This fixes a regression introduced in 9a5091d0c181453d0f31ce97f96a4e577a25e796
whereby packages with git origin URIs not hosted on GitHub would be wrongly
detected as being covered under the github updater.
Reported by Efraim Flashner <efraim@flashner.co.il>.
* guix/import/github.scm (updated-github-url): Check if git URIs are GitHub
URIs.
| Arun Isaac |
2019-01-20 | channels: Use 'fold2'....* guix/channels.scm (latest-channel-instances): Use 'fold2' instead of
'fold'.
| Ludovic Courtès |
2019-01-20 | channels: Gracefully report the lack of a 'guix' channel....* guix/channels.scm (channel-instance-derivations): Raise an '&message'
condition when CORE-INSTANCE is #f.
| Ludovic Courtès |
2019-01-20 | channels: Build channel modules in an inferior....This ensures that channel modules are compiled with the right Guile,
that they get to see the right modules, and so on. IOW, it avoids bugs
such as those addressed by commits
3c0e16391ed9a3e3e4611b940fb393c5f2ecea63 and
cb341c121919877ae6267a6460c0c17536d06eff.
* guix/channels.scm (standard-module-derivation): Add 'core'
parameter. Rewrite in terms of 'gexp->derivation-in-inferior'.
(build-from-source): Add #:core parameter and pass it to
'standard-module-derivation'.
(build-channel-instance): Add 'core' parameter and pass it on.
(channel-instance-derivations)[dependencies]: Remove.
Adjust 'build-channel-instance' call.
| Ludovic Courtès |
2019-01-20 | inferior: 'gexp->derivation-in-inferior' honors EXP's load path....Previously the imported modules and extensions of EXP would be missing
from the load path of 'guix repl'.
* guix/inferior.scm (gexp->derivation-in-inferior)[script]: New
variable.
[trampoline]: Write (primitive-load #$script) to PIPE. Add #$output.
* tests/channels.scm ("channel-instances->manifest")[depends?]: Check
for requisites rather than direct references.
Adjust callers accordingly.
| Ludovic Courtès |
2019-01-20 | channels: Don't pull from the same channel more than once....Previous 'channel-instance->manifest' would call
'latest-channel-derivation', which could trigger another round of
'latest-repository-commit' for no good reason.
* guix/channels.scm (resolve-dependencies): New procedure.
(channel-instance-derivations)[edges]: New variable.
[instance->derivation]: New procedure.
* tests/channels.scm (make-instance): Use 'checkout->channel-instance'
instead of 'channel-instance'.
("channel-instances->manifest"): New test.
| Ludovic Courtès |
2019-01-20 | lint: check-source-unstable-tarball: Don't assume uri length....* guix/scripts/lint.scm (check-source-unstable-tarball): Replace third
with code to make sure there are enough elements to check.
| Efraim Flashner |
2019-01-20 | profiles: Allow a profile to be added as an entry of another profile....* guix/build/profiles.scm (build-etc/profile): When 'OUTPUT/etc/profile'
already exists, delete it first.
(build-profile): Likewise for 'OUTPUT/manifest'.
* tests/profiles.scm ("profile in profile"): New test.
| Ludovic Courtès |
2019-01-19 | self: Add gnu/tests/* to the installed files....* guix/self.scm (compiled-guix)[*system-modules*]: Add gnu/tests/*.
| Ludovic Courtès |
2019-01-18 | pull: Suggest running 'hash guix' if needed....Fixes <https://bugs.gnu.org/33647>.
Suggested by Diego Nicola Barbato <dnbarbato@posteo.de>.
* guix/scripts/pull.scm (build-and-install): Before returning, display a
hint if (which "guix") is not in PROFILE.
| Ludovic Courtès |
2019-01-18 | serialization: 'restore-file' errors out upon non-convertible file names....Fixes <https://bugs.gnu.org/33603>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/serialization.scm (port-conversion-strategy): New variable.
(restore-file): Parameterize it.
* tests/nar.scm ("restore-file with non-UTF8 locale"): New test.
| Ludovic Courtès |
2019-01-18 | guix: Add guard to texlive-configuration profile hook....It is possible to generate a profile where this hook will crash, as the
texmf.cnf file does not exist to be patched by substitute*. A simple example
is the profile just containing texlive-fonts-txfonts.
* guix/profiles.scm (texlive-configuration): Check that the texmf.cnf file
exists before trying to change it.
| Christopher Baines |
2019-01-17 | scripts: Fix typo....* guix/scripts/download.scm (show-help): Fix typo.
| Ricardo Wurmus |
2019-01-17 | syscalls: 'device-in-use?' returns #f upon EINVAL....This mirrors the behavior of the 'fdisk_device_is_used' function of
util-linux.
* guix/build/syscalls.scm (device-in-use?): Return #f upon EINVAL.
| Ludovic Courtès |
2019-01-17 | syscalls: 'device-in-use?' does not create a port....* guix/build/syscalls.scm (device-in-use?): Use 'open-fdes' rather than
'open-file'.
| Ludovic Courtès |
2019-01-17 | build: syscalls: Add device-in-use?....This new procedure uses BLKRRPART to determine whether or not a device is
busy. It is useful when a device does not appear as mounted but is maybe used
by the kernel. This is the case with overlayfs lowerdir backend device for
example.
* guix/build/syscalls.scm (device-in-use?): New exported procedure.
| Mathieu Othacehe |
2019-01-17 | installer: Move everything to the build side....* gnu/installer.scm: Rename to ...
* gnu/installer/record.scm: ... this.
* gnu/installer/build-installer.scm: Move everything to the build side and
rename to gnu/installer.scm.
* gnu/installer/newt.scm: Remove all the gexps and add depencies to newt
modules as this code will only be used on the build side by now.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it,
(dist_installer_DATA): New rule to install installer's aux-files.
* gnu/system/install.scm (%installation-services): Use only
'installer-program' from (gnu installer). The installer is now choosen on the
build side.
* guix/self.scm (*system-modules*): Restore previous behaviour and add all
installer files to #:extra-files field of the scheme-node.
* po/guix/POTFILES.in: Adapt it.
| Mathieu Othacehe |
2019-01-17 | guix: self: Do not install (gnu system install)....As we do not want to add a dependency to newt and the graphical installer
in (guix self), do not install (gnu system install).
* guix/self.scm (*system-modules*): Remove (gnu system install) from
"guix-system" scheme-node.
| Mathieu Othacehe |
2019-01-16 | import: github: Do not update URI for packages using git-fetch....* guix/import/github.scm (updated-github-url): Return the unchanged source URI
for packages using git-fetch.
[updated-url]: Do not handle URIs which end with ".git".
| Arun Isaac |
2019-01-15 | status: Distinguish 'package-cache' profile hook....* guix/status.scm (hook-message): Handle 'package-cache'.
| Ludovic Courtès |
2019-01-15 | guix package: '--list-available' can use data from the cache....* gnu/packages.scm (fold-available-packages): New procedure.
* guix/scripts/package.scm (process-query): Use it instead of
'fold-packages'.
* tests/packages.scm ("fold-available-packages with/without cache"):
New test.
| Ludovic Courtès |
2019-01-15 | edit: Use 'specification->location' to read information from the cache....That way 'guix edit' doesn't need to load any package module.
* gnu/packages.scm (find-package-locations, specification->location):
New procedures.
* guix/scripts/edit.scm (package->location-specification): Rename to...
(location->location-specification): ... this. Expect a location object
instead of a package.
(guix-edit): Use 'specification->location' instead of
'specification->package'.
* tests/packages.scm ("find-package-locations")
("find-package-locations with cache")
("specification->location"): New tests.
| Ludovic Courtès |
2019-01-15 | channels: Compute a package cache and use it....* gnu/packages.scm (cache-is-authoritative?, load-package-cache)
(cache-lookup, generate-package-cache): New procedures.
(%package-cache-file): New variable.
(find-packages-by-name): Rename to...
(find-packages-by-name/direct): ... this.
(find-packages-by-name): Rewrite to use the package cache when
'cache-is-authoritative?' returns true.
* tests/packages.scm ("find-packages-by-name + version, with cache")
("find-packages-by-name with cache"): New tests.
* guix/channels.scm (package-cache-file): New procedure.
(%channel-profile-hooks): New variable.
(channel-instances->derivation): Use it in #:hooks.
* guix/scripts/package.scm (build-and-use-profile): Add #:hooks and
honor it.
* guix/scripts/pull.scm (build-and-install): Pass #:hooks to
UPDATE-PROFILE.
| Ludovic Courtès |
2019-01-15 | discovery: Add 'fold-module-public-variables*'....* guix/discovery.scm (fold-module-public-variables*): New procedure.
| Ludovic Courtès |
2019-01-15 | inferior: Add 'gexp->derivation-in-inferior'....* guix/inferior.scm (gexp->derivation-in-inferior): New procedure.
| Ludovic Courtès |
2019-01-15 | guix package: Avoid 'find-newest-available-packages'....* guix/scripts/package.scm (transaction-upgrade-entry): Use
'find-best-packages-by-name' instead of
'find-newest-available-packages'.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades")
("transaction-upgrade-entry, one upgrade")
("transaction-upgrade-entry, superseded package"): Adjust accordingly.
| Ludovic Courtès |
2019-01-15 | profiling: Add a "gc" profiling component....* guix/profiling.scm (show-gc-stats): New procedure.
<top level>: Call 'register-profiling-hook!'.
| Ludovic Courtès |
2019-01-15 | guix: scons: Fix module reference....* guix/build-system/scons.scm (default-scons): Find "scons" package in
(gnu packages python-xyz) instead of (gnu packages python).
| Ricardo Wurmus |
2019-01-15 | guix: Add profile hook to build TeX live configuration....* guix/profiles.scm (texlive-configuration): New procedure.
(%default-profile-hooks): Add it.
* guix/status.scm (hook-message): Handle "texlive-configuration" hook type.
| Ricardo Wurmus |
2019-01-15 | status: Spin only on TTYs....* guix/status.scm (isatty?*): New procedure.
(spin!): Do nothing when port matches ISATTY?*.
(color-output?): Use ISATTY?*.
| Ludovic Courtès |
2019-01-15 | guix package: '--upgrade' preserves package order....Fixes <https://bugs.gnu.org/31142>.
Reported by Chris Marusich <cmmarusich@gmail.com>.
* guix/scripts/package.scm (options->installable)[upgraded]: Use 'fold'
instead of 'fold-right'. This reverts
eca16a3d1d9e6b2c064e0105c1015258bf2755f2.
* tests/guix-package-net.sh: Add 'guix package u' test.
| Ludovic Courtès |
2019-01-14 | copy: Add '--verbosity'....This fixes a regression introduced in
f1de676ea82c2bed9a435fce37ade0186296bfc9 since %DEFAULT-OPTIONS was
missing the 'debug key that 'set-build-options-from-command-line'
expects.
* guix/scripts/copy.scm (show-help, %options): Add '--verbosity'.
(%default-options): Rename 'verbosity' to 'debug'. Add
'print-build-trace?', 'print-extended-build-trace?',
'multiplexed-build-output?', and 'verbosity'.
(guix-copy): Wrap body in 'with-status-verbosity'.
| Ludovic Courtès |
2019-01-14 | pull: Don't prepend "origin/" to branch names....This is a followup to 37a6cdbf1b3503d3e60840a176318284b1f7ca25.
* guix/scripts/pull.scm (%options): Don't prepend "origin/" to branch
names.
| Ludovic Courtès |
2019-01-12 | import: cran: Suggest input changes....* guix/import/cran.scm (latest-cran-release, latest-bioconductor-release):
Return input-changes.
| Ricardo Wurmus |
2019-01-12 | refresh: Suggest input changes when updating....* guix/upstream.scm (<upstream-source>)[input-changes]: New field.
(<upstream-input-change>): New record.
(upstream-input-change?, upstream-input-change-name,
upstream-input-change-type, upstream-input-change-action, changed-inputs): New
procedures.
(package-update): Pass along input changes.
* guix/script/refresh.scm (update-package): Process input changes.
| Ricardo Wurmus |
2019-01-11 | guix build: Re-purpose '--verbosity' and add '--debug'....The previous '--verbosity' option was misleading and rarely what users
were looking for. The new option provides a consistent way to choose
whether or not to display the build log.
* guix/scripts/build.scm (show-build-options-help): Remove "--verbosity"
and add "--debug".
(set-build-options-from-command-line): Use the 'debug key of OPTS for
#:verbosity.
(%standard-build-options): Change "verbosity" to "debug". Use
'string->number*' instead of 'string->number'.
(%default-options): Change 'verbosity to 'debug and add a 'verbosity
key.
(show-help): Add '--verbosity'.
(%options): Likewise, and change '--quiet' to set the 'verbosity key of
RESULT.
(guix-build): Use 'with-status-verbosity' instead of parameterizing
CURRENT-BUILD-OUTPUT-PORT, honor the 'verbosity key of OPTS, and remove
'quiet?'.
* guix/scripts/environment.scm (show-help, %options): Add '--verbosity'.
(%default-options): Add 'debug'.
(guix-environment): Honor the 'verbosity key of OPTS.
* guix/scripts/pack.scm (%default-options): Add 'debug.
(%options, show-help): Add '--verbosity'.
(guix-pack): Honor the 'verbosity key of OPTS.
* guix/scripts/package.scm (%default-options): Add 'debug.
(show-help, %options): Add '--verbosity'. Mark '--verbose' as
deprecated and change it to set 'verbosity.
(guix-package): Honor the 'verbosity key of OPTS and remove 'verbose?'.
* guix/scripts/pull.scm (%default-options): Add 'debug.
(show-help, %options): Add '--verbosity'.
(guix-pull): Honor the 'verbosity key of OPTS.
* guix/scripts/system.scm (show-help, %options): Add '--verbosity'.
(%default-options): Add 'debug.
(guix-system): Honor the 'verbosity key of OPTS.
* guix/scripts/archive.scm (%default-options): Add 'debug,
'print-build-trace?, 'print-extended-build-trace?, and
'multiplexed-build-output?.
(show-help, %options): Add '--verbosity'.
(export-from-store): Remove call to 'set-build-options-from-command-line'.
(guix-archive): Wrap body in 'with-status-verbosity'. Add call to
'set-build-options-from-command-line.
* doc/guix.texi (Common Build Options): Document '--verbosity' and
'--debug'.
(Additional Build Options): Adjust description of '--quiet'.
| Ludovic Courtès |
2019-01-11 | status: Add 'with-status-verbosity'....* guix/status.scm (logger-for-level, call-with-status-verbosity): New
procedures.
(with-status-verbosity): New macro.
* guix/scripts/environment.scm (guix-environment): Use
'with-status-verbosity' instead of 'with-status-report'.
* 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 (guix-system): Likewise.
* build-aux/run-system-tests.scm (run-system-tests): Likewise.
| Ludovic Courtès |
2019-01-11 | refresh: Turn on warnings when '--manifest' is used....* guix/scripts/refresh.scm (guix-refresh): Set WARN? when '-m' is used.
| Ludovic Courtès |
2019-01-11 | refresh: Refactor option handling and '--recursive'....This allows us to combine '--recursive' with other options (-u, -m,
etc.), turns off warnings when '--recursive' is used, and avoids the
hazards of I/O in the presence of multithreading.
* guix/scripts/refresh.scm (options->packages): New procedure, with code
formerly in 'guix-refresh'.
(refresh-recursive): Remove.
(guix-refresh)[keep-newest, core-package?, args-packages, packages]:
Remove.
[warn?]: Set to #f when RECURSIVE? is true.
Call 'options->packages' in monadic context.
| Ludovic Courtès |
2019-01-10 | build-system: texlive: Do not hide build output....* guix/build/texlive-build-system.scm (compile-with-latex): Use "nonstopmode"
instead of "batchmode".
| Ricardo Wurmus |
2019-01-10 | build-system: texlive: Do not truncate lines....* guix/build/texlive-build-system.scm (configure): Set environment variables
to prevent build output lines from being truncated.
| Ricardo Wurmus |