guix-play/guix
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
..
build build-system/guile: Display progress report as expected by (guix status). 2019-06-02 22:01:34 +02:00
build-system build-system/guile: Add #:not-compiled-file-regexp. 2019-06-02 22:01:34 +02:00
import import: hackage: Update list of ghc-included packages. 2019-06-01 06:22:57 +02:00
scripts publish: '--compression' can be repeated. 2019-06-02 22:01:57 +02:00
store gnu, guix: Yearly ritual purging of the filesystems. 2019-04-25 04:42:16 +02:00
tests tests: Support multiple HTTP server instances. 2017-10-12 23:47:48 +02:00
base16.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
base32.scm base32: Export the base32 charsets. 2017-07-21 17:03:24 +02:00
base64.scm base64: Turn into a regular Guile module. 2017-05-25 14:25:17 +02:00
build-system.scm
bzr-download.scm Add (guix bzr-download). 2019-05-09 00:22:37 -04:00
cache.scm cache: Work around 'time-monotonic' bug in Guile 2.2.2. 2017-04-22 14:42:15 +02:00
channels.scm pull: '--url', '--commit', and '--branch' apply to the 'guix' channel. 2019-04-17 13:56:40 +02:00
ci.scm ci: Add procedures to access evaluations. 2018-11-10 23:33:46 +01:00
colors.scm colors: Add 'highlight'. 2019-04-14 23:40:52 +02:00
combinators.scm Add (guix memoization). 2017-01-28 18:55:20 +01:00
config.scm.in Add (guix lzlib). 2019-05-06 23:21:33 +02:00
cpio.scm linux-initrd: Produce cpio archives with zeroed timestamps, etc. 2015-06-24 18:05:03 +02:00
cve.scm cve: Update feed URL. 2018-08-26 01:47:40 +02:00
cvs-download.scm download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
deprecation.scm deprecation: Send warnings to (current-error-port) by default. 2019-01-21 23:09:55 +01:00
derivations.scm derivations: Reduce 'valid-path?' RPCs in 'derivation-prerequisites-to-build'. 2019-04-16 17:30:21 +02:00
describe.scm describe: Add 'current-profile-date'. 2019-03-17 22:55:01 +01:00
discovery.scm discovery: 'all-modules' returns modules in path order. 2019-05-26 23:02:02 +02:00
docker.scm docker: 'build-docker-image' accepts an optional #:entry-point. 2019-05-15 16:36:21 +02:00
download.scm store: Memoize 'built-in-builders' call directly in <store-connection>. 2019-04-16 17:30:21 +02:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:21:11 +02:00
ftp-client.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
gexp.scm gexp: 'compiled-modules' loads modules before compiling them. 2019-04-04 17:47:02 +02:00
git-download.scm git-download: Download from Software Heritage as a last resort. 2018-11-26 11:10:20 +01:00
git.scm git: Add an exception printer for 'git-error'. 2019-02-11 23:23:28 +01:00
glob.scm glob: Add an extra glob pattern compilation stage. 2018-03-18 22:57:17 +01:00
gnu-maintenance.scm gnu-maintenance: Update URL for package databases. 2019-05-12 23:15:13 +02:00
gnupg.scm gnupg: Change default keyserver. 2018-09-25 18:45:50 +02:00
grafts.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
graph.scm Revert "graph: Provide access to the package record in the emit functions." 2017-08-24 23:55:51 +02:00
hg-download.scm download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
http-client.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
i18n.scm ui: Introduce (guix i18n). 2017-11-08 22:31:58 +01:00
inferior.scm channels: Do not fail when the inferior lacks 'guix repl'. 2019-03-08 12:31:38 +01:00
licenses.scm licenses: Remove 'bsd-style'. 2019-04-08 10:42:51 +02:00
lzlib.scm lzlib: 'make-lzip-input-port' better handles end of decompression. 2019-06-01 15:26:30 +02:00
man-db.scm profiles: Use 'with-extensions'. 2018-06-01 15:21:28 +02:00
memoization.scm memoization: Add 'invalidate-memoization!. 2017-12-13 23:11:53 +01:00
modules.scm Remove traces of "GuixSD". 2019-03-13 23:12:43 +01:00
monad-repl.scm monad-repl: Close connection when leaving the monad REPL. 2016-01-13 17:43:21 +01:00
monads.scm monads, gexp: Prevent redefinition of syntax parameters. 2019-02-06 23:06:18 +01:00
nar.scm nar: Access the database instead of connecting to the daemon. 2018-11-13 14:59:45 +01:00
packages.scm gexp: 'compiled-modules' loads modules before compiling them. 2019-04-04 17:47:02 +02:00
pki.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
profiles.scm profiles: Add 'generation-profile'. 2019-04-10 17:09:47 +02:00
profiling.scm profiling: Add a "gc" profiling component. 2019-01-15 20:24:08 +01:00
progress.scm progress: Provide the proper type for %PROGRESS-INTERVAL. 2019-06-02 01:38:36 +02:00
records.scm records: Support custom 'this' identifiers. 2019-03-30 11:08:39 +01:00
scripts.scm scripts: GC hint suggests 'guix gc -d 1m'. 2019-04-10 17:09:47 +02:00
search-paths.scm search-paths: Add 'set-search-paths'. 2018-05-10 14:53:57 +02:00
self.scm self: Fix unquoting. 2019-05-28 23:21:27 +02:00
serialization.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
sets.scm
ssh.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
status.scm colors: Introduce a disjoint type and pre-compute ANSI escapes. 2019-04-11 18:18:13 +02:00
store.scm store: Fix 'hash-part->path' docstring. 2019-05-26 01:34:17 +02:00
svn-download.scm guix: Add download-svn-to-store. 2017-06-15 17:03:14 +02:00
swh.scm swh: Export 'save-origin' and related bindings. 2018-11-27 12:12:33 +01:00
tests.scm lzlib: Add 'make-lzip-input-port/compressed'. 2019-05-27 22:47:24 +02:00
ui.scm ui: Make package outputs searchable. 2019-05-09 00:10:34 -07:00
upstream.scm refresh: Update the source code URL. 2019-03-27 14:59:42 +01:00
utils.scm utils: Support compression and decompression with lzip. 2019-05-27 22:47:24 +02:00
workers.scm workers: Display backtrace in pre-unwind handler. 2017-11-17 10:47:56 +01:00
zlib.scm zlib: Fix race condition when closing gzip ports. 2017-11-19 23:09:01 +01:00