Age | Commit message (Expand) | Author |
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 |
2017-11-28 | lint: Adjust file-name length test for out-of-tree file names....* guix/scripts/lint.scm (check-patch-file-names): Adjust
file-name-length calculation.
| Ludovic Courtès |
2017-11-28 | lint: 'patch-file-names' checks for file name length....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.
| Ludovic Courtès |
2017-11-28 | ui: Avoid "pkg:out" syntax when reporting collisions....* guix/ui.scm (call-with-error-handling)[manifest-entry-output*]: New
procedure. Use it when reporting collisions.
| Ludovic Courtès |
2017-11-24 | gnu-maintenance: Relax recursion cutoff in 'latest-ftp-release'....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.
| Ludovic Courtès |
2017-11-24 | ui: 'known-variable-definition' protects against module cycles....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.
| Ludovic Courtès |
2017-11-21 | Revert "Add (guix self) and use it when pulling."...This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61.
'guix pull' would fail because (guix self) needs 'scheme-files'
from (guix discovery), which was not exported until now.
| Ludovic Courtès |
2017-11-21 | Add (guix self) and use it when pulling....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'.
| Ludovic Courtès |
2017-11-21 | git: Do not add '.git' to the store....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'.
| Ludovic Courtès |
2017-11-21 | pull: Trim import list....* guix/scripts/pull.scm: Remove useless imports.
| Ludovic Courtès |
2017-11-21 | gexp: 'directory-union' has a #:quiet? parameter....* guix/gexp.scm (directory-union): Add #:quiet? and honor it.
| Ludovic Courtès |
2017-11-21 | union: Parametrize the symlink procedure ....* guix/gexp.scm (directory-union): Add #:hard-links and honor it.
* guix/build/union.scm (union-build): Add #:symlink parameter.
| Ludovic Courtès |
2017-11-20 | compile: Put an upper bound on the number of workers....* guix/build/compile.scm (compile-files): Don't use more than 8 workers.
| Ludovic Courtès |
2017-11-20 | Add semicolon in commands that set GUIX_PROFILE....Fixes <https://bugs.gnu.org/28223>.
Reported by Rosebud Uplink <Uplink.Introversion@outlook.com>.
* doc/guix.texi (Binary Installation): Add missing semicolon after
'GUIX_PROFILE=' line.
(Invoking guix package): Likewise.
* gnu/system.scm (operating-system-etc-service)[profile]: Likewise.
* guix/build/profiles.scm (build-etc/profile): Likewise.
| Ludovic Courtès |
2017-11-19 | zlib: Fix race condition when closing gzip ports....Fixes <https://bugs.gnu.org/29335>.
* guix/zlib.scm (close-procedure): Remove.
(make-gzip-input-port): Do (dup (fileno port)) to get a file descriptor
for 'gzdopen'. Close PORT before returning. Use 'gzclose' as the
'close' procedure of the returned port.
(make-gzip-output-port): Likewise.
| Ludovic Courtès |
2017-11-19 | ssh: Use (guix i18n)....* guix/ssh.scm: Use (guix i18n) instead of (guix ui).
| Ludovic Courtès |
2017-11-18 | licenses: Add cddl1.1....* guix/licenses.scm (cddl1.1): New variable.
| Julien Lepiller |
2017-11-18 | build-system: texlive: Only make a union of directories....* guix/build/texlive-build-system.scm (configure): Filter the input
directories to ensure that source tarballs are excluded.
| Ricardo Wurmus |
2017-11-17 | build-system/go: Don't let Go executables refer to the Go compiler....* guix/build/go-build-system.scm (remove-store-reference, remove-go-references):
New procedures.
(%standard-phases): Add 'remove-go-references' phase.
* guix/build-system/go.scm (go-build): Add allow-go-reference? key.
| Leo Famulari |
2017-11-17 | workers: Display backtrace in pre-unwind handler....* guix/workers.scm (worker-thunk): Add (const #f) as the 'catch'
handler, and move previous handler as pre-unwind handler. Protect
against 'make-stack' returning #f.
| Ludovic Courtès |
2017-11-17 | workers: 'pool-idle?' returns true only if the workers are idle....Fixes <https://bugs.gnu.org/28779>.
Reported by Eric Bavier <bavier@cray.com>.
* guix/workers.scm (<pool>)[busy]: New field.
(worker-thunk): Add #:idle and #:busy and use them.
(make-pool): Pass #:busy and #:idle to 'worker-thunk'. Pass a 'busy'
value to '%make-pool'.
* guix/workers.scm (pool-idle?): Check whether 'pool-busy' returns zero
and adjust docstring.
| Ludovic Courtès |
2017-11-16 | ui: Add source file name to the package search metrics....* guix/ui.scm (%package-metrics): Include 'package-location'. Increase
score of the other fields.
| Ludovic Courtès |
2017-11-16 | cve: Use 'http-fetch/cached' instead of having custom caching....That way CVE fetching benefits from 'If-Modified-Since' handling.
* guix/http-client.scm (http-fetch/cached): Add #:write-cache and
#:cache-miss parameters and honor them.
* guix/cve.scm (%current-year-ttl, %past-year-ttl): Reduce.
(call-with-cve-port): Remove.
(write-cache): New procedure.
(fetch-vulnerabilities): Rewrite in terms of 'http-fetch/cached'.
| Ludovic Courtès |
2017-11-16 | download: Improve efficiency of 'write-request' over TLS....This is another instance of <https://bugs.gnu.org/22966>.
The Microsoft-IIS/7.5 server at static.nvd.nist.gov would sometimes hang
when receiving our requests byte by byte.
* guix/build/download.scm (tls-wrap) [!guile-2.0]: Add 'setvbuf' call.
| Ludovic Courtès |
2017-11-14 | download: Pass the timeout to 'ftp-retr'....This ensures the timeout applies when connecting to the port returned by
PASV.
* guix/ftp-client.scm (ftp-list): Add #:timeout parameter. Use
'connect*' instead of 'connect' and pass TIMEOUT.
(ftp-retr): Likewise.
* guix/build/download.scm (ftp-fetch): Pass TIMEOUT to 'ftp-retr'.
| Ludovic Courtès |
2017-11-14 | grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>....* guix/build/graft.scm (mkdir-p*): Annotate.
| Leo Famulari |
2017-11-12 | download: Use HTTPS for the first ImageMagick mirror....* guix/download.scm (%mirrors)[imagemagick]: Use HTTPS for <sunsite.icm.edu.pl>.
| Leo Famulari |
2017-11-12 | download: Try FTP servers last....* guix/download.scm (%mirrors)[savannah, kernel.org, apache, xorg, imagemagick]:
Re-arrange so that FTP is last.
| Leo Famulari |
2017-11-11 | git: Check whether 'clone-init-options' is defined....This is a followup to 195f0d05c3f64e17e84b2683a7045a14ec578d61.
* guix/git.scm (clone*): Check whether 'clone-init-options' is defined
before using it.
| Ludovic Courtès |
2017-11-11 | download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2....Reported by Mark H Weaver <mhw@netris.org>
at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00190.html>.
* guix/build/download.scm (guile-2.2) [write-request-line]: Backport
Guile commit 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143.
| Ludovic Courtès |
2017-11-10 | download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2....Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>
at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>.
* guix/build/download.scm (write-request-line) [guile-2.2]: New
procedure.
| Ludovic Courtès |
2017-11-10 | git: Work around wrong default argument of 'clone'....Fixes <https://bugs.gnu.org/29238>.
Reported by Benjamin Andresen <benny@in-ulm.de>.
* guix/git.scm (clone*): Pass second argument to 'clone'.
| Ludovic Courtès |
2017-11-09 | ui: Add an 'unbound-variable' exception printer....* guix/ui.scm (print-unbound-variable-error): New variable.
Use it as the 'unbound-variable' printer.
| Ludovic Courtès |
2017-11-09 | ui: Provide hints for unbound-variable errors....* guix/ui.scm (known-variable-definition): New procedure.
(report-load-error): Handle 'unbound-variable'.
| Ludovic Courtès |
2017-11-09 | ui: Add 'display-hint'....* guix/ui.scm (known-variable-definition): New procedure.
(report-load-error): Use it.
| Ludovic Courtès |