Age | Commit message (Expand) | Author |
2018-01-07 | daemon: Add gzip log compression....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro.
(options): Mark "disable-log-compression" as hidden and add
"log-compression".
(parse_opt): Handle GUIX_OPT_LOG_COMPRESSION.
* nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'.
(openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP.
(closeLogFile, handleChildOutput): Honor 'gzLogFile'.
* nix/libstore/globals.hh (Settings)[compressLog]: Remove.
[logCompression]: New field.
(CompressionType): New enum.
* nix/libstore/globals.cc (Settings::Settings): Initialize it.
(update): Remove '_get' call for 'compressLog'.
* nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz.
* guix/store.scm (log-file): Handle '.gz' log files.
* tests/guix-daemon.sh: Add test with '--log-compression=gzip'.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
* config-daemon.ac: Check for libz and zlib.h.
| Ludovic Courtès |
2018-01-07 | ssh: Improve error reporting when retrieving files....'guix copy --from' now reports messages much more useful than "failed to
retrieve files".
* guix/ssh.scm (store-export-channel)[export]: Wrap 'use-modules' in
'catch' and 'with-store' in 'guard'. Check for invalid items. Write a
status sexp on stdout.
(raise-error): New macro.
(retrieve-files): Read the initial status sexp and report errors
accordingly.
| Ludovic Courtès |
2018-01-07 | ui: Display hints that come along with '&message' conditions....* guix/ui.scm (call-with-error-handling): Add case for message and
fix-hint?.
| Ludovic Courtès |
2018-01-06 | publish: Save bandwidth on narinfo 404s....This saves 18 bytes on each 404 narinfo response.
* guix/scripts/publish.scm (render-narinfo): Pass #:phrase to
'not-found'.
(render-narinfo/cached): Likewise.
| Ludovic Courtès |
2018-01-01 | ui: It's 2018 now!...* guix/ui.scm (show-version-and-exit): Change year to 2018.
| Ludovic Courtès |
2017-12-31 | build: dub-build-system: Make builds reproducible....* guix/build/dub-build-system.scm (build): Make reproducible.
(check): Make reproducible.
| Danny Milosavljevic |
2017-12-23 | guix build: Support '--with-source=PACKAGE@VERSION=URI'....* guix/scripts/build.scm (numeric-extension?, tarball-base-name): New
procedures, formerly in 'package-with-source'.
(transform-package-source)[new-sources]: Look for '=' in URI. Each
element of the list of now a (PKG VERSION SOURCE) tuple.
Pass VERSION to 'package-with-source'.
(package-with-source): Add 'version' parameter and honor it.
* tests/scripts-build.scm ("options->transformation, with-source, PKG=URI")
("options->transformation, with-source, PKG@VER=URI"): New tests.
* doc/guix.texi (Package Transformation Options): Document the new
forms.
| Ludovic Courtès |
2017-12-22 | guix system: Check mapped devices upon 'init' and 'reconfigure'....* guix/scripts/system.scm (check-mapped-devices): New procedure.
(perform-action): Add call to 'check-mapped-devices'.
| Ludovic Courtès |
2017-12-22 | guix: Exclude broken symlinks from man files....* guix/man-db.scm (man-files): Remove broken symlinks from list of man pages.
| Ricardo Wurmus |
2017-12-19 | upstream: Reject bogus archive type guesses....This would crash 'guix refresh -u' with source URLs ending in
"…/v1.2.3".
* guix/upstream.scm (package-update): Be stricter when determining
ARCHIVE-TYPE.
| Ludovic Courtès |
2017-12-18 | guix gc: '--verify=foo' is reported as an error....Fixes <https://bugs.gnu.org/29761>.
Reported by Martin Castillo <castilma@uni-bremen.de>.
* guix/scripts/gc.scm (argument->verify-options): New procedure.
(%options) ["verify"]: Adjust to use it.
* tests/guix-gc.sh: Add test.
| Ludovic Courtès |
2017-12-18 | gexp: 'computed-file' has a new #:guile parameter....* guix/gexp.scm (<computed-file>)[guile]: New field.
(computed-file): Add #:guile.
(computed-file-compiler): Honor 'guile'.
| Ludovic Courtès |
2017-12-18 | ui: Non-zero exit for compound '&message' and '&error-location' conditions....* guix/ui.scm (call-with-error-handling): When both 'message?' and
'error-location?' are true, add call to 'exit'.
| Ludovic Courtès |
2017-12-17 | man-db: Autoload (gdbm)....Fixes 'guix pull'.
Reported by ofosos on #guix.
* guix/man-db.scm: Use 'module-autoload!' instead of 'module-use!'.
so that (gdbm) is not loaded until we need it.
| Ludovic Courtès |
2017-12-17 | gnu-maintenance: 'latest-ftp-release' ignores "unstable" directories....* guix/gnu-maintenance.scm (latest-ftp-release): Filter out "unstable"
directories.
| Ludovic Courtès |
2017-12-17 | profiles: Use (guix man-db) to create the manual database....Fixes <https://bugs.gnu.org/29654>.
Reported by Ruud van Asseldonk <dev+guix@veniogames.com>.
This also speeds up database creation compared to "man-db
--create" (less than half the time, on a warm cache, for 19k pages.)
* guix/man-db.scm: New file.
* Makefile.am (MODULES_NOT_COMPILED): Add it.
* guix/profiles.scm (manual-database): Rewrite to use (guix man-db).
| Ludovic Courtès |
2017-12-16 | guix: offload: Add "status" sub-command....* guix/scripts/offload.scm (check-machine-status): New procedure.
(guix-offload): Call it when the argument is "status".
* doc/guix.texi (Daemon Offload Setup): Document it.
| Ricardo Wurmus |
2017-12-15 | scripts: system: Add --expression option....* guix/scripts/system.scm (show-help): Add expression option.
(%options): Ditto.
(guix-system): Allow commands taking a file as an argument to use an
expression instead.
(process-action): Read operating-system from expression or file.
* doc/guix.texi (Invoking guix system): Introduce the expression option.
| Mathieu Othacehe |
2017-12-15 | progress: Rename 'erase-in-line' to 'erase-current-line'....Suggested by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/progress.scm (erase-in-line): Rename to...
(erase-current-line): ... this. Adjust callers.
| Ludovic Courtès |
2017-12-15 | bootloader: Factorize write-file-on-device....* gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader
writing in a new procedure write-file-on-device defined in (gnu build
bootloader).
* gnu/build/bootloader.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
* gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader)
module during derivation building.
* gnu/scripts/system.scm (bootloader-installer-derivation): Ditto.
| Mathieu Othacehe |
2017-12-15 | guix: ant-build-system: Do not compress jars....Fixes <https://bugs.gnu.org/29700>.
* guix/build/ant-build-system.scm (strip-jar-timestamps): Do not compress jar
when repacking.
| Ricardo Wurmus |
2017-12-13 | hydra: Invalidate derivation caches after each architecture evaluation....This reduces max RSS from 1.3G to 1.0G.
* guix/derivations.scm (invalidate-derivation-caches!): New procedure.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use it. Add 'format'
call.
| Ludovic Courtès |
2017-12-13 | memoization: Add 'invalidate-memoization!....* guix/memoization.scm (%make-hash-table*): When not profiling, add the
new table to %MEMOIZATION-TABLES.
(invalidate-memoization!): New procedure.
| Ludovic Courtès |
2017-12-13 | derivations: Don't memoize 'derivation-hash'....This has little or no run-time impact and slightly reduces the memory
footprint.
* guix/derivations.scm (derivation-hash): Replace 'mlambda' with
'lambda'.
| Ludovic Courtès |
2017-12-13 | derivations: Split 'derivation-hash' in two procedures....* guix/derivations.scm (derivation/masked-inputs): New procedure.
(derivation-hash): Use it instead of the inline code.
| Ludovic Courtès |
2017-12-13 | Revert "derivations: 'derivation-hash' assumes inputs are coalesced."...This reverts commit 1d008d9f8c44dfdb808235d451b72f255e72f103.
Reported by Rutger Helling <rhelling@mykolab.com>.
Fixes <https://bugs.gnu.org/29689>.
| Ludovic Courtès |
2017-12-12 | derivations: 'derivation-hash' assumes inputs are coalesced....* guix/derivations.scm (derivation-hash): Remove
redundant 'coalesce-duplicate-inputs' call.
| Ludovic Courtès |
2017-12-12 | derivations: Use 'define-immutable-record-type' as appropriate....This is a followup to dc673fa1131fb5d1e5ca29acb4a693cfb906986f.
* guix/derivations.scm (<derivation-output>, <derivation-input>): Use
'define-immutable-record-type'.
| Ludovic Courtès |
2017-12-12 | memoization: Profiling support keeps track of lookups and hits....* guix/memoization.scm (<cache>): New record type.
(define-lookup-procedure, define-update-procedure): New macros.
(cache-ref, cacheq-ref, cache-set!, cacheq-set!): New procedures.
(cached/mv, cachedq/mv, cached, cachedq): Use them instead of 'hash-ref'
and 'hash-set!'.
(%make-hash-table*): When 'profiled?' returns true, return a <cache>
object.
(define-cache-procedure): Adjust to show cache lookups and hits.
| Ludovic Courtès |
2017-12-12 | memoization: Add profiling support....* guix/memoization.scm (%memoization-tables): New variable.
(%make-hash-table*, show-memoization-tables): New procedures.
(make-hash-table*): New macro.
Add top-level call to 'register-profiling-hook!'.
(memoize): Adjust to pass the resulting procedure to
'make-hash-table*'.
(%mlambda): Likewise.
| Ludovic Courtès |
2017-12-12 | Add (guix profiling)....* guix/profiling.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/store.scm (record-operation): Use 'profiled?' and
'register-profiling-hook!'.
| Ludovic Courtès |
2017-12-11 | guix: utils: Add version-major....* guix/utils.scm (version-major): New procedure.
| nee |
2017-12-10 | utils: Fix cond-expand for Guile 2.0....* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
| Eric Bavier |
2017-12-10 | ui: Display hints to resolve profile collisions....Fixes <https://bugs.gnu.org/29255>.
Reported by Ben Sturmfels <ben@sturm.com.au>.
* guix/ui.scm (display-collision-resolution-hint): New procedure.
(call-with-error-handling): Call it upon '&profile-collistion-error'.
| Ludovic Courtès |
2017-12-10 | build-system/asdf: Use 'mlambda'....* guix/build-system/asdf.scm (package-with-build-system): Use 'mlambda'
instead of 'memoize'.
| Ludovic Courtès |
2017-12-10 | lint: 'check-vulnerabilities' also checks package properties....* guix/scripts/lint.scm (check-vulnerabilities): Also check for CVEs
listed as mitigated in the package properties.
* tests/lint.scm ("cve: known safe from vulnerability"): New test.
| Efraim Flashner |
2017-12-08 | licenses: Add wxWindows 3.1 license....* guix/licenses.scm (wxwindows3.1+): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Rutger Helling |
2017-12-07 | scripts: All commands enable build hooks by default....* guix/scripts/archive.scm (%default-options): Add 'build-hook?'.
* guix/scripts/copy.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.
| Ludovic Courtès |
2017-12-07 | Merge branch 'version-0.14.0' | Ludovic Courtès |
2017-12-06 | Revert "packages: 'package-grafts' trims native inputs."...This reverts commit 91c9b5d016ac8bed127557d378c70fbc56cec0e5
following the concerns raised by Mark, Ben, and Tobias:
<https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00081.html>.
| Ludovic Courtès |
2017-12-06 | syscalls: Define 'input-flags' for 'tcgetattr' and friends....* guix/build/syscalls.scm (input-flags): New macro.
| Ludovic Courtès |
2017-12-05 | packages: 'package-grafts' trims native inputs....'package-grafts' returns a list of potentially applicable grafts, which
'cumulative-grafts' then narrows by looking at store item references and
determining the subset of the grafts that's actually applicable.
Until now, 'package-grafts' would traverse native inputs and would thus
return a large superset of the applicable grafts, since native inputs
are not in the reference graph by definition. This patch fixes that by
having 'package-grafts' ignore entirely native inputs from the
dependency graph.
* guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: Add
special case for libc.
* guix/packages.scm (bag-grafts)[native-grafts, target-grafts]: Remove.
[grafts]: New procedure.
Use it.
* tests/packages.scm ("package-grafts, grafts of native inputs
ignored"): New test.
| Ludovic Courtès |
2017-12-05 | packages: 'fold-bag-dependencies' honors nativeness in recursive calls....Previously recursive calls to 'loop' would always consider all the bag
inputs rather than those corresponding to NATIVE?.
* guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: New
procedure. Use it both in the 'match' expression and in its body.
| Ludovic Courtès |
2017-12-04 | bootloader: extlinux: Stop using dd binary....* gnu/bootloader/extlinux.scm (dd): Remove it,
(install-extlinux): replace dd call by Guile I/O procedures.
* gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to used-modules
list to provide "get-bytevector-n" and "put-bytevector".
* guix/scripts/system.scm (bootloader-installer-derivation): Ditto.
| Mathieu Othacehe |
2017-12-03 | ui: Tweak conflicting profile entry error message....* guix/ui.scm (call-with-error-handling): Use 'manifest-entry-output*'
when reporting conflicting profile entries.
| Ludovic Courtès |
2017-12-03 | profiles: Really disable deprecation warnings for 'profile-derivation'....This is a followup to 2815fca1423cf72e6f3d0e774f1058bcbf8dfdbf.
* guix/profiles.scm (profile-derivation)[builder]: Remove
'debug-disable' call, which was ineffective.
Pass #:env-vars to 'gexp->derivation'.
| Ludovic Courtès |
2017-12-03 | scripts: Default to Guile 2.2 as the guile-for-build....* guix/scripts/environment.scm (guix-environment): '%guile-for-build'
now defaults to GUILE-2.2 instead of GUILE-2.0.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
| Ludovic Courtès |
2017-12-03 | profile: Use _IO* but disable deprecation warning....This fixes a regression introduced in
2f60084f77815f454d1521396c2a383390ea2865, whereby the profile derivation
would fail to run on Guile 2.0 (as is the case with "guix package
--bootstrap").
Reported by Christopher Baines.
* guix/profiles.scm (profile-derivation)[builder]: Use _IO* but add
'debug-disable' call.
| Ludovic Courtès |
2017-12-03 | profiles: Avoid _IO* in profile builder....* guix/profiles.scm (profile-derivation)[builder]: Avoid the deprecated
_IO* constants.
| Ludovic Courtès |
2017-12-03 | profiles: Do not import the host's srfi-{19,26}.scm files....Previously the "manual-database" derivation would always import the
host's srfi-{19,26}.scm files in the build side. In practice this means
that different users could get different manual-database.drv depending
on the Guile version they're using in the host.
For example, the (gnu tests install) tests would fail if the host was
running Guile 2.2.3 because the guest is running 2.2.2, and thus has
different srfi-{19,26}.scm files. The manual-database.drv would need to
be built from source, which would fail because prerequisites were
missing.
Reported by Mathieu Othacehe <m.othacehe@gmail.com>
at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29409#96>.
* guix/profiles.scm (manual-database): Do not pass #:modules to
'gexp->derivation'. Wrap 'build' gexp in 'with-imported-modules' form.
| Ludovic Courtès |