Commit Graph

44681 Commits

Author SHA1 Message Date
Ludovic Courtès b90ae065b5
substitute: Select the best compression methods.
When a server publishes several URLs with different compression methods,
'guix substitute' can now choose the best one among the compression
methods that it supports.

* guix/scripts/substitute.scm (<narinfo>)[uri]: Replace with...
[uris]: ... this.
[compression]: Replace with...
[compressions]: ... this.
[file-size]: Replace with...
[file-sizes]: ... this.
[file-hash]: Replace with...
[file-hashes]: ... this.
(narinfo-maker): Adjust accordingly.  Ensure 'file-sizes' and
'file-hashes' have the right length.
(assert-valid-signature, valid-narinfo?): Use the first element of
'narinfo-uris' in error messages.
(read-narinfo): Expect "URL", "Compression", "FileSize", and "FileHash"
to occur multiple times.
(display-narinfo-data): Call 'select-uri' to determine the file size.
(%compression-methods): New variable.
(supported-compression?, compresses-better?, select-uri): New
procedures.
(process-substitution): Call 'select-uri' to select the URI and
compression.
* guix/scripts/weather.scm (report-server-coverage): Account for all the
values returned by 'narinfo-file-sizes'.
* tests/substitute.scm ("substitute, narinfo with several URLs"): New
test.
2019-06-02 22:01:57 +02:00
Ludovic Courtès b8fa86adfc
publish: '--compression' can be repeated.
This allows 'guix publish' to compress and advertise multiple
compression methods from which users can choose.

* guix/scripts/publish.scm (actual-compression): Rename to...
(actual-compressions): ... this.  Expect REQUESTED to be a list, and
always return a list.
(%default-options): Remove 'compression.
(store-item->recutils): New procedure.
(narinfo-string): Change #:compression to #:compressions (plural).
Adjust accordingly.
(render-narinfo, render-narinfo/cached): Likewise.
(bake-narinfo+nar): Change #:compression to #:compressions.
[compressed-nar-size]: New procedure.
Call 'compress-nar' for each item returned by 'actual-compressions'.
Create a narinfo for each compression.
(effective-compression): New procedure.
(make-request-handler): Change #:compression to #:compressions.
Use 'effective-compression' to determine the applicable compression.
(guix-publish): Adjust handling of '--compression'.
Print a message for each compression that is enabled.
* tests/publish.scm ("/*.narinfo"): Adjust to new narinfo field
ordering.
("/*.narinfo with properly encoded '+' sign"): Likewise.
("/*.narinfo with lzip + gzip"): New test.
("with cache, lzip + gzip"): New test.
* doc/guix.texi (Invoking guix publish): Document it.
2019-06-02 22:01:57 +02:00
Ludovic Courtès dec4b3aa18
gnu: Add guile-srfi-159.
* gnu/packages/guile-xyz.scm (guile-srfi-159): New variable.
2019-06-02 22:01:57 +02:00
Ludovic Courtès e006f7493f
build-system/guile: Display progress report as expected by (guix status).
* guix/build/guile-build-system.scm (report-build-progress): Use a
format string suitable for (guix status).
2019-06-02 22:01:34 +02:00
Ludovic Courtès 30eb738366
build-system/guile: Add #:not-compiled-file-regexp.
* guix/build/guile-build-system.scm (build): Add
 #:not-compiled-file-regexp and honor it.
* guix/build-system/guile.scm (guile-build): Likewise.
(guile-cross-build): Likewise.
2019-06-02 22:01:34 +02:00
Ludovic Courtès abeb54c00b
build-system/guile: Improve reporting of 'guild compile' failures.
* guix/build/guile-build-system.scm (invoke-each)[processes]: New
variable.
[wait-for-one-process]: Check PROCESSES and update it.
[fork-and-run-command]: Update PROCESSES.
2019-06-02 22:01:34 +02:00
Jan Nieuwenhuizen bdf2dd797e
gnu: Add guile-gi.
* gnu/packages/guile-xyz.scm (guile-gi): New variable.
2019-06-02 20:18:13 +02:00
Rutger Helling 08f48b7864
gnu: faudio: Update to 19.06.
* gnu/packages/audio.scm (faudio): Update to 19.06.
2019-06-02 11:37:26 +02:00
Vagrant Cascadian 54d1430246
gnu: debootstrap: Update to 114.
* gnu/packages/debian (debootstrap): Update to 114.
2019-06-01 18:35:36 -07:00
Vagrant Cascadian 76513c949b
gnu: debian-archive-keyring: Update to 2019.01.
* gnu/packages/debian (debian-archive-keyring): Update to 2019.01.
2019-06-01 17:38:48 -07:00
Nicolas Goaziou fd4d3939c4
gnu: giac: Update to 1.5.0-57.
* gnu/packages/algebra.scm (giac): Update to 1.5.0-57.
2019-06-02 02:21:15 +02:00
Nicolas Goaziou 1a2fa342f0
gnu: musescore: Update to 3.1.
* gnu/packages/music.scm (musescore): Update to 3.1.
2019-06-02 02:02:41 +02:00
Ludovic Courtès b2cddc6fb1
compile: Adjust for Guile 3.
* guix/build/compile.scm (%default-optimizations): Adjust to the new
names in Guile 2.9.2.
2019-06-02 01:38:36 +02:00
Ludovic Courtès bb64b2e7c0
herd: Use the Guile 2.2 'setvbuf' API.
* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'.
2019-06-02 01:38:36 +02:00
Ludovic Courtès 88bc3c89bf
progress: Provide the proper type for %PROGRESS-INTERVAL.
The (srfi srfi-19) module of Guile 2.9.2 catches the wrong type.

