aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* discovery: Move 'file-name->module-name' to (guix modules).•••* 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). Ludovic Courtès2017-10-22
* build: Factorize module compilation in (guix build compile).•••* 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. Ludovic Courtès2017-10-22
* Use HTTPS for bioconductor.org.•••* 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. Tobias Geerinckx-Rice2017-10-21
* download: Download a nar when a VCS checkout fails.•••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. Ludovic Courtès2017-10-19
* Add (guix progress).•••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. Ludovic Courtès2017-10-19
* download: Make 'http-fetch' public.•••* 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. Ludovic Courtès2017-10-19
* download: Remove old-Guile leftovers.•••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. Ludovic Courtès2017-10-19
* guix: substitute: Report the last progress in the child process.•••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. 宋文武2017-10-17
* emacs-build-system: Change how patch-el-files substitutes commands.•••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. Christopher Baines2017-10-15
* emacs-build-system: Handle missing programs when patching.•••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. Christopher Baines2017-10-15
* build: Add the Go build system.•••* 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. Leo Famulari2017-10-12
* lint: 'home-page' checker reports permanent redirects.•••* 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. Ludovic Courtès2017-10-12
* tests: Support multiple HTTP server instances.•••* 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. Ludovic Courtès2017-10-12
* offload: Reduce the number of calls to 'machine-load'.•••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. Ludovic Courtès2017-10-12
* substitute: Close the progress port after substitute finished.•••Fixes <https://bugs.gnu.org/28756>. * guix/scripts/substitute.scm (progress-substitution): Call '(close-port progress)'. 宋文武2017-10-12
* zlib: Fix memory leak due to revealed ports not being GC'd.•••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. Ludovic Courtès2017-10-11
* import: cpan: Load (gnu packages perl) lazily.•••* guix/import/cpan.scm: Remove dependency on (gnu packages perl). (perl-package): New procedure. (%corelist, core-module?): Use it instead of referring to 'perl'. Ludovic Courtès2017-10-10
* import: pypi: Remove unneeded import.•••* guix/import/pypi.scm: Remove unneeded import. Ludovic Courtès2017-10-10
* ui: Improve reporting of missing closing parentheses.•••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. Ludovic Courtès2017-10-10
* guix: mirrors: Add kde archive mirror.•••* guix/download.scm (%mirrors)[kde]: Add kde-attic mirror. Efraim Flashner2017-10-10
* syscalls: clone: Define syscall-id for aarch64.•••* guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines. Eric Bavier2017-10-09
* lint: Remove extra newline.•••* guix/scripts/lint.scm (check-for-updates): Remove trailing "~%". Ludovic Courtès2017-10-09
* guix: lint: Add checker for new upstream versions.•••* 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. Efraim Flashner2017-10-09
* pull: Add GUIX_PULL_URL environment variable.•••* 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> Oleg Pykhalov2017-10-07
* pull: Honor 'parallel-job-count'.•••* guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'. Ludovic Courtès2017-10-07
* store: Add missing import.•••* guix/store.scm: Use (ice-9 format). Ludovic Courtès2017-10-07
* guix package: '--upgrade' no longer reverses package order.•••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'. Ludovic Courtès2017-10-07
* publish: Cache uncompressed nars as well.•••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. Ludovic Courtès2017-10-05
* guix system: Error out when passed a wrong file system UUID/label.•••* guix/scripts/system.scm (check-file-system-availability): New procedure. (perform-action): Use it. Ludovic Courtès2017-10-05
* guix: ant-build-system: Add #:test-include and #:test-exclude arguments.•••* 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. Julien Lepiller2017-10-03
* guix: ant-build-system: Add main-class support.•••* 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. Julien Lepiller2017-10-03
* guix: Revert accidentally committed changes.•••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. Ricardo Wurmus2017-09-28
* import: Add JSON importer.•••* 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. Ricardo Wurmus2017-09-28
* import: Add generic data to package converter.•••* guix/import/utils.scm (build-system-modules, lookup-build-system-by-name, specs->package-lists, source-spec->object, alist->package): New procedures. * tests/import-utils.scm: Add tests for alist->package. Ricardo Wurmus2017-09-28
* import: Add package->code.•••* guix/import/print.scm: New file. * tests/print.scm: New file. * Makefile.am (SCM_TESTS): Add new test file. (MODULES): Add print.scm. Ricardo Wurmus2017-09-28
* build-system: meson: Fix typo in variable name.•••* guix/build-system/meson.scm (lower): fix typo in glib-or-gtk?. Mohammed Sadiq2017-09-26
* http-client: Reset cache TTL upon 304 "Not Modified" responses.•••* guix/http-client.scm (http-fetch/cached)[update-cache]: Add call to 'utime' in the 304 case. Ludovic Courtès2017-09-26
* upstream: Add new GNOME updater.•••Partly fixes <https://bugs.gnu.org/28159>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/import/gnome.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (latest-gnome-release) (%gnome-updater): Remove. Ludovic Courtès2017-09-26
* upstream: Add 'url-prefix-predicate'.•••* guix/gnu-maintenance.scm (url-prefix-predicate): Move to... * guix/upstream.scm (url-prefix-predicate): ... here. Ludovic Courtès2017-09-26
* licenses: Add CC-Sampling+ 1.0.•••* guix/licenses.scm (cc-sampling-plus-1.0): New variable. Signed-off-by: Kei Kebreau <kkebreau@posteo.net> Arun Isaac2017-09-22
* download: Don't report the progress too fast.•••* guix/utils.scm (<progress-reporter>): New record type. (call-with-progress-reporter): New procedure. * guix/build/download.scm (dump-port*, rate-limited, progress-reporter/file): New procedures. (ftp-fetch, http-fetch): Use 'dump-port*'. (progress-proc): Remove procedure. * guix/scripts/substitute.scm (progress-report-port): Rewrite in terms of <progress-reporter>. (process-substitution): Adjust accordingly. 宋文武2017-09-20
* cve: Disable position recording while reading the CVE list.•••* guix/cve.scm (fetch-vulnerabilities)[read*]: New procedure. Use it in lieu of 'read'. Ludovic Courtès2017-09-19
* http-client: 'http-client/cached' uses 'If-Modified-Since'.•••* guix/http-client.scm (http-fetch/cached)[update-cache]: Add 'cache-port' parameter. Check its mtime and compute 'if-modified-since' header accordingly. Guard 'http-get-error?' and honor 304. Adjust callers of 'update-cache'. * guix/gnu-maintenance.scm (ftp.gnu.org-files): Set #:ttl to 15m. Ludovic Courtès2017-09-19
* utils: 'current-source-directory' gracefully deals with lack of location info.•••* guix/utils.scm (current-source-directory): Adjust for when 'syntax-source' returns #f. Ludovic Courtès2017-09-19
* substitute: Close the download port after substitution finished.•••* guix/scripts/substitute.scm (progress-substitution): Call 'close-port' after 'restore-file'. 宋文武2017-09-18
* build-system: Add 'meson-build-system'.•••* Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and 'guix/build/meson-build-system.scm'. * guix/build-system/meson.scm: New file. * guix/build/meson-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'meson-build-system'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Peter Mikkelsen2017-09-16
* guix system: Add 'search' command.•••* guix/scripts/system.scm (resolve-subcommand): New procedure. (process-command): Handle 'search'. (guix-system): Likewise. (show-help): Augment. * guix/scripts/system/search.scm: New file. * po/guix/POTFILES.in: Add it. * Makefile.am (MODULES): Add it. * guix/ui.scm (%text-width): Export. * doc/guix.texi (Invoking guix system): Document it. (Service Types and Services): Mention 'guix system search'. * tests/guix-system.sh: Test it. Ludovic Courtès2017-09-16
* ui: Generalize relevance computation.•••* guix/ui.scm (relevance, package-relevance): New procedures. (%package-metrics): New variable. * guix/scripts/package.scm (find-packages-by-description)[score] [package-score]: Remove. Use 'package-relevance' instead. Ludovic Courtès2017-09-16
* guix download: Honor mirrors when using '-o'.•••Previously "guix download -o x mirror://gnu/…" would fail. * guix/scripts/download.scm (download-to-file): Pass #:mirrors to 'url-fetch'. Ludovic Courtès2017-09-14
* import: cpan: Replace '(package-license perl) with 'perl-license.•••The perl-license definition is intended to avoid circular dependencies, so use this as a default when importing packages from CPAN. * guix/import/cpan.scm (string->license): Replace '(package-license perl) with 'perl-license. Christopher Baines2017-09-12