summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lint: Move the linting code to a different module.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To try and move towards making programatic access to the linting code easier, this commit separates out the linting script, from the linting functionality that it uses. * guix/scripts/lint.scm (emit-warnings): Alter to to not use match-lambda, as <lint-warning> isn't accessible. (<lint-warning>, lint-warning, make-lint-warning, lint-warning?, lint-warning-message, lint-warning-message-text, lint-warning-message-data, lint-warning-location, package-file, %make-warning make-warning, <lint-checker>, lint-checker, make-lint-checker, lint-checker?, lint-checker-name, lint-checker-description, lint-checker-check, properly-starts-sentance?, starts-with-abbreviation?, %quoted-identifier-rx, check-description-style, package-input-intersection, check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all, package-name-regexp, check-synopsis-style, probe-uri, tls-certificate-error-string, validate-uri, check-home-page, %distro-directory, check-patch-file-names, escape-quotes, official-gnu-packages*, check-gnu-synopsis+description, origin-uris, check-source, check-source-file-name, check-source-unstable-tarball, check-mirror-url, check-github-url, check-derivation, check-license, call-with-networking-fail-safe, with-networking-fail-safe, current-vulnerabilities*, package-vulnerabilities, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, %hanging-paren-rx, report-lone-parantheses, %formatting-reporters, report-formatting-issues, check-formatting, %checkers): Move to… * guix/lint.scm: … here * po/guix/POTFILES.in: Add guix/lint.scm. * Makefile.am: Add guix/lint.scm. * tests/lint.scm: Change to import (guix lint), rather than (guix scripts lint).
* scripts: lint: Separate the message warning text and data.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | So that translations can be handled more flexibly, rather than having to translate the message text within the checker. * guix/scripts/lint.scm (lint-warning-message-text, lint-warning-message-data): New procedures. (lint-warning-message): Remove record field accessor, replace with procedure that handles the lint warning data and translating the message. (make-warning): Rename to %make-warning. (make-warning): New macro. (emit-warnings): Handle the message-text and message-data fields. (check-description-style): Adjust for changes to make-warning. [check-trademarks, check-end-of-sentence-space): Adjust for changes to make-warning. (check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all, check-synopsis-style, validate-uri, check-home-page, check-patch-file-names, check-gnu-synopsis+description, check-mirror-url, check-github-url, check-derivation, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, report-lone-parentheses): Adjust for changes to make-warning.
* scripts: lint: Handle warnings with a record type.Christopher Baines2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than emiting warnings directly to a port, have the checkers return the warning or warnings. This makes it easier to use the warnings in different ways, for example, loading the data in to a database, as you can work with the <lint-warning> records directly, rather than having to parse the output to determine the package and location. * guix/scripts/lint.scm (<lint-warning>): New record type. (lint-warning): New macro. (lint-warning?, lint-warning-package, lint-warning-message, lint-warning-location, package-file, make-warning): New procedures. (call-with-accumulated-warnings, with-accumulated-warnings): Remove. (emit-warning): Rename to emit-warnings, and switch to displaying multiple warnings. (check-description-style)[check-not-empty-description, check-texinfo-markup, check-trademarks, check-quotes, check-proper-start, check-end-of-sentence-space]: Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-inputs-should-be-native, check-inputs-should-not-be-an-input-at-all): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-synopsis): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [check-not-empty]: Remove, this is handled in the match clause to avoid other warnings being emitted. [check-final-period, check-start-article, check-synopsis-length, check-proper-start, check-start-with-package-name, check-texinfo-markup]: Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [checks]: Remove check-not-empty. (validate-uri, check-home-page, check-patch-file-names, check-gnu-synopsis+description): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (check-source): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. [try-uris]: Remove. [warnings-for-uris]: New procedure, replacing try-uris. (check-source-file-name, check-source-unstable-tarball, check-mirror-url, check-github-url, check-derivation, check-vulnerabilities, check-for-updates, report-tabulations, report-trailing-white-space, report-long-line, report-lone-parentheses, report-formatting-issues, check-formatting): Switch to generating a list of warnings, and using make-warning, rather than emit-warning. (run-checkers): Call emit-warnings on the warnings returned from the checker. * tests/lint.scm (string-match-or-error, single-lint-warning-message): New procedures. (call-with-warnings, with-warnings): Remove. ("description: not a string", "description: not empty", "description: invalid Texinfo markup", "description: does not start with an upper-case letter", "description: may start with a digit", "description: may start with lower-case package name", "description: two spaces after end of sentence", "description: end-of-sentence detection with abbreviations", "description: may not contain trademark signs: ™", "description: may not contain trademark signs: ®", "description: suggest ornament instead of quotes", "synopsis: not a string", "synopsis: not empty", "synopsis: valid Texinfo markup", "synopsis: does not start with an upper-case letter", "synopsis: may start with a digit", "synopsis: ends with a period", "synopsis: ends with 'etc.'", "synopsis: starts with 'A'", "synopsis: starts with 'a'", "synopsis: starts with 'an'", "synopsis: too long", "synopsis: start with package name", "synopsis: start with package name prefix", "synopsis: start with abbreviation", "inputs: pkg-config is probably a native input", "inputs: glib:bin is probably a native input", "inputs: python-setuptools should not be an input at all (input)", "inputs: python-setuptools should not be an input at all (native-input)", "inputs: python-setuptools should not be an input at all (propagated-input)", "patches: file names", "patches: file name too long", "patches: not found", "derivation: invalid arguments", "license: invalid license", "home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 200 but short length", "home-page: 404", "home-page: 301, invalid", "home-page: 301 -> 200", "home-page: 301 -> 404", "source-file-name", "source-file-name: v prefix", "source-file-name: bad checkout", "source-file-name: good checkout", "source-file-name: valid", "source-unstable-tarball", "source-unstable-tarball: source #f", "source-unstable-tarball: valid", "source-unstable-tarball: package named archive", "source-unstable-tarball: not-github", "source-unstable-tarball: git-fetch", "source: 200", "source: 200 but short length", "source: 404", "source: 301 -> 200", "source: 301 -> 404", "mirror-url", "mirror-url: one suggestion", "github-url", "github-url: one suggestion", "github-url: already the correct github url", "cve", "cve: one vulnerability", "cve: one patched vulnerability", "cve: known safe from vulnerability", "cve: vulnerability fixed in replacement version", "cve: patched vulnerability in replacement", "formatting: lonely parentheses", "formatting: alright"): Change test-assert to test-equal, and adjust to work with the changes above. ("formatting: tabulation", "formatting: trailing white space", "formatting: long line"): Use string-match-or-error rather than string-contains.
* gnu: linux-libre: Update to 5.2.1.Mark H Weaver2019-07-15
| | | | | * gnu/packages/linux.scm (%linux-libre-version): Update to 5.2.1. (%linux-libre-hash): Update hash.
* gnu: linux-libre@4.19: Update to 4.19.59.Mark H Weaver2019-07-15
| | | | | * gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.59. (%linux-libre-4.19-hash): Update hash.
* gnu: python-cachecontrol: Do not use unstable source archive.Marius Bakke2019-07-15
| | | | * gnu/packages/python-web.scm (python-cachecontrol)[source]: Change to GIT-FETCH.
* gnu: uim-qt: Build with qt-5 support.Efraim Flashner2019-07-15
| | | | | | * gnu/packages/xorg.scm (uim-qt)[inputs]: Remove qt@4. Add qtbase, qtx11extras. [arguments]: Replace qt4 configure flags with qt5 configure flags.
* gnu: open-zwave: Use the bundled TinyXML.Ludovic Courtès2019-07-15
| | | | | | * gnu/packages/zwave.scm (open-zwave)[source](snippet): Remove code to use our own TinyXML. [inputs]: Remove TINYXML.
* remote: Make sure the user doesn't mess up with the REPL protocol.Ludovic Courtès2019-07-15
| | | | | | | Reported by zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze). * guix/remote.scm (trampoline): Wrap 'primitive-load' in 'with-output-to-port'.
* remote: Fix type error in the list of store items to send.Ludovic Courtès2019-07-15
| | | | | | | Fixes a regression introduced in 386857748097619b3b75a7bf93677b6aa742d03c. * guix/remote.scm (remote-eval): Use 'append-map', not 'map', for 'derivation-input-output-paths'.
* gnu: swayidle: Update to 1.5.Rutger Helling2019-07-15
| | | | * gnu/packages/wm.scm (swayidle): Update to 1.5.
* gnu: openrct2: Update to 0.2.3.Rutger Helling2019-07-15
| | | | * gnu/packages/games.scm (openrct2): Update to 0.2.3.
* doc: note how to install git send-emailArne Babenhauserheide2019-07-15
| | | | | | * doc/contributing.texi (git send-email): Add install instructions. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: python-aiorpcx: capitalize descriptionArne Babenhauserheide2019-07-15
| | | | | | * gnu/packages/python-web.scm (python-aiorpcx): capitalize description Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: python-aiohttp: Update to 3.5.4Arne Babenhauserheide2019-07-15
| | | | | | * gnu/packages/python-web.scm (python-aiohttp): Update to 3.5.4. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: python-aiorpcx: Update to 0.18.3Arne Babenhauserheide2019-07-15
| | | | | | * gnu/packages/python-web.scm (python-aiorpcx): Update to 0.18.3 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Build a top-level index of the manuals.Ludovic Courtès2019-07-15
| | | | | | | | | | | Suggested by Julien Lepiller. * doc/build.scm (html-manual-indexes)[build]: Add 'with-extensions'. (translate): Actually honor DOMAIN. Add call to 'bindtextdomain' for ISO-CODES. (%iso639-languages): New variable. (language-code->name, top-level-index): New procedures. Add call to 'write-html' for OUTPUT/index.html.
* doc: Generalize build procedures of HTML indexes.Ludovic Courtès2019-07-15
| | | | | | | | | * doc/build.scm (html-manual-indexes)[build](sxml-index): Generalize; add a 'title' and a 'body' parameter and honor them. (language-index): New procedure. (write-index): Remove. (write-html): New procedure. Use 'write-html' and 'language-index'.
* gnu: monero: Make tests more verbose.Guillaume Le Vaillant2019-07-15
| | | | | | | | | | Increase the verbosity of the 'check' phase to prevent 'core_tests' from hitting 'max-silent-timeout'. * gnu/packages/finance.scm (monero)[arguments]: Add '--verbose' option to 'check' phase. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: Add python-ont-fast5-api.Ricardo Wurmus2019-07-15
| | | | * gnu/packages/bioinformatics.scm (python-ont-fast5-api): New variable.
* gnu: Add python-progressbar33.Ricardo Wurmus2019-07-15
| | | | * gnu/packages/python-xyz.scm (python-progressbar33): New variable.
* gnu: rkflashtool: Update to 5.2-1.8966c4e.Efraim Flashner2019-07-15
| | | | | | * gnu/packages/flashing-tools.scm (rkflashtool): Update to 5.2-1.8966c4e. [version]: Use 'git-version'. [source]: Use 'git-file-name'.
* channels: Avoid use of 'derivation-input-path'.Ludovic Courtès2019-07-15
| | | | | * guix/channels.scm (old-style-guix?): Use 'derivation-name' rather than 'derivation-input-path'.
* gexp: 'lowered-gexp-guile' now returns a <derivation-input>.Ludovic Courtès2019-07-15
| | | | | | | | | * guix/derivations.scm (derivation-input-output-path): New procedure. * guix/gexp.scm (lower-gexp): Wrap GUILE in a <derivation-input>. (gexp->derivation): Adjust accordingly. * guix/remote.scm (remote-pipe-for-gexp, remote-eval): Adjust accordingly. * tests/gexp.scm ("lower-gexp"): Adjust accordingly.
* derivations: Deprecate the previous calling convention.Ludovic Courtès2019-07-15
| | | | | | | | | | | | We will eventually require #:inputs to be a list of <derivation-input>; store items will have to be passed as #:sources, already interned. * guix/derivations.scm (warn-about-derivation-deprecation): New procedure. (derivation): Add #:%deprecation-warning? parameter. [warn-deprecation]: New macro. [input->derivation-input, input->source]: Use it. (build-expression->derivation): Pass #:%deprecation-warning?. * po/guix/POTFILES.in: Add guix/derivations.scm.
* derivations: Update tests to use new calling convention.Ludovic Courtès2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | * tests/derivations.scm ("build derivation with 1 source"): Adjust to new 'derivation' calling convention. ("identical files are deduplicated"): Likewise. ("fixed-output-derivation?"): Likewise. ("fixed-output derivation"): Likewise. ("fixed-output derivation, recursive"): Likewise. ("derivation with a fixed-output input"): Likewise. ("multiple-output derivation"): Likewise. ("multiple-output derivation, non-alphabetic order"): Likewise. ("read-derivation vs. derivation"): Likewise. ("user of multiple-output derivation"): Likewise. ("derivation with #:references-graphs"): Likewise. ("derivation #:allowed-references, ok"): Likewise. ("derivation #:allowed-references, not allowed"): Likewise. ("derivation #:allowed-references, self allowed"): Likewise. ("derivation #:allowed-references, self not allowed"): Likewise. ("derivation #:disallowed-references, ok"): Likewise. ("derivation #:disallowed-references, not ok"): Likewise. ("derivation #:leaked-env-vars"): Likewise. ("build derivation with coreutils"): Likewise. ("map-derivation, sources"): Likewise. ("derivation with local file as input"): Remove.
* derivations: 'map-derivation' uses the new 'derivation' calling convention.Ludovic Courtès2019-07-15
| | | | | | | * guix/derivations.scm (map-derivation)[input->output-paths]: Adjust to deal with an argument that's either 'derivation-input?' or a string. [rewritten-input]: Return a <derivation-input> or a string. Pass #:inputs and #:sources to 'derivation'.
* download: Use the new 'derivation' calling convention.Ludovic Courtès2019-07-15
| | | | | * guix/download.scm (built-in-download): Pass MIRRORS and CONTENT-ADDRESSED-MIRRORS as #:sources, not #:inputs.
* gnu: guile-bootstrap: Use the new 'derivation' calling convention.Ludovic Courtès2019-07-15
| | | | | | * gnu/packages/bootstrap.scm (raw-build): In 'derivation' call, distinguish #:inputs from #:sources, passing a list of <derivation-input> as #:inputs.
* gexp: <lowered-gexp> separates sources from derivation inputs.Ludovic Courtès2019-07-15
| | | | | | | | | | | | | | | | | * guix/gexp.scm (lower-inputs): Return either <derivation-input> records or store items. (lower-reference-graphs): Return file/input pairs. (<lowered-gexp>)[sources]: New field. (lower-gexp): Adjust accordingly. (gexp->input-tuple): Remove. (gexp->derivation)[graphs-file-names]: Handle only the 'derivation-input?' and 'string?' cases. Pass #:sources to 'raw-derivation'; ensure #:inputs contains only <derivation-input> records. * guix/remote.scm (remote-eval): Adjust to the new <lowered-gexp> interface. * tests/gexp.scm ("lower-gexp"): Adjust to expect <derivation-input> records instead of <gexp-input>
* derivations: 'derivation' primitive accepts <derivation> and #:sources.Ludovic Courtès2019-07-15
| | | | | | | | This brings us closer to the <derivation> data type. * guix/derivations.scm (derivation): Add #:sources parameter. [input->derivation-input]: Add clause for 'derivation-input?'. Honor SOURCES.
* syscalls: Use 'define-as-needed' for 'AT_' constants introduced in Guile 2.2.5.Ludovic Courtès2019-07-15
| | | | | | * guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): Define using 'define-as-needed'.
* compile: Report the name of the file that cannot be compiled.Ludovic Courtès2019-07-15
| | | | | | | | | | Fixes <https://bugs.gnu.org/36640>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/build/compile.scm (call/exit-on-exception): Add 'file' parameter and honor it. (exit-on-exception): Likewise. (compile-files): Pass FILE to 'exit-on-exception'.
* gnu: linux-libre: Fix build on aarch64.Pierre Langlois2019-07-14
| | | | | * gnu/packages/linux.scm (make-linux-libre)[arguments]: Remove 'work-around-gcc-7-include-path-issue phase.
* gnu: linux-libre: Update to 5.2.Mark H Weaver2019-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/linux.scm (%linux-libre-version): Update to 5.2. (%linux-libre-hash): Update hash. * linux-libre-5.1: Rename to ... * linux-libre-5.2: ... this. Use %linux-libre-5.2-patches. * linux-libre: Switch to linux-libre-5.2. * linux-libre-arm-veyron, linux-libre-arm-generic, linux-libre-arm-omap2plus: Use %linux-libre-5.2-patches. * linux-libre-headers-5.1: Rename to ... * linux-libre-headers-5.2: ... this. * %linux-libre-5.1-patches: Rename to ... * %linux-libre-5.2-patches: ... this. * gnu/packages/aux-files/linux-libre/5.1-arm-veyron.conf, gnu/packages/aux-files/linux-libre/5.1-arm.conf, gnu/packages/aux-files/linux-libre/5.1-arm64.conf, gnu/packages/aux-files/linux-libre/5.1-i686.conf, gnu/packages/aux-files/linux-libre/5.1-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/5.2-arm-veyron.conf, gnu/packages/aux-files/linux-libre/5.2-arm.conf, gnu/packages/aux-files/linux-libre/5.2-arm64.conf, gnu/packages/aux-files/linux-libre/5.2-i686.conf, gnu/packages/aux-files/linux-libre/5.2-x86_64.conf: New files. * Makefile.am (AUX_FILES): Update accordingly.
* Revert "guix: node-build-system: Use guile-json instead of a custom parser."Julien Lepiller2019-07-14
| | | | | | | | | The effect of this change was to import the (json parser) from the host side into the build side. The solution here would be to do the equivalent of ‘with-extensions’ for gexps. Since we don't use gexps for build systems just yet, revert this for now. This reverts commit 8eb0ba532ebbebef23180e666e0607ea735f9c1a.
* gnu: Add emacs-elpher.Arun Isaac2019-07-14
| | | | * gnu/packages/emacs-xyz.scm (emacs-elpher): New variable.
* gnu: nzbget: Update to 21.0.Rutger Helling2019-07-14
| | | | * gnu/packages/networking.scm (nzbget): Update to 21.0.
* guix: node-build-system: Use guile-json instead of a custom parser.Julien Lepiller2019-07-14
| | | | | | | * guix/build/json.scm: Remove file. * Makefile.am: Remove it. * guix/build/node-build-system.scm: Use (json parser) instead of (guix build json). * guix/build-system/node.scm: Idem.
* build: Add node-build-system.Jelle Licht2019-07-14
| | | | | | | | | | * guix/build/node-build-system.scm: New file. * guix/build-system/node.scm: New file. * guix/build/json.scm: New file. * doc/guix.texi: Document it. * Makefile.am: Added new files. Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
* gnu: Add evisum.Efraim Flashner2019-07-14
| | | | * gnu/packages/enlightenment.scm (evisum): New variable.
* channels: Add optional directory to channel metadata.Jan Nieuwenhuizen2019-07-14
| | | | | | | * guix/channels.scm (<channel-metadata>): Add directory slot. Update users. (read-channel-metadata-from-source): New function. (standard-module-derivation): Use it. * doc/guix.texi (Package Modules in a Subdirectory): New subsection.
* gnu: Add s-tui.Christopher Baines2019-07-13
| | | | * gnu/packages/admin.scm (s-tui): New variable.
* gnu: python-rpy2: Update to 3.0.4-1.19868a8.Ricardo Wurmus2019-07-13
| | | | | | | | | * gnu/packages/statistics.scm (python-rpy2): Update to 3.0.4-1.19868a8. [source]: Fetch from repository. [propagated-inputs]: Add python-cffi, python-numpy, python-pandas, python-ipython, and python-tzlocal. [native-inputs]: Add python-pytest. [arguments]: Set TZ variable and use pytest to run the tests.
* doc: Update keyserver URL.Leo Famulari2019-07-13
| | | | * HACKING (Commit Access): Change keyserver URL to 'keys.openpgp.org'.
* gnu: Add pngquant.Hartmut Goebel2019-07-13
| | | | * gnu/packages/image.scm (pngquant): New variable.
* gnu: Add libimagequant.Hartmut Goebel2019-07-13
| | | | * gnu/packages/image.scm (libimagequant): New variable.
* gnu: docker-compose: Update to 1.24.1.Jacob MacDonald2019-07-13
| | | | | | * gnu/packages/docker.scm (docker-compose): Update to 1.24.1. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: python-docker-py: Update to 3.7.3.Jacob MacDonald2019-07-13
| | | | | | | | | * gnu/packages/docker.scm (python-docker-py): Update to 3.7.3. [inputs]: Use PYTHON-REQUESTS-2.20 instead of PYTHON-REQUESTS. Add PYTHON-DOCKER-PYCREDS, PYTHON-IPADDRESS, PYTHON-PARAMIKO, and PYTHON-URLLIB3-1.24. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu: python-dockerpty: Update to 0.4.1.Jacob MacDonald2019-07-13
| | | | | | * gnu/packages/docker.scm (python-dockerpty): Update to 0.4.1. Signed-off-by: Ludovic Courtès <ludo@gnu.org>