* guix/progress.scm (%progress-interval): Change type to TIME-DURATION.
2019-06-02 01:38:36 +02:00
Andy Tai 08be02bea1
gnu: Add terminator.
* gnu/packages/gnome.scm (terminator): Add at 1.91

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-02 01:38:36 +02:00
Robert Vollmert 3eb261e2e5
gnu: ghc-happy: Skip memory-hungry tests.
Tests fail reliably for me on a system with 2GB of available RAM, in
`issue93.a.hs` and `issue93.n.hs`.

* gnu/packages/haskell.scm (ghc-happy): Skip test "issue93".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-02 01:38:36 +02:00
Nicolas Goaziou 8b3560501f
gnu: keepassxc: Update to 2.4.2.
* gnu/packages/password-utils.scm (keepassxc): Update to 2.4.2.
2019-06-02 01:31:52 +02:00
Nicolas Goaziou 36f5e67ab4
gnu: grammalecte: Update to 1.1.1.
* gnu/packages/dictionaries.scm (grammalecte): Update to 1.1.1.
2019-06-02 01:23:40 +02:00
Ricardo Wurmus 7d6efd2b6c
gnu: r-openssl: Update to 1.4.
* gnu/packages/statistics.scm (r-openssl): Update to 1.4.
2019-06-01 23:04:26 +02:00
Ricardo Wurmus f53b4a6b77
gnu: r-biocviews: Update to 1.52.2.
* gnu/packages/bioinformatics.scm (r-biocviews): Update to 1.52.2.
[propagated-inputs]: Add r-biocmanager.
2019-06-01 23:04:26 +02:00
Timothy Sample 2ccc9d692a
gnu: Add gash.
* gnu/packages/shells.scm (gash): New variable.
2019-06-01 14:47:56 -04:00
Guillaume LE VAILLANT a0c3a2e3a1
gnu: Add txr.
* gnu/packages/lisp.scm (txr): New variable.
* gnu/packages/patches/txr-shell.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-01 15:26:30 +02:00
Robert Vollmert 0be465924c
tests: Indent hackage tests
* tests/hackage.scm: Reindent using etc/indent-code.el.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-01 15:26:30 +02:00
Robert Vollmert 4110cde005
tests: hackage: Don't mock hackage-fetch.
* tests/hackage.scm: Pass a string input port to tests instead of
mocking hackage download.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-01 15:26:30 +02:00
Robert Vollmert 55c98f3261
tests: hackage: Factor out package pattern.
* tests/hackage.scm: Import result pattern matching via helper.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-01 15:26:30 +02:00
Ludovic Courtès 87399dfc20
lzlib: 'make-lzip-input-port' better handles end of decompression.
Suggested by Pierre Neidhardt <mail@ambrevar.xyz>.

* guix/lzlib.scm (lzread!): Call 'lz-decompress-finish' when
'feed-decoder!' returns EOF.  Call 'lz-decompress-finished?' to
determine end of compression.
2019-06-01 15:26:30 +02:00
Mark H Weaver b6cf7e54ea
gnu: linux-libre: Update to 5.1.6.
* gnu/packages/linux.scm (%linux-libre-version): Update to 5.1.6.
(%linux-libre-hash): Update hash.
2019-06-01 01:43:11 -04:00
Mark H Weaver bc5d9ae7c9
gnu: linux-libre@4.19: Update to 4.19.47.
* gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.47.
(%linux-libre-4.19-hash): Update hash.
2019-06-01 01:40:52 -04:00
Mark H Weaver 83c0672877
gnu: linux-libre@4.14: Update to 4.14.123.
* gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.123.
(%linux-libre-4.14-hash): Update hash.
2019-06-01 01:39:06 -04:00
Mark H Weaver 9d96994c62
gnu: linux-libre@4.9: Update to 4.9.180.
* gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.180.
2019-06-01 01:37:28 -04:00
Robert Vollmert 1cc12357a6
import: hackage: Update list of ghc-included packages.
Update the list of excepted dependencies for current ghc-8.4, based on the
release notes at
https://downloads.haskell.org/~ghc/8.4.3/docs/html/users_guide/8.4.3-notes.html

Particularly, this adds `text` to the list, which is a dependency of `parsec`
which was already on the list before, causing build failures with updated
versions of the `text` package.

