guix-devel/guix
Ludovic Courtès 2dce88d5bb
derivations: Avoid string-to-bytevector conversions.
On Guile 2.2.1, this yields a 5% speedup on:

  guix build libreoffice xmonad certbot -n --no-substitutes --no-build-hook

* guix/derivations.scm (derivation->string): Rename to...
(derivation->bytevector): ... this.  Use 'open-bytevector-output-port'
instead of 'call-with-output-string'.
(derivation-hash): Remove string-to-bytevector conversion before
'sha256' call.
(build-expression->derivation): Use 'add-data-to-store' and an
bytevector port instead of a string port for the expression.
2017-04-20 23:35:55 +02:00
..
build build-system/cargo: Remove store reference. 2017-04-14 12:29:20 +02:00
build-system build-system/python: 'package-with-explicit-python' uses 'package-mapping'. 2017-04-05 22:45:41 +02:00
import import cran: Distinguish Bioconductor data packages. 2017-04-05 18:38:51 +02:00
scripts publish: Add a handler for / and /index.html. 2017-04-19 23:43:51 +02:00
tests tests: Move HTTP server to (guix tests http). 2016-11-16 18:00:41 +01:00
base16.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
base32.scm base32: Use a custom error condition instead of 'misc-error'. 2015-05-31 22:39:48 +02:00
base64.scm base64: Restore original license header. 2016-08-27 08:45:27 -05:00
build-system.scm build-system: Bags record their system and target. 2014-10-05 21:58:42 +02:00
cache.scm Add (guix cache) and use it in (guix scripts substitute). 2017-04-18 23:19:30 +02:00
combinators.scm Add (guix memoization). 2017-01-28 18:55:20 +01:00
config.scm.in pull: Install (guix config) module to override the user's one. 2016-07-20 22:53:02 +02:00
cpio.scm linux-initrd: Produce cpio archives with zeroed timestamps, etc. 2015-06-24 18:05:03 +02:00
cve.scm cve: Use a more compact format for the list of package/versions. 2016-05-28 01:07:12 +02:00
cvs-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
derivations.scm derivations: Avoid string-to-bytevector conversions. 2017-04-20 23:35:55 +02:00
docker.scm pack: Add '--target'. 2017-03-18 00:38:41 +01:00
download.scm download: Add netfilter mirror. 2017-04-17 23:05:46 +02:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:21:11 +02:00
ftp-client.scm ftp-client: Allow custom username and password for FTP servers. 2017-03-21 12:14:05 +01:00
gcrypt.scm Add (guix gcrypt). 2015-01-26 21:58:12 +01:00
gexp.scm gexp: 'gexp-modules' accepts plain Scheme objects. 2017-04-19 17:51:39 +02:00
git-download.scm git-download: Add 'git-predicate'. 2017-02-09 13:56:54 -06:00
gnu-maintenance.scm gnu-maintenance: 'gnu-package?' uses 'eq?' memoization. 2017-01-28 18:55:20 +01:00
gnupg.scm gnupg: Honor $GUIX_GPG_COMMAND and default to 'gpg'. 2016-09-06 11:12:11 +02:00
grafts.scm grafts: Do not pull derivation outputs not depended on. 2017-01-25 11:04:25 +01:00
graph.scm graph: Add d3js backend. 2016-12-14 21:58:32 +01:00
hash.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
hg-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
http-client.scm http-client: Avoid name clash with 'open-connection-for-uri' in 2.2.0. 2017-03-18 00:39:50 +01:00
licenses.scm licenses: Add wtfpl2. 2017-01-13 14:13:01 -05:00
memoization.scm memoization: Micro-optimize code produced by 'define-cache-procedure'. 2017-03-16 22:50:15 +01:00
modules.scm Use 'mlambda' instead of 'memoize'. 2017-01-28 18:55:20 +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: Improve mlet, mlet*, and mbegin documentation. 2017-04-08 14:40:51 +02:00
nar.scm utils: Move 'fcntl-flock' to (guix build syscalls). 2016-05-06 13:25:30 +02:00
packages.scm packages: Add 'package-mapping' and base 'package-input-rewriting' on it. 2017-04-05 22:45:41 +02:00
pk-crypto.scm publish: The public and private keys are now SRFI-39 parameters. 2017-03-22 14:05:59 +01:00
pki.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
profiles.scm profiles: Generate database file for man pages. 2017-04-05 22:45:41 +02:00
records.scm records: Slight simplification. 2017-04-17 23:31:28 +02:00
scripts.scm emacs: Disable grafts when dry-run is enabled. 2016-07-30 18:17:03 +03:00
search-paths.scm search-paths: Allow specs with #f as their separator. 2017-01-23 22:23:41 +01:00
serialization.scm serialization: Remove Guile < 2.0.9 workaround. 2017-04-17 23:31:28 +02:00
sets.scm Add (guix sets). 2015-01-11 23:50:01 +01:00
ssh.scm ssh: 'retrieve-files' detects remote export failures. 2016-12-31 18:35:29 +01:00
store.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
svn-download.scm download: Use 'with-imported-modules'. 2016-07-12 22:47:08 +02:00
tests.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
ui.scm ui: Gracefully report '&message' conditions. 2017-04-16 00:48:07 +02:00
upstream.scm upstream: Avoid '_' as a pattern variable in 'match'. 2017-03-14 11:19:21 +01:00
utils.scm utils: Fix handling of shell arguments for xz compression. 2017-04-03 23:23:39 -04:00
workers.scm Add (guix workers). 2017-04-18 23:17:17 +02:00
zlib.scm zlib: Don't rely on EBADF being ignored by 'fport_close'. 2017-03-15 15:19:53 +01:00