Commit Graph

45849 Commits

Author SHA1 Message Date
Christopher Baines 50fc2384fe
scripts: 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.
2019-07-15 22:32:18 +01:00
Mark H Weaver 5b524f448c
gnu: linux-libre: Update to 5.2.1.
* gnu/packages/linux.scm (%linux-libre-version): Update to 5.2.1.
(%linux-libre-hash): Update hash.
2019-07-15 15:26:40 -04:00
Mark H Weaver ec92941a82
gnu: 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.
2019-07-15 15:25:19 -04:00
Marius Bakke 6e00b1ea62
gnu: python-cachecontrol: Do not use unstable source archive.
* gnu/packages/python-web.scm (python-cachecontrol)[source]: Change to GIT-FETCH.
2019-07-15 20:38:00 +02:00
Efraim Flashner 9db2cad68d
gnu: 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.
2019-07-15 21:17:26 +03:00
Ludovic Courtès e8fc56a3d2
gnu: open-zwave: Use the bundled TinyXML.
* gnu/packages/zwave.scm (open-zwave)[source](snippet): Remove code to
use our own TinyXML.
[inputs]: Remove TINYXML.
2019-07-15 18:27:23 +02:00
Ludovic Courtès 6f8eb9f1d8
remote: 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'.
2019-07-15 18:27:22 +02:00
Ludovic Courtès 5db07b971d
remote: Fix type error in the list of store items to send.
Fixes a regression introduced in 3868577480.

* guix/remote.scm (remote-eval): Use 'append-map', not 'map', for
'derivation-input-output-paths'.
2019-07-15 18:27:22 +02:00
Rutger Helling e6bd575a72
gnu: swayidle: Update to 1.5.
* gnu/packages/wm.scm (swayidle): Update to 1.5.
2019-07-15 14:22:24 +02:00
Rutger Helling 6862766cf2
gnu: openrct2: Update to 0.2.3.
* gnu/packages/games.scm (openrct2): Update to 0.2.3.
2019-07-15 14:22:24 +02:00
Arne Babenhauserheide fb8b99a5f5
doc: 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>
2019-07-15 12:48:49 +02:00
Arne Babenhauserheide bd105b78b0
gnu: python-aiorpcx: capitalize description
* gnu/packages/python-web.scm (python-aiorpcx): capitalize description

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-15 12:48:49 +02:00
Arne Babenhauserheide eb71211478
gnu: 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>
2019-07-15 12:48:49 +02:00
Arne Babenhauserheide c31302fda7
gnu: 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>
2019-07-15 12:48:49 +02:00
Ludovic Courtès e591541d36
doc: 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.
2019-07-15 12:48:49 +02:00
Ludovic Courtès 21bec78357
doc: 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'.
2019-07-15 12:48:49 +02:00
Guillaume Le Vaillant cb45aad9b0
gnu: 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>
2019-07-15 12:48:49 +02:00
Ricardo Wurmus 886986b744
gnu: Add python-ont-fast5-api.
* gnu/packages/bioinformatics.scm (python-ont-fast5-api): New variable.
2019-07-15 12:18:01 +02:00
Ricardo Wurmus d71d85cd17
gnu: Add python-progressbar33.
* gnu/packages/python-xyz.scm (python-progressbar33): New variable.
2019-07-15 12:18:01 +02:00
Efraim Flashner 64ed7c2258
gnu: 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'.
2019-07-15 12:10:32 +03:00
Ludovic Courtès 9af75a2630
channels: Avoid use of 'derivation-input-path'.
* guix/channels.scm (old-style-guix?): Use 'derivation-name' rather than
'derivation-input-path'.
2019-07-15 10:01:05 +02:00
Ludovic Courtès b9373e2627
gexp: '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.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 93c2a00739
derivations: 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.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 9e64302d68
derivations: 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.
2019-07-15 10:01:05 +02:00
Ludovic Courtès d145832151
derivations: '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'.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 02237f13ee
download: Use the new 'derivation' calling convention.
* guix/download.scm (built-in-download): Pass MIRRORS and
CONTENT-ADDRESSED-MIRRORS as #:sources, not #:inputs.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 266e54e2ac
gnu: 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.
2019-07-15 10:01:05 +02:00
Ludovic Courtès 3868577480
gexp: <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>
2019-07-15 10:01:05 +02:00
Ludovic Courtès 4daf89d619
derivations: '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.
2019-07-15 10:01:04 +02:00
Ludovic Courtès 456c7ade09
syscalls: 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'.
2019-07-15 10:00:12 +02:00
Ludovic Courtès 38302bd939
compile: 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'.
2019-07-15 10:00:12 +02:00
Pierre Langlois 2f3c0fb39d
gnu: linux-libre: Fix build on aarch64.
* gnu/packages/linux.scm (make-linux-libre)[arguments]: Remove
'work-around-gcc-7-include-path-issue phase.
2019-07-14 15:04:41 -04:00
Mark H Weaver be7eebe26d
gnu: 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.
2019-07-14 15:02:45 -04:00
Julien Lepiller a4bb189210
Revert "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 8eb0ba532e.
2019-07-14 20:18:07 +02:00
Arun Isaac 3c6d7fa842
gnu: Add emacs-elpher.
* gnu/packages/emacs-xyz.scm (emacs-elpher): New variable.
2019-07-14 20:14:35 +05:30
Rutger Helling 39a20acc06
gnu: nzbget: Update to 21.0.
* gnu/packages/networking.scm (nzbget): Update to 21.0.
2019-07-14 15:55:47 +02:00
Julien Lepiller 8eb0ba532e
guix: 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.
2019-07-14 14:57:46 +02:00
Jelle Licht 09a1f92f61
build: 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>
2019-07-14 12:20:48 +02:00
Efraim Flashner 041e03847b
gnu: Add evisum.
* gnu/packages/enlightenment.scm (evisum): New variable.
2019-07-14 11:02:23 +03:00
Jan Nieuwenhuizen 53f2164272
channels: 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.
2019-07-14 00:58:09 +02:00
Christopher Baines bee9f97e0a
gnu: Add s-tui.
* gnu/packages/admin.scm (s-tui): New variable.
2019-07-13 23:18:54 +01:00
Ricardo Wurmus 29fe71152f
gnu: 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.
2019-07-13 23:50:01 +02:00
Leo Famulari 06e1ecbf17
doc: Update keyserver URL.
* HACKING (Commit Access): Change keyserver URL to 'keys.openpgp.org'.
2019-07-13 14:25:19 -04:00
Hartmut Goebel 6b61dea336
gnu: Add pngquant.
* gnu/packages/image.scm (pngquant): New variable.
2019-07-13 20:04:44 +02:00
Hartmut Goebel 8db1bd188b
gnu: Add libimagequant.
* gnu/packages/image.scm (libimagequant): New variable.
2019-07-13 20:04:44 +02:00
Jacob MacDonald f24276de9a
gnu: 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>
2019-07-13 15:13:53 +02:00
Jacob MacDonald 3146b6da6d
gnu: 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>
2019-07-13 15:13:53 +02:00
Jacob MacDonald 8bb591d426
gnu: 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>
2019-07-13 15:13:53 +02:00
Jacob MacDonald d59d56b2ad
gnu: python-docker-pycreds: Update to 0.4.0.
* gnu/packages/docker.scm (python-docker-pycreds): Update to 0.4.0.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-13 15:13:53 +02:00
Jacob MacDonald 52cc489292
gnu: python-texttable: Update to 0.9.1.
* gnu/packages/python-xyz.scm (python-texttable): Update to 0.9.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-13 15:13:53 +02:00