summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
* 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.
* ui: Improve reporting of missing closing parentheses.Ludovic Courtès2017-10-10
| | | | | | | | Suggested by Ricardo Wurmus. Works around <https://bugs.gnu.org/28295>. * guix/ui.scm (report-load-error): Add case for 'read-error'. * tests/guix-system.sh: Test missing-closing-paren errors.
* guix: mirrors: Add kde archive mirror.Efraim Flashner2017-10-10
| | | | * guix/download.scm (%mirrors)[kde]: Add kde-attic mirror.
* syscalls: clone: Define syscall-id for aarch64.Eric Bavier2017-10-09
| | | | * guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines.
* lint: Remove extra newline.Ludovic Courtès2017-10-09
| | | | * guix/scripts/lint.scm (check-for-updates): Remove trailing "~%".
* guix: lint: Add checker for new upstream versions.Efraim Flashner2017-10-09
| | | | | | | | * guix/scripts/lint.scm (check-for-updates): New procedure. (%checkers): Add it. * guix/scripts/refresh.scm (importer-modules, %updaters): Move from here ... * guix/upstream.scm: ... to here.
* pull: Add GUIX_PULL_URL environment variable.Oleg Pykhalov2017-10-07
| | | | | | | | * guix/scripts/pull.scm (%repository-url): Add GUIX_PULL_URL environment variable. * doc/guix.texi (Invoking guix pull): Mention GUIX_PULL_URL. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* pull: Honor 'parallel-job-count'.Ludovic Courtès2017-10-07
| | | | | * guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'.
* store: Add missing import.Ludovic Courtès2017-10-07
| | | | * guix/store.scm: Use (ice-9 format).
* guix package: '--upgrade' no longer reverses package order.Ludovic Courtès2017-10-07
| | | | | | | | Reported by Oleg Pykhalov <go.wigust@gmail.com> at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00000.html>. * guix/scripts/package.scm (options->installable)[upgraded]: Use 'fold-right' instead of 'fold'.
* publish: Cache uncompressed nars as well.Ludovic Courtès2017-10-05
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/28664>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. * guix/scripts/publish.scm (bake-narinfo+nar): When COMPRESSION is 'none, write NAR instead of doing nothing. (make-request-handler): Use 'render-nar/cached' for /nar URLs with no compression. * tests/publish.scm ("with cache", "with cache, uncompressed"): Adjust expected result accordingly.
* guix system: Error out when passed a wrong file system UUID/label.Ludovic Courtès2017-10-05
| | | | | | * guix/scripts/system.scm (check-file-system-availability): New procedure. (perform-action): Use it.
* guix: ant-build-system: Add #:test-include and #:test-exclude arguments.Julien Lepiller2017-10-03
| | | | | | | * guix/build-system/ant.scm: Add #:test-include and #:test-exclude arguments. * guix/build/ant-build-system.scm: Generate test list from arguments. * doc/guix.texi (Build Systems): Document it.
* guix: ant-build-system: Add main-class support.Julien Lepiller2017-10-03
| | | | | | | * guix/build-system/ant.scm: New #:main-class argument * guix/build/ant-build-system.scm: Generate a manifest file with additional properties. * doc/guix.texi (Build Systems): Document it.
* guix: Revert accidentally committed changes.Ricardo Wurmus2017-09-28
| | | | | | | | This is a follow-up to commit fb1db385476bc4548d3eadea93b5dd6a346839f2. * guix/scripts/build.scm (lazy-util): Remove procedure. (options->things-to-build): Remove special case for files with ".json" extension.
* import: Add JSON importer.Ricardo Wurmus2017-09-28
| | | | | | | * doc/guix.texi (Invoking guix import): Document it. * guix/scripts/import/json.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/import.scm (importers): Add json importer.