summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* 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.
* graph: Remove mention of Graphviz from the summary line.Ludovic Courtès2017-10-28
| | | | | * guix/scripts/graph.scm (show-help): Remove mention of Graphviz from the summary line.
* import: elpa: Do not abort when failing to download the archive.Ludovic Courtès2017-10-28
| | | | | | | * guix/import/elpa.scm (elpa-fetch-archive): Use 'http-fetch/cached' directly instead of 'call-with-downloaded-file'. This ensures we don't just abort when networking access is lacking, which is required to allow 'guix refresh -c refresh' to proceed.
* import: github: Gracefully handle multiple-URL origins.Ludovic Courtès2017-10-28
| | | | | * guix/import/github.scm (latest-release)[origin-github-uri]: New procedure. Use it.
* lint: 'refresh' gracefully handles lack of networking access.Ludovic Courtès2017-10-28
| | | | | * guix/scripts/lint.scm (check-for-updates): Wrap 'package-latest-release*' call in 'with-networking-fail-safe'.
* lint: Extract network-related exception handling.Ludovic Courtès2017-10-28
| | | | | | * guix/scripts/lint.scm (call-with-networking-fail-safe): New procedure. (with-networking-fail-safe): New macro. (current-vulnerabilities*): Rewrite in terms of 'with-networking-fail-safe'.
* scripts: Factorize option parsing sans 'GUIX_BUILD_OPTIONS'.Ludovic Courtès2017-10-28
| | | | | | | | | | | | | | * guix/scripts.scm (parse-command-line): Add #:build-options? parameter and honor it. * guix/scripts/challenge.scm (guix-challenge): Use 'parse-command-line' with #:build-options? #f instead of 'args-fold*'. * guix/scripts/gc.scm (guix-gc): Likewise. * guix/scripts/graph.scm (guix-graph): Likewise. * guix/scripts/hash.scm (guix-hash): Likewise. * guix/scripts/lint.scm (guix-lint): Likewise. * guix/scripts/refresh.scm (guix-refresh): Likewise. * guix/scripts/size.scm (guix-size): Likewise. * guix/scripts/weather.scm (guix-weather): Likewise.
* scripts: Use 'args-fold*' for command that do not honor build flags.Ludovic Courtès2017-10-27
| | | | | | | | | | Fixes <https://bugs.gnu.org/28984>. Reported by Eric Bavier. * guix/scripts/challenge.scm (guix-challenge): Use 'args-fold*' instead of 'parse-command-line'. * guix/scripts/size.scm (guix-size): Likewise. * guix/scripts/weather.scm (guix-weather): Likewise.
* build-system/go: Fix installation path of executable files.Leo Famulari2017-10-26
| | | | * guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly.
* challenge: Display an overall summary.Ludovic Courtès2017-10-25
| | | | | | | * guix/scripts/challenge.scm (summarize-report-list): New procedure. (guix-challenge): Use it. * doc/guix.texi (Invoking guix challenge): Adjust command output in example.
* substitute: Don't send more than 1000 requests in a row.Ludovic Courtès2017-10-25
| | | | | | | | Fixes <https://bugs.gnu.org/28731>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * guix/scripts/substitute.scm (at-most): New procedure. (http-multiple-get): Use it to send at most 1000 requests at once.
* guix package: '--list-available' does not show superseded packages.Ludovic Courtès2017-10-25
| | | | | * guix/scripts/package.scm (process-query) <'list-available>: Filter out P if it matches 'package-superseded'.
* build-system/go: Parameterize installing the source code.Leo Famulari2017-10-24
| | | | | | * guix/build-system/go.scm (go-build): Add install-source? key. * guix/build/go-build-system.scm (install-source): Check if install-source? is true.
* build-system/go: Strip the Go binaries with the native tool.Leo Famulari2017-10-24
| | | | | * guix/build/go-build-system.scm (build): Tell the Go linker to strip some symbol tables and debugging information.
* pull: Hide compilation warnings.Ludovic Courtès2017-10-23
| | | | | * guix/build/pull.scm (build-guix): Bind 'current-warning-port' to a void port.
* pull: Add (guix build compile) to the mix.Ludovic Courtès2017-10-23
| | | | | | | | | | | Fixes <https://bugs.gnu.org/28956>. Reported by Leo Famulari <leo@famulari.name>. * build-aux/build-self.scm (build): Add (guix build compile) to #:modules. * guix/build/pull.scm (build-guix): Wrap 'compile-files' call in 'with-directory-excursion'. Strip "./" from FILES when passing it to 'compile-files'.
* gexp: Add 'directory-union'.Ludovic Courtès2017-10-22
| | | | | | * gnu/services.scm (directory-union): Move to... * guix/gexp.scm (directory-union): ... here. New procedure. * doc/guix.texi (G-Expressions): Document it.
* gexp: Add 'file-union'.Ludovic Courtès2017-10-22
| | | | | | * gnu/services.scm (file-union): Move to... * guix/gexp.scm (file-union): ... here. New procedure. * doc/guix.texi (G-Expressions): Document it.
* discovery: Move 'file-name->module-name' to (guix modules).Ludovic Courtès2017-10-22
| | | | | | * guix/discovery.scm (file-name->module-name): Move to... * guix/modules.scm (file-name->module-name): ... here. * guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
* build: Factorize module compilation in (guix build compile).Ludovic Courtès2017-10-22
| | | | | | | | | | | | | | * guix/build/compile.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/compile-all.scm: Use it. (warnings, file->module, load-module-file) (%default-optimizations, %lightweight-optimizations) (optimization-options, compile-file*): Remove. <top level>: Use 'compile-files'. * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations, optimization-options): Remove. (build-guix): Rewrite as a call to 'compile-files'. * guix/discovery.scm (file-name->module-name): Export.
* Use HTTPS for bioconductor.org.Tobias Geerinckx-Rice2017-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi (Invoking guix import, Invoking guix refresh): Use HTTPS for bioconductor.org URLs. * gnu/packages/bioinformatics.scm (r-annotate, r-geneplotter, r-genefilter) (r-deseq2, r-dexseq, r-annotationforge, r-rbgl, r-gseabase, r-category) (r-gostats, r-shortread, r-biocgenerics, r-biocinstaller, r-biocviews) (r-biocstyle, r-bioccheck, r-s4vectors, r-iranges, r-genomeinfodbdata) (r-genomeinfodb, r-xvector, r-genomicranges, r-biobase, r-annotationdbi) (r-biomart, r-biocparallel, r-biostrings, r-rsamtools, r-delayedarray) (r-summarizedexperiment, r-genomicalignments, r-rtracklayer) (r-genomicfeatures, r-graph, r-topgo, r-bsgenome, r-impute, r-seqpattern) (r-seqlogo, r-motifrg, r-bamsignals, r-mutationalpatterns, r-tximport) (r-rhdf5, r-chipseq, r-sva, r-affy, r-vsn, r-mzid, r-msnid) (r-interactivedisplaybase, r-annotationhub)[home-page]: Likewise. * gnu/packages/bioinformatics.scm (r-txdb-hsapiens-ucsc-hg19-knowngene) (r-go-db, r-bsgenome-hsapiens-1000genomes-hs37d5, r-org-hs-eg-db) (r-org-ce-eg-db, r-org-dm-eg-db, r-org-mm-eg-db) (r-bsgenome-hsapiens-ucsc-hg19, r-bsgenome-mmusculus-ucsc-mm9) (r-bsgenome-mmusculus-ucsc-mm10, r-txdb-mmusculus-ucsc-mm10-knowngene) (r-bsgenome-celegans-ucsc-ce6, r-bsgenome-celegans-ucsc-ce10) (r-bsgenome-dmelanogaster-ucsc-dm3, r-copyhelper)[source, home-page]: Likewise. * gnu/packages/statistics.scm (r-rcurl)[source]: Likewise. * guix/build-system/r.scm (bioconductor-uri): Likewise. * guix/import/cran.scm (%cran-url, bioconductor-package?) (bioconductor-data-package?, bioconductor-experiment-package?): Likewise.
* download: Download a nar when a VCS checkout fails.Ludovic Courtès2017-10-19
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/28709>. * guix/build/download-nar.scm: New file. * Makefile.am (MODULES): Add it. * guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New variables. [build]: Use MODULES. Add call to 'download-nar'. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise.
* Add (guix progress).Ludovic Courtès2017-10-19
| | | | | | | | | | | | | | | | | | Among other things, this removes (guix utils), (guix ui), (guix config), etc. from the closure of (guix build download), as was the case since 798648515b77507c242752457b4dc17c155bad6e. * guix/utils.scm (<progress-reporter>, call-with-progress-reporter): Move to... * guix/progress.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build/download.scm (current-terminal-columns) (nearest-exact-integer, duration->seconds, seconds->string) (byte-count->string, progress-bar, string-pad-middle) (rate-limited, progress-reporter/file, dump-port*) (time-monotonic): Move to progress.scm. * guix/scripts/download.scm: Adjust accordingly. * guix/scripts/substitute.scm: Likewise.
* download: Make 'http-fetch' public.Ludovic Courtès2017-10-19
| | | | | | * guix/build/download.scm (http-fetch): Remove 'file' parameter. Change to return an input port and the content-length. Make public. (url-fetch): Adjust accordingly.
* download: Remove old-Guile leftovers.Ludovic Courtès2017-10-19
| | | | | | | This is a followup to 36626c556ed75219bce196ac93d148f6b9af984c. * guix/build/download.scm (http-fetch): Rename 'port-or-bv' to 'port'. Assume (port? port) is always true, and remove other branch.
* guix: substitute: Report the last progress in the child process.宋文武2017-10-17
| | | | | | | | | Fixes <https://bugs.gnu.org/28756>. * guix/utils.scm (filtered-port): Close the 'input' port for the current process, and close it upon exit in the child process. * guix/scripts/substitute.scm (progress-substitution): Display "\n\n" after the reporter has finished.