guix-play/guix
Ludovic Courtès 667b250846 gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.
* guix/gexp.scm (<gexp>)[natives]: New field.
  (write-gexp): Use both 'gexp-references' and
  'gexp-native-references'.
  (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
  and append them.
  (gexp-inputs): Add 'references' parameter and honor it.
  (gexp-native-inputs): New procedure.
  (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it.
  Use it, and use 'gexp-native-references'.
  (gexp)[collect-native-escapes]: New procedure.
  [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
  [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
  [substitute-references]: Use them, and handle 'ungexp-native' and
  'ungexp-native-splicing'.
  Adjust generated 'make-gexp' call to provide both normal references
  and native references.
  [read-ungexp]: Support 'ungexp-native' and
  'ungexp-native-splicing'.
  Add reader extension for #+.
* tests/gexp.scm (gexp-native-inputs): New procedure.
  (gexp->sexp*): Add 'target' parameter.
  ("ungexp + ungexp-native",
  "input list + ungexp-native",
  "input list splicing + ungexp-native-splicing",
  "gexp->derivation, ungexp-native",
  "gexp->derivation, ungexp + ungexp-native"): New tests.
  ("sugar"): Add tests for #+ and #+@.
* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
2014-08-18 15:01:58 +02:00
..
build linux-initrd: Do not create /etc/resolv.conf. 2014-08-15 16:26:28 +02:00
build-system Add comments about global memoization. 2014-07-21 23:18:21 +02:00
scripts guix package: Remove leftover internal procedure. 2014-08-12 21:51:45 +02:00
base32.scm
base64.scm substitute-binary: Support the Signature field of a narinfo file. 2014-03-30 12:02:10 +02:00
build-system.scm Move record utilities to (guix records). 2013-05-12 15:46:16 +02:00
config.scm.in build: Change state and log directories to $localstatedir/.../guix. 2014-03-09 22:10:01 +01:00
derivations.scm derivations: 'build-expression->derivation' supports #:allowed-references. 2014-06-06 17:07:26 +02:00
download.scm Remove ftp.sunet.se mirror. 2014-08-12 22:17:44 -04:00
ftp-client.scm ftp-client: Add missing CR in "USER" command. 2014-05-03 00:46:51 +02:00
gexp.scm gexp: Add 'ungexp-native' and 'ungexp-native-splicing'. 2014-08-18 15:01:58 +02:00
git-download.scm git-download: Support recursive clones. 2014-06-27 23:04:48 +02:00
gnu-maintenance.scm gnu-maintenance: Add missing type check. 2014-05-05 09:00:00 +02:00
gnupg.scm guix refresh: Add '--key-download'. 2013-06-10 08:15:17 +00:00
hash.scm hash: Add 'open-sha256-input-port', for Guile > 2.0.9. 2014-01-24 00:01:49 +01:00
http-client.scm download: Enlarge your receive buffer. 2014-05-23 22:19:37 +02:00
licenses.scm guix: Add CC0 license. 2014-06-30 11:26:42 -05:00
monad-repl.scm Add (guix monad-repl). 2014-08-15 16:26:28 +02:00
monads.scm monads: 'package-file' uses '%current-system' at '>>=' time. 2014-08-17 21:08:06 +02:00
nar.scm pk-crypto: Add pretty-printer to 'gcry-error' exceptions. 2014-04-22 11:41:52 +02:00
packages.scm Add comments about global memoization. 2014-07-21 23:18:21 +02:00
pk-crypto.scm pk-crypto: Add pretty-printer to 'gcry-error' exceptions. 2014-04-22 11:41:52 +02:00
pki.scm pki: Introduce 'write-acl', and fix wrong conversion in 'ensure-acl'. 2014-04-04 00:23:17 +02:00
profiles.scm profiles: Adjust to unintended manifest format change. 2014-08-12 22:09:42 +02:00
records.scm records: Report unknown field names in inheriting forms. 2014-07-17 16:45:45 +02:00
serialization.scm store: Add #:timeout build option. 2014-03-09 23:01:18 +01:00
snix.scm snix: Prefer descriptions from the Womb rather than from Nixpkgs. 2013-10-09 16:18:23 +02:00
store.scm guix-register: Add '--state-directory' parameter. 2014-07-18 20:40:51 +02:00
svn-download.scm Add (guix svn-download). 2014-03-27 00:21:44 +01:00
ui.scm ui: Fix handling of periods by fill-paragraph. 2014-08-11 18:27:03 +02:00
utils.scm guix: utils: Add fold-tree and fold-tree-leaves. 2014-07-20 11:36:09 -05:00