summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* scripts: system: Add support for container network sharing.release_14Christopher Baines2017-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a port of the functionality in the Guix environment command to the guix system container command. This requires additional changes to the operating-system definitions used, in particular, networking related services may need removing if the host network is shared. * guix/scripts/system.scm (system-derivation-for-action): Add #:container-shared-network? argument. (perform-action): Add #:container-shared-network? argument. (show-help): Add "-N, --network" help information. (%options): Add network option. (process-action): Call perform-action with #:container-shared-network?. * gnu/system/linux-container.scm (%network-configuration-files): New variable. (container-script): Add support for returning a container script that shares the host network. * gnu/system.scm (essential-services): Add #:container-shared-network? argument. (operating-system-services): Add #:container-shared-network? argument. (operating-system-etc-service): Add #:container-shared-network? argument, and support for ommiting some configuration if the network is shared. (operating-system-activation-script): Add #:container-shared-network? argument, and pass this through to the operating-system-services procedure. (operating-system-boot-script): Add #:container-shared-network? argument, and pass this through to the operating-system-services procedure. (operating-system-derivation): Add the #:container-shared-network? argument, and pass this through to the operating-system-services procedure. (operating-system-profile): Add the #:container-shared-network? argument, and pass this through to the operating-system-services procedure.
* Alter the GitHub updater to use git tagsChristopher Baines2017-11-27
| | | | | Just using tags is the most consistent way of getting releases for GOV.UK related software.
* gnu-maintenance: Relax recursion cutoff in 'latest-ftp-release'.Ludovic Courtès2017-11-24
| | | | | | | | 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.
* ui: 'known-variable-definition' protects against module cycles.Ludovic Courtès2017-11-24
| | | | | | | | 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.
* Revert "Add (guix self) and use it when pulling."Ludovic Courtès2017-11-21
| | | | | | | This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61. 'guix pull' would fail because (guix self) needs 'scheme-files' from (guix discovery), which was not exported until now.
* Add (guix self) and use it when pulling.Ludovic Courtès2017-11-21
| | | | | | | | | | | | | | | | | | | | 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'.
* git: Do not add '.git' to the store.Ludovic Courtès2017-11-21
| | | | | | | | 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'.
* pull: Trim import list.Ludovic Courtès2017-11-21
| | | | * guix/scripts/pull.scm: Remove useless imports.
* gexp: 'directory-union' has a #:quiet? parameter.Ludovic Courtès2017-11-21
| | | | * guix/gexp.scm (directory-union): Add #:quiet? and honor it.
* union: Parametrize the symlink procedure .Ludovic Courtès2017-11-21
| | | | | * guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter.
* compile: Put an upper bound on the number of workers.Ludovic Courtès2017-11-20
| | | | * guix/build/compile.scm (compile-files): Don't use more than 8 workers.
* Add semicolon in commands that set GUIX_PROFILE.Ludovic Courtès2017-11-20
| | | | | | | | | | | 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.
* zlib: Fix race condition when closing gzip ports.Ludovic Courtès2017-11-19
| | | | | | | | | | 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.
* ssh: Use (guix i18n).Ludovic Courtès2017-11-19
| | | | * guix/ssh.scm: Use (guix i18n) instead of (guix ui).
* licenses: Add cddl1.1.Julien Lepiller2017-11-18
| | | | * guix/licenses.scm (cddl1.1): New variable.
* build-system: texlive: Only make a union of directories.Ricardo Wurmus2017-11-18
| | | | | * guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded.
* build-system/go: Don't let Go executables refer to the Go compiler.Leo Famulari2017-11-17
| | | | | | | * 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.
* workers: Display backtrace in pre-unwind handler.Ludovic Courtès2017-11-17
| | | | | | * 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.
* workers: 'pool-idle?' returns true only if the workers are idle.Ludovic Courtès2017-11-17
| | | | | | | | | | | | 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.
* ui: Add source file name to the package search metrics.Ludovic Courtès2017-11-16
| | | | | * guix/ui.scm (%package-metrics): Include 'package-location'. Increase score of the other fields.
* cve: Use 'http-fetch/cached' instead of having custom caching.Ludovic Courtès2017-11-16
| | | | | | | | | | | 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'.
* download: Improve efficiency of 'write-request' over TLS.Ludovic Courtès2017-11-16
| | | | | | | | 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.
* download: Pass the timeout to 'ftp-retr'.Ludovic Courtès2017-11-14
| | | | | | | | | | 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'.
* grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.Leo Famulari2017-11-14
| | | | * guix/build/graft.scm (mkdir-p*): Annotate.
* download: Use HTTPS for the first ImageMagick mirror.Leo Famulari2017-11-12
| | | | * guix/download.scm (%mirrors)[imagemagick]: Use HTTPS for <sunsite.icm.edu.pl>.
* download: Try FTP servers last.Leo Famulari2017-11-12
| | | | | * guix/download.scm (%mirrors)[savannah, kernel.org, apache, xorg, imagemagick]: Re-arrange so that FTP is last.
* git: Check whether 'clone-init-options' is defined.Ludovic Courtès2017-11-11
| | | | | | | This is a followup to 195f0d05c3f64e17e84b2683a7045a14ec578d61. * guix/git.scm (clone*): Check whether 'clone-init-options' is defined before using it.
* download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-11
| | | | | | | | 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.
* download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-10
| | | | | | | | 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.
* git: Work around wrong default argument of 'clone'.Ludovic Courtès2017-11-10
| | | | | | | Fixes <https://bugs.gnu.org/29238>. Reported by Benjamin Andresen <benny@in-ulm.de>. * guix/git.scm (clone*): Pass second argument to 'clone'.
* ui: Add an 'unbound-variable' exception printer.Ludovic Courtès2017-11-09
| | | | | * guix/ui.scm (print-unbound-variable-error): New variable. Use it as the 'unbound-variable' printer.
* ui: Provide hints for unbound-variable errors.Ludovic Courtès2017-11-09
| | | | | * guix/ui.scm (known-variable-definition): New procedure. (report-load-error): Handle 'unbound-variable'.
* ui: Add 'display-hint'.Ludovic Courtès2017-11-09
| | | | | * guix/ui.scm (known-variable-definition): New procedure. (report-load-error): Use it.
* ui: Define and honor '&error-location' and '&fix-hint' conditions.Ludovic Courtès2017-11-08
| | | | | | * guix/utils.scm (&error-location, &fix-hint): New condition types. * guix/ui.scm (report-load-error): Handle them. (call-with-error-handling): Honor '&error-location'.
* ui: Introduce (guix i18n).Ludovic Courtès2017-11-08
| | | | | | * guix/ui.scm (G_, N_, _P, %gettext-domain, %package-text-domain): Move to... * guix/i18n.scm: ... here. New file.
* guix: Add archive support for bioconductor-uri.Ricardo Wurmus2017-11-07
| | | | | | * guix/build-system/r.scm (bioconductor-uri): Also return the archive URL. * guix/import/cran.scm (latest-bioconductor-release, fetch-description): Adjust because bioconductor-uri now returns a list.
* import: cran: Use Bioconductor 3.6 helpers.Ricardo Wurmus2017-11-07
| | | | | | | * guix/import/cran.scm (bioconductor-mirror-url): Remove procedure. (fetch-description): Extract DESCRIPTION file from tarball for Bioconductor packages. (latest-bioconductor-release): Use latest-bioconductor-package-version.
* import: cran: Add support for Bioconductor 3.6.Ricardo Wurmus2017-11-07
| | | | | | | * guix/import/cran.scm (%bioconductor-version, %bioconductor-packages-list-url): New variables. (bioconductor-packages-list, latest-bioconductor-package-version): New procedures.
* import: utils: Add string helpers.Ricardo Wurmus2017-11-07
| | | | * guix/import/utils.scm (read-lines, chunk-lines): New procedures.
* refresh: Account for hidden packages.Ludovic Courtès2017-11-07
| | | | | | | | Suggested by Marius Bakke <mbakke@fastmail.com> in <https://bugs.gnu.org/29177>. * guix/scripts/refresh.scm (all-packages): Pass #:select? to 'fold-packages'.
* compile: Fix VPATH builds.Ludovic Courtès2017-11-07
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/29091>. Reported by Eric Bavier <bavier@cray.com>. * guix/build/compile.scm (relative-file): New procedure. (load-files): Use it before calling 'file-name->module-name'. (compile-files): Likewise before calling 'scm->go'. * guix/build/pull.scm (build-guix): Remove 'with-directory-excursion' and file name hack from ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8. Pass OUT to 'all-scheme-files'.
* Fix ambiguous imports.Ludovic Courtès2017-11-07
| | | | | * gnu/packages/ocaml.scm: Hide 'zip' from (srfi srfi-1). * guix/git.scm: Select 'mkdir-p' from (guix build utils).
* guix: records: Add match-record.nee2017-11-05
| | | | | | * guix/records.scm: New syntax-rule. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* download: Refresh the cpan.org mirror list.Tobias Geerinckx-Rice2017-11-01
| | | | | * guix/download.scm (%mirrors)[cpan]: Update the list of CPAN mirrors (of which several are dead) with a more-or-less geographically diverse selection.
* Revert "import: cpan: Use HTTPS for home pages."Tobias Geerinckx-Rice2017-10-30
| | | | | This reverts commit 29f7bf59d5d4d4b848eaedc6766bb4e02cae20d3: HTTPS support at search.cpan.org is unreliable, at best. Don't rely on it.
* import: cpan: Use HTTPS for home pages.Tobias Geerinckx-Rice2017-10-29
| | | | | * guix/import/cpan.scm (cpan-home): Use HTTPS. * tests/cpan.scm ("cpan->guix-package"): Expect it.
* import: cpan: Actually use CPAN-HOME.Tobias Geerinckx-Rice2017-10-29
| | | | * guix/import/cpan.scm (cpan-module->sexp): Use the CPAN-HOME procedure.
* import: cpan: Add trailing "/" to CPAN-HOME.Tobias Geerinckx-Rice2017-10-29
| | | | | | Prevent regression after commit e4bc1727302b0e1e255ea5cf4e2ccf33cafe7296. * guix/import/cpan.scm (cpan-home): Add trailing "/".
* import: cpan: Add trailing "/" on home-page.Eric Bavier2017-10-28
| | | | | | | | This appeases 'guix lint', which otherwise complains about permanent redirects. * guix/import/cpan.scm (cpan-module->sexp): Add trailing "/" on home-page. * tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.
* import: cpan: Propagate imported dependencies.Eric Bavier2017-10-28
| | | | | | | This is most often the need for perl module dependencies. * guix/import/cpan.scm (cpan-module->sexp): 'inputs -> 'propagated-inputs. * tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.