* guix/import/hackage.scm (ghc-standard-libraries): Update list.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2019-06-01 06:22:57 +02:00
Vasile Dumitrascu 86d73d59c9
gnu: gnucash-docs: Update to 3.5.
* gnu/packages/gnucash.scm (gnucash-docs): Update to 3.5.

Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
2019-05-31 23:06:10 -04:00
Vasile Dumitrascu d4cb92e707
gnu: gnucash: Update to 3.5.
* gnu/packages/gnucash.scm (gnucash): Update to 3.5.
[source]: Remove unneeded patch.
* gnu/packages/patches/gnucash-fix-test-transaction-failure.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove patch.

Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
2019-05-31 23:06:10 -04:00
Eric Bavier 4d44bcad56
gnu: dealii-openmpi: Add hdf5-parallel-openmpi input.
* gnu/packages/maths.scm (dealii-openmpi)[inputs]: Add hdf5-parallel-openmpi.
2019-05-31 19:41:41 -05:00
Eric Bavier a13e0f3db4
gnu: slepc: Update to 3.11.1.
* gnu/packages/maths.scm (slepc): Update to 3.11.1.
[native-inputs]: Add petsc:examples.
[arguments]: Add PETSCCONFIGDIR to #:make-flags.
2019-05-31 19:41:41 -05:00
Eric Bavier 4f7a4a06c2
gnu: petsc: Update to 3.11.2.
* gnu/packages/maths.scm (petsc): Update to 3.11.2.
2019-05-31 19:41:41 -05:00
Eric Bavier e586c6faf3
gnu: petsc-complex-mpi: Setup MPI for tests.
* gnu/packages/maths.scm (petsc-complex-mpi)[arguments]: Add 'mpi-setup
phase.
2019-05-31 19:41:41 -05:00
Kei Kebreau 5c48519204
gnu: Add mousepad.
* gnu/packages/xfce.scm (mousepad): New variable.
2019-05-31 18:54:20 -04:00
Guillaume LE VAILLANT 7293e3dba1
gnu: Add zbar.
* gnu/packages/aidc.scm (zbar): New variable.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2019-05-31 23:21:02 +02:00
Christopher Baines 2177d9222f
services: Add patchwork.
* gnu/service/web.scm (<patchwork-database-configuration>
<patchwork-settings-module>, <patchwork-configuration>): New record types.
(patchwork-virtualhost): New procedure.
(patchwork-service-type): New variable.
* gnu/tests/web.scm (%test-patchwork): New variable.
* doc/guix.text (Web Services): Document it.
2019-05-31 20:22:23 +01:00
Christopher Baines 4764c6cc46
gnu: Add patchwork.
* gnu/packages/patchutils.scm (patchwork): New variable.
2019-05-31 20:22:23 +01:00
Christopher Baines f6b0e1f8ff
services: Add getmail.
Getmail is a mail retriever written in Python, this commit adds a service-type
to run getmail. I'm looking at this, as it's a convinient way of getting
mailing list messages in to Patchwork.

I initially tried putting this in the (gnu services mail) module, but due to
also trying to use the define-configuration pattern, it conflicted with the
dovecot service.

* gnu/services/getmail.scm: New file.
* gnu/local.mk: Add it.
* gnu/tests/mail.scm (%getmail-os, %test-getmail): New variables.
(run-getmail-test): New procedure.
2019-05-31 20:22:20 +01:00
Leo Famulari 9bc1de3134
gnu: Go 1.4: Fix typo.
* gnu/packages/golang.scm (go-1.4): Fix typo in comment.
2019-05-31 10:30:21 -04:00
Julien Lepiller db6dd04c3d
gnu: gtksourceview-2: Fix finding default data.
* gnu/packages/patches/gtksourceview-2-add-default-directory.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (gtksourceview-2)[source]: Use it.
2019-05-31 14:41:38 +02:00
Julien Lepiller 27489e7f73
gnu: php: Update to 7.3.6.
* gnu/packages/php.scm (php): Update to 7.3.6.
2019-05-31 14:41:32 +02:00
Ricardo Wurmus 1a24f855c8
gnu: Add r-birta.
* gnu/packages/bioconductor.scm (r-birta): New variable.
2019-05-31 14:40:29 +02:00
Ricardo Wurmus 81e3de01ae
gnu: Add r-birewire.
* gnu/packages/bioconductor.scm (r-birewire): New variable.
2019-05-31 14:40:20 +02:00
Ricardo Wurmus 95bf71c307
gnu: r-seriation: Update to 1.2-5.
* gnu/packages/cran.scm (r-seriation): Update to 1.2-5.
2019-05-31 14:29:32 +02:00
Brian Leung 2e62ba46e2
gnu: emacs-diff-hl: Update to 1.8.6.
* gnu/packages/emacs-xyz.scm (emacs-diff-hl): Update to 1.8.6.
[source]: Fetch from git.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2019-05-31 10:21:06 +02:00