aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* 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 Othacehe2017-12-04
* 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ès2017-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ès2017-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ès2017-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ès2017-12-03
* profiles: Avoid _IO* in profile builder.•••* guix/profiles.scm (profile-derivation)[builder]: Avoid the deprecated _IO* constants. Ludovic Courtès2017-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ès2017-12-03
* 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ès2017-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ès2017-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ès2017-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ès2017-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ès2017-12-01
* progress: Add 'progress-reporter/bar'.•••* guix/progress.scm (progress-reporter/bar): New procedure. Ludovic Courtès2017-12-01
* progress: 'progress-bar' accounts for brackets.•••* guix/progress.scm (progress-bar): Subtract 2 to BAR-WIDTH to account for brackets. Ludovic Courtès2017-12-01
* progress: Factorize erase-in-line.•••* guix/progress.scm (erase-in-line): New procedure. (progress-reporter/file): Use it. Ludovic Courtès2017-12-01
* utils: Add target-arm32? procedure.•••* guix/utils.scm (target-arm32?): New exported procedure. Mathieu Othacehe2017-12-01
* 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ès2017-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 Isaac2017-11-30
* 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ès2017-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ès2017-11-29
* 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ès2017-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ès2017-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ès2017-11-28
* 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ès2017-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ès2017-11-24
* 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ès2017-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ès2017-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ès2017-11-21
* pull: Trim import list.•••* guix/scripts/pull.scm: Remove useless imports. Ludovic Courtès2017-11-21
* gexp: 'directory-union' has a #:quiet? parameter.•••* guix/gexp.scm (directory-union): Add #:quiet? and honor it. Ludovic Courtès2017-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ès2017-11-21
* 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ès2017-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ès2017-11-20
* 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ès2017-11-19
* ssh: Use (guix i18n).•••* guix/ssh.scm: Use (guix i18n) instead of (guix ui). Ludovic Courtès2017-11-19
* licenses: Add cddl1.1.•••* guix/licenses.scm (cddl1.1): New variable. Julien Lepiller2017-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 Wurmus2017-11-18
* 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 Famulari2017-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ès2017-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ès2017-11-17
* 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ès2017-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ès2017-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ès2017-11-16
* 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ès2017-11-14
* grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.•••* guix/build/graft.scm (mkdir-p*): Annotate. Leo Famulari2017-11-14
* download: Use HTTPS for the first ImageMagick mirror.•••* guix/download.scm (%mirrors)[imagemagick]: Use HTTPS for <sunsite.icm.edu.pl>. Leo Famulari2017-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 Famulari2017-11-12
* 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ès2017-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ès2017-11-11
* 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ès2017-11-10