summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2019-07-15lint: Move the linting code to a different module....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). Christopher Baines
2019-07-15scripts: lint: Separate the message warning text and data....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. Christopher Baines
2019-07-15scripts: lint: Handle warnings with a record type....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. Christopher Baines
2019-07-15gnu: linux-libre: Update to 5.2.1....* gnu/packages/linux.scm (%linux-libre-version): Update to 5.2.1. (%linux-libre-hash): Update hash. Mark H Weaver
2019-07-15gnu: linux-libre@4.19: Update to 4.19.59....* gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.59. (%linux-libre-4.19-hash): Update hash. Mark H Weaver
2019-07-15gnu: python-cachecontrol: Do not use unstable source archive....* gnu/packages/python-web.scm (python-cachecontrol)[source]: Change to GIT-FETCH. Marius Bakke
2019-07-15gnu: uim-qt: Build with qt-5 support....* gnu/packages/xorg.scm (uim-qt)[inputs]: Remove qt@4. Add qtbase, qtx11extras. [arguments]: Replace qt4 configure flags with qt5 configure flags. Efraim Flashner
2019-07-15gnu: open-zwave: Use the bundled TinyXML....* gnu/packages/zwave.scm (open-zwave)[source](snippet): Remove code to use our own TinyXML. [inputs]: Remove TINYXML. Ludovic Courtès
2019-07-15remote: Make sure the user doesn't mess up with the REPL protocol....Reported by zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze). * guix/remote.scm (trampoline): Wrap 'primitive-load' in 'with-output-to-port'. Ludovic Courtès
2019-07-15remote: Fix type error in the list of store items to send....Fixes a regression introduced in 386857748097619b3b75a7bf93677b6aa742d03c. * guix/remote.scm (remote-eval): Use 'append-map', not 'map', for 'derivation-input-output-paths'. Ludovic Courtès
2019-07-15gnu: swayidle: Update to 1.5....* gnu/packages/wm.scm (swayidle): Update to 1.5. Rutger Helling
2019-07-15gnu: openrct2: Update to 0.2.3....* gnu/packages/games.scm (openrct2): Update to 0.2.3. Rutger Helling
2019-07-15doc: note how to install git send-email...* doc/contributing.texi (git send-email): Add install instructions. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arne Babenhauserheide
2019-07-15gnu: python-aiorpcx: capitalize description...* gnu/packages/python-web.scm (python-aiorpcx): capitalize description Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arne Babenhauserheide
2019-07-15gnu: python-aiohttp: Update to 3.5.4...* gnu/packages/python-web.scm (python-aiohttp): Update to 3.5.4. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arne Babenhauserheide
2019-07-15gnu: python-aiorpcx: Update to 0.18.3...* gnu/packages/python-web.scm (python-aiorpcx): Update to 0.18.3 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arne Babenhauserheide
2019-07-15doc: Build a top-level index of the manuals....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. Ludovic Courtès
2019-07-15doc: Generalize build procedures of HTML indexes....* 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'. Ludovic Courtès
2019-07-15gnu: monero: Make tests more verbose....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> Guillaume Le Vaillant
2019-07-15gnu: Add python-ont-fast5-api....* gnu/packages/bioinformatics.scm (python-ont-fast5-api): New variable. Ricardo Wurmus
2019-07-15gnu: Add python-progressbar33....* gnu/packages/python-xyz.scm (python-progressbar33): New variable. Ricardo Wurmus
2019-07-15gnu: rkflashtool: Update to 5.2-1.8966c4e....* gnu/packages/flashing-tools.scm (rkflashtool): Update to 5.2-1.8966c4e. [version]: Use 'git-version'. [source]: Use 'git-file-name'. Efraim Flashner
2019-07-15channels: Avoid use of 'derivation-input-path'....* guix/channels.scm (old-style-guix?): Use 'derivation-name' rather than 'derivation-input-path'. Ludovic Courtès
2019-07-15gexp: 'lowered-gexp-guile' now returns a <derivation-input>....* 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. Ludovic Courtès
2019-07-15derivations: Deprecate the previous calling convention....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. Ludovic Courtès
2019-07-15derivations: Update tests to use new calling convention....* 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. Ludovic Courtès
2019-07-15derivations: 'map-derivation' uses the new 'derivation' calling convention....* 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'. Ludovic Courtès
2019-07-15download: Use the new 'derivation' calling convention....* guix/download.scm (built-in-download): Pass MIRRORS and CONTENT-ADDRESSED-MIRRORS as #:sources, not #:inputs. Ludovic Courtès
2019-07-15gnu: guile-bootstrap: Use the new 'derivation' calling convention....* gnu/packages/bootstrap.scm (raw-build): In 'derivation' call, distinguish #:inputs from #:sources, passing a list of <derivation-input> as #:inputs. Ludovic Courtès
2019-07-15gexp: <lowered-gexp> separates sources from derivation inputs....* 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> Ludovic Courtès
2019-07-15derivations: 'derivation' primitive accepts <derivation> and #:sources....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. Ludovic Courtès
2019-07-15syscalls: Use 'define-as-needed' for 'AT_' constants introduced in Guile 2.2.5....* 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'. Ludovic Courtès
2019-07-15compile: Report the name of the file that cannot be compiled....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'. Ludovic Courtès
2019-07-14gnu: linux-libre: Fix build on aarch64....* gnu/packages/linux.scm (make-linux-libre)[arguments]: Remove 'work-around-gcc-7-include-path-issue phase. Pierre Langlois
2019-07-14gnu: linux-libre: Update to 5.2....* 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. Mark H Weaver
2019-07-14Revert "guix: node-build-system: Use guile-json instead of a custom parser."...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. Julien Lepiller
2019-07-14gnu: Add emacs-elpher....* gnu/packages/emacs-xyz.scm (emacs-elpher): New variable. Arun Isaac
2019-07-14gnu: nzbget: Update to 21.0....* gnu/packages/networking.scm (nzbget): Update to 21.0. Rutger Helling
2019-07-14guix: node-build-system: Use guile-json instead of a custom parser....* 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. Julien Lepiller
2019-07-14build: Add node-build-system....* 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> Jelle Licht
2019-07-14gnu: Add evisum....* gnu/packages/enlightenment.scm (evisum): New variable. Efraim Flashner
2019-07-14channels: Add optional directory to channel metadata....* 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. Jan Nieuwenhuizen
2019-07-13gnu: Add s-tui....* gnu/packages/admin.scm (s-tui): New variable. Christopher Baines
2019-07-13gnu: python-rpy2: Update to 3.0.4-1.19868a8....* 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. Ricardo Wurmus
2019-07-13doc: Update keyserver URL....* HACKING (Commit Access): Change keyserver URL to 'keys.openpgp.org'. Leo Famulari
2019-07-13gnu: Add pngquant....* gnu/packages/image.scm (pngquant): New variable. Hartmut Goebel
2019-07-13gnu: Add libimagequant....* gnu/packages/image.scm (libimagequant): New variable. Hartmut Goebel
2019-07-13gnu: docker-compose: Update to 1.24.1....* gnu/packages/docker.scm (docker-compose): Update to 1.24.1. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jacob MacDonald
2019-07-13gnu: python-docker-py: Update to 3.7.3....* 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> Jacob MacDonald
2019-07-13gnu: python-dockerpty: Update to 0.4.1....* gnu/packages/docker.scm (python-dockerpty): Update to 0.4.1. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jacob MacDonald