Age | Commit message (Collapse) | Author |
|
* guix/derivations.scm (derivation/masked-inputs): New procedure.
(derivation-hash): Use it instead of the inline code.
|
|
This reverts commit 1d008d9f8c44dfdb808235d451b72f255e72f103.
Reported by Rutger Helling <rhelling@mykolab.com>.
Fixes <https://bugs.gnu.org/29689>.
|
|
* guix/derivations.scm (derivation-hash): Remove
redundant 'coalesce-duplicate-inputs' call.
|
|
This is a followup to dc673fa1131fb5d1e5ca29acb4a693cfb906986f.
* guix/derivations.scm (<derivation-output>, <derivation-input>): Use
'define-immutable-record-type'.
|
|
* 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.
|
|
* 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.
|
|
* guix/profiling.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/store.scm (record-operation): Use 'profiled?' and
'register-profiling-hook!'.
|
|
* guix/utils.scm (version-major): New procedure.
|
|
* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
|
|
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'.
|
|
* guix/build-system/asdf.scm (package-with-build-system): Use 'mlambda'
instead of 'memoize'.
|
|
* 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.
|
|
* guix/licenses.scm (wxwindows3.1+): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
* 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.
|
|
|
|
|
|
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>.
|
|
* guix/build/syscalls.scm (input-flags): New macro.
|
|
|
|
'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.
|
|
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.
|
|
* 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.
|
|
* guix/ui.scm (call-with-error-handling): Use 'manifest-entry-output*'
when reporting conflicting profile entries.
|
|
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'.
|
|
* 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.
|
|
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.
|
|
* guix/profiles.scm (profile-derivation)[builder]: Avoid the deprecated
_IO* constants.
|
|
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.
|
|
This is a follow-up to commit ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a.
Fixes <https://bugs.gnu.org/29537>.
* gnu/packages/base.scm (glibc/linux)[version]: Change to 2.26.91-gaaa2eb83b8.
[source](uri): Adjust accordingly.
[arguments]: Use VERSION-MAJOR+MINOR for locales path.
(glibc-locales, glibc-utf8-locales): Likewise.
* guix/packages.scm (patch-and-repack): Likewise.
* guix/profiles.scm (ca-certificate-bundle, profile-derivation): Likewise.
|
|
* 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.
|
|
* guix/records.scm (make-syntactic-constructor): Use
'make-struct/no-tail' as 'make-struct' is deprecated as of 2.2.3.
|
|
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'.
|
|
* 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'.
|
|
* 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'.
|
|
* guix/progress.scm (progress-reporter/bar): New procedure.
|
|
* guix/progress.scm (progress-bar): Subtract 2 to BAR-WIDTH to account
for brackets.
|
|
* guix/progress.scm (erase-in-line): New procedure.
(progress-reporter/file): Use it.
|
|
* guix/utils.scm (target-arm32?): New exported procedure.
|
|
Suggested by myglc2 <myglc2@gmail.com>.
* guix/ui.scm (report-load-error): Write "Did you forget" rather than
"Try adding."
|
|
* 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.
|
|
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.
|
|
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.
|
|
* guix/scripts/lint.scm (check-patch-file-names): Adjust
file-name-length calculation.
|
|
Reported at <https://bugs.gnu.org/27943>
by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/scripts/lint.scm (%distro-directory): New variable.
(check-patch-file-names): Add check for the file name length.
* tests/lint.scm ("patches: file name too long"): New test.
|
|
* guix/ui.scm (call-with-error-handling)[manifest-entry-output*]: New
procedure. Use it when reporting collisions.
|
|
Fixes <https://bugs.gnu.org/25020>.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.
* guix/gnu-maintenance.scm (latest-ftp-release)[contains-digit?]: Remove.
Relax test as to whether to recurse into subdirectories.
|
|
Fixes <https://bugs.gnu.org/29358>.
Reported by Marius Bakke <mbakke@fastmail.com>.
* guix/ui.scm (known-variable-definition): Add 'visited' set to guard
against cycles on 2.0.
|
|
This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61.
'guix pull' would fail because (guix self) needs 'scheme-files'
from (guix discovery), which was not exported until now.
|
|
This mitigates <https://bugs.gnu.org/27284>.
* guix/self.scm: New file.
* Makefile.am (MODULES): Add it.
* build-aux/build-self.scm (libgcrypt, zlib, gzip, bzip2, xz)
(false-if-wrong-guile, package-for-current-guile, guile-json)
(guile-ssh, guile-git, guile-bytestructures): Remove.
(build): Rewrite to simply delegate to 'compiled-guix'.
* gnu/packages.scm (%distro-root-directory): Rewrite to try different
directories.
* guix/discovery.scm (guix): Export 'scheme-files'.
* guix/scripts/pull.scm (build-and-install): Split into...
(install-latest): ... this. New procedure. And...
(build-and-install): ... this, which now takes a monadic value argument.
(indirect-root-added): Remove.
(guix-pull): Call 'add-indirect-root'. Call 'build-from-source' and
pass the result to 'build-and-install'.
|
|
This makes 'latest-repository-commit' significantly more efficient and
reduces disk usage in the store.
* guix/git.scm (copy-to-store)[dot-git?]: New procedure.
Pass it as the #:select? argument to 'add-to-store'.
|