~ruther/guix-local

ref: 4e0b3583eab7dd67c2e13ad614e48f8d31c59c90 guix-local/guix d---------
34797d8a — Ludovic Courtès 8 years ago
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.
d1f01e48 — Ludovic Courtès 8 years ago
memoization: Add 'invalidate-memoization!.

* guix/memoization.scm (%make-hash-table*): When not profiling, add the
new table to %MEMOIZATION-TABLES.
(invalidate-memoization!): New procedure.
90354e34 — Ludovic Courtès 8 years ago
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'.
eb1150c2 — Ludovic Courtès 8 years ago
derivations: Split 'derivation-hash' in two procedures.

* guix/derivations.scm (derivation/masked-inputs): New procedure.
(derivation-hash): Use it instead of the inline code.
22358bdb — Ludovic Courtès 8 years ago
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>.
1d008d9f — Ludovic Courtès 8 years ago
derivations: 'derivation-hash' assumes inputs are coalesced.

* guix/derivations.scm (derivation-hash): Remove
redundant 'coalesce-duplicate-inputs' call.
3d19b7fb — Ludovic Courtès 8 years ago
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'.
6c80641d — Ludovic Courtès 8 years ago
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.
252c4083 — Ludovic Courtès 8 years ago
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.
03870da8 — Ludovic Courtès 9 years ago
Add (guix profiling).

* guix/profiling.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/store.scm (record-operation): Use 'profiled?' and
'register-profiling-hook!'.
guix: utils: Add version-major.

* guix/utils.scm (version-major): New procedure.
7f04197f — Eric Bavier 8 years ago
utils: Fix cond-expand for Guile 2.0.

* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
3b80b813 — Ludovic Courtès 8 years ago
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'.
8bc1935c — Ludovic Courtès 8 years ago
build-system/asdf: Use 'mlambda'.

* guix/build-system/asdf.scm (package-with-build-system): Use 'mlambda'
instead of 'memoize'.
f4007b25 — Efraim Flashner 8 years ago
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.
00cf98eb — Rutger Helling 8 years ago
licenses: Add wxWindows 3.1 license.

* guix/licenses.scm (wxwindows3.1+): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
7920e187 — Ludovic Courtès 8 years ago
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.
5a2f019c — Ludovic Courtès 8 years ago
Merge branch 'version-0.14.0'
609d126e — Ludovic Courtès 8 years ago
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>.
45c32bd7 — Ludovic Courtès 8 years ago
syscalls: Define 'input-flags' for 'tcgetattr' and friends.

* guix/build/syscalls.scm (input-flags): New macro.
Next