Age | Commit message (Expand) | Author |
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 |
2017-12-01 | Do not set '%fresh-auto-compile'....* guix/scripts/offload.scm (build-machines): Comment out
'(set! %fresh-auto-compile #t)' since with Guile 2.2.3 it could lead to
an actual rebuild of everything that gets loaded from there on. See
<https://bugs.gnu.org/29226>.
* guix/ui.scm (load*): Likewise.
| Ludovic Courtès |
2017-12-01 | records: Use 'make-struct/no-tail'....* guix/records.scm (make-syntactic-constructor): Use
'make-struct/no-tail' as 'make-struct' is deprecated as of 2.2.3.
| Ludovic Courtès |
2017-12-01 | guix system: 'init' displays a progress bar while copying....Until now it would print the name of each store item being copied, which
was verbose and unhelpful.
* guix/scripts/system.scm (copy-closure): Use 'progress-reporter/bar'
and 'call-with-progress-reporter'.
(guix-system): Parameterize 'current-terminal-columns'.
| Ludovic Courtès |
2017-12-01 | guix system: Simplify closure copy....* guix/scripts/system.scm (copy-item): Add 'references' argument and
remove 'references*' call. Turn into a non-monadic procedure.
(copy-closure): Remove initial call to 'references*'. Only pass ITEM to
'topologically-sorted*' since that's equivalent. Compute the list of
references corresponding to TO-COPY and pass it to 'copy-item'.
| Ludovic Courtès |
2017-12-01 | weather: Use (guix progress) for progress report....* guix/progress.scm (start-progress-reporter!, stop-progress-reporter!)
(progress-reporter-report!): New procedures.
* guix/scripts/weather.scm (call-with-progress-reporter): New procedure.
(package-outputs)[update-progress!]: Remove.
Use 'call-with-progress-reporter' instead.
(guix-weather): Parameterize 'current-terminal-columns'.
| Ludovic Courtès |
2017-12-01 | progress: Add 'progress-reporter/bar'....* guix/progress.scm (progress-reporter/bar): New procedure.
| Ludovic Courtès |
2017-12-01 | progress: 'progress-bar' accounts for brackets....* guix/progress.scm (progress-bar): Subtract 2 to BAR-WIDTH to account
for brackets.
| Ludovic Courtès |
2017-12-01 | progress: Factorize erase-in-line....* guix/progress.scm (erase-in-line): New procedure.
(progress-reporter/file): Use it.
| Ludovic Courtès |
2017-12-01 | utils: Add target-arm32? procedure....* guix/utils.scm (target-arm32?): New exported procedure.
| Mathieu Othacehe |
2017-11-30 | ui: Present 'use-modules' hints with a question mark....Suggested by myglc2 <myglc2@gmail.com>.
* guix/ui.scm (report-load-error): Write "Did you forget" rather than
"Try adding."
| Ludovic Courtès |
2017-11-30 | build-system: Add scons-build-system....* guix/build-system/scons.scm: New file.
* guix/build/scons-build-system.scm: New file.
* Makefile.am (MODULES): Register them.
* doc/guix.texi (Build Systems): Add scons-build-system.
| Arun Isaac |
2017-11-29 | gexp: Default to 'guile-2.2' for 'program-file'....Previously things returned by 'program-file', such as %MODPROBE-WRAPPER
in (gnu services), would refer to 'guile-final'. This would introduce
'guile-final' in the system closure, which is otherwise absent. By
referring to 'guile-2.2' we remove that extra Guile.
* guix/gexp.scm (default-guile): Refer to GUILE-2.2 instead of
GUILE-FINAL.
| Ludovic Courtès |
2017-11-29 | gexp: 'compiled-modules' disables deprecation warnings by default....This avoids repeated deprecation messages, particularly while running
'guix system build' or similar.
* guix/gexp.scm (gexp->derivation): Add #:deprecation-warnings. Pass it
to 'compiled-modules'.
(compiled-modules): Add #:deprecation-warnings and honor it.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
documentation.
* guix/packages.scm (patch-and-repack): Pass #:deprecation-warnings #t.
| Ludovic Courtès |