summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* 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.
* emacs-build-system: Change how patch-el-files substitutes commands.Christopher Baines2017-10-15
| | | | | | | | | | | | | | | | Previously the regex would match from /bin/ to a closing quote. However, this is greedy, so will match up until the last ". This causes problems when there are several quotes on the same line, for example: org-effectiveness.el: 196: (call-process "/bin/bash" nil t nil "-c" strplot) Therefore, change . to \S so that it doesn't include whitespace characters. Changing to a lazy quantifier would be an option, if that were supported. * guix/build/emacs-build-system.scm (patch-el-files): Change the regular expression used.
* emacs-build-system: Handle missing programs when patching.Christopher Baines2017-10-15
| | | | | | | | | Previously the string-append here would error, which isn't useful as it doesn't tell you which command couldn't be found. To make the error actionable, catch it earlier, and explicitly error. * guix/build/emacs-build-system.scm (patch-el-files): Handle (which cmd) returning #f.
* build: Add the Go build system.Leo Famulari2017-10-12
| | | | | | | * guix/build-system/go.scm, guix/build/go-build-system.scm: New files. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document the go-build-system.
* lint: 'home-page' checker reports permanent redirects.Ludovic Courtès2017-10-12
| | | | | | | | * guix/scripts/lint.scm (probe-uri): Add special case for HTTP 301. (validate-uri): Likewise. * tests/lint.scm ("home-page: 301, invalid") ("home-page: 301 -> 200", "home-page: 301 -> 404") ("source: 301 -> 200", "source: 301 -> 404"): New tests.
* tests: Support multiple HTTP server instances.Ludovic Courtès2017-10-12
| | | | | | | | | | | | | * guix/tests/http.scm (%http-server-socket): Turn into... (open-http-server-socket): ... this procedure. (http-server-can-listen?): New procedure. (http-write, %http-server-lock, %http-server-ready) (http-open, stub-http-server): Move to 'call-with-http-server' body. (call-with-http-server): Add #:headers parameter. (with-http-server): Add an additional pattern with headers. * tests/derivations.scm: Use (http-server-can-listen?) instead of (force %http-server-socket). * tests/lint.scm: Likewise.
* offload: Reduce the number of calls to 'machine-load'.Ludovic Courtès2017-10-12
| | | | | | | | | | | | | | | Previously we would call 'machine-load' once per machine, which was very costly when there were many machines. Now we arrange to call it only once on average (when all the machines have the same 'speed' value). * guix/scripts/offload.scm (random-seed, shuffle): New procedures. (choose-build-machine)[machines+slots+loads]: Rename to... [machines+slots]: ... this. Remove load from the tuples therein. [undecorate]: Adjust accordingly. [machine-less-loaded-or-faster?]: Remove. [machine-faster?]: New procedure. Sort MACHINES+SLOTS according to 'machine-faster?'. Call 'machine-load?' as the last thing.
* substitute: Close the progress port after substitute finished.宋文武2017-10-12
| | | | | | | Fixes <https://bugs.gnu.org/28756>. * guix/scripts/substitute.scm (progress-substitution): Call '(close-port progress)'.
* zlib: Fix memory leak due to revealed ports not being GC'd.Ludovic Courtès2017-10-11
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/28784>. This mostly reverts 81a0f1cdf12e7bcc34c1203f034a323fa8f52cf5, which introduced a regression: revealed ports are *never* GC'd (contrary to what Guile's manual suggests). In addition to the revert, 'close-procedure' now explicitly swallows EBADF errors when 'close-port' is called. * guix/zlib.scm (close-procedure): New procedure. (make-gzip-input-port)[gzfile]: Use 'fileno' instead of 'port->fdes'. Use 'close-procedure' instead of 'gzclose'. (make-gzip-output-port): Likewise. * tests/zlib.scm ("compression/decompression pipe"): Use 'port-closed?' to determine whether PARENT has been closed.
* import: cpan: Load (gnu packages perl) lazily.Ludovic Courtès2017-10-10
| | | | | | * guix/import/cpan.scm: Remove dependency on (gnu packages perl). (perl-package): New procedure. (%corelist, core-module?): Use it instead of referring to 'perl'.
* import: pypi: Remove unneeded import.Ludovic Courtès2017-10-10
| | | | * guix/import/pypi.scm: Remove unneeded import.