Commit graph

58492 commits

Author SHA1 Message Date
Caleb Ristvedt
6c1ff3f34e
guix/store/build-derivations.scm: new module.
* guix/build/store-copy.scm
  (<store-info>): export so that (match x ($ <store-info> ...) ...) will
  work.

* guix/store/build-derivations.scm: new module (note: WIP).
  (get-output-specs, builtin-download, add-to-trie, make-search-trie,
   remove-from-trie!, scanning-wrapper-port, scan-for-references,
   ensure-input-outputs-exist, build-derivation): new procedures.
  (builtins): new variable.
  (<trie-node>): new record types.

* Makefile.am: add guix/store/build-derivations.scm to STORE_MODULES.
2020-04-13 13:14:51 -05:00
Caleb Ristvedt
d1832f8b5c
guix/store/environment.scm: new module
* guix/store/environment.scm
  (<environment>, environment-{namespaces, variables, temp-dirs, filesystems,
   new-session?, new-pgroup?, setup-i/o-proc, preserved-fds, chroot,
   personality, user, group, hostname, domainname}, build-environment-vars,
   delete-environment, run-in-environment, bind-mount, standard-i/o-setup,
   %standard-preserved-fds, nonchroot-build-environment,
   chroot-build-environment, builtin-builder-environment, run-standard,
   run-standard-build, wait-for-build): new exported variables.

* guix/store/database.scm
  (output-path-id-sql, outputs-exist?, references-sql, file-closure,
   all-input-output-paths, all-transitive-inputs): new variables.
  (outputs-exist?, file-closure, all-transitive-inputs): exported.

* Makefile.am (STORE_MODULES): add guix/store/environment.scm.
2020-04-13 13:14:51 -05:00
Caleb Ristvedt
46e2a65bbf
config: add variables for more directories, %impersonate-linux-2.6?
* guix/config.scm.in: rename to guix/config.scm.in.in.

* guix/config.scm.in.in (%temp-directory, %libexecdir, %impersonate-linux-2.6?):
  new variables.

* configure.ac: Add option impersonate-linux-2.6-default and substitute
  it. Adjust from config.scm.in to config.scm.in.in.

* Makefile.am: Substitute libexecdir in guix/config.scm.in to produce final
  result, guix/config.scm.
2020-04-13 13:14:51 -05:00
Caleb Ristvedt
8da6854350
syscalls: add missing pieces for derivation build environment
* guix/build/syscalls.scm (ADDR_NO_RANDOMIZE, UNAME26, PER_LINUX32): new
  variables. Flags needed for improving determinism / impersonating a 32-bit
  machine on a 64-bit machine.
  (initialize-loopback, setdomainname, personality): New procedures. Needed in
  setting up container.
  (octal-escaped): New procedure.
  (mount-points): uses octal-escaped to properly handle unusual characters in
  mount point filenames.
2020-04-13 13:14:50 -05:00
Caleb Ristvedt
73da0e3a23
gnu: linux-container: Make it more suitable for derivation-building.
* gnu/build/linux-container.scm (mount-file-systems): First remount all
  filesystems in the current mount namespace as private (by mounting / with
  MS_PRIVATE and MS_REC), so that the set of mounts cannot increase except
  from within the container. Also, the tmpfs mounted over the chroot directory
  now inherits the chroot directory's permissions (p11-kit, for example, has a
  test that assumes that the root directory is not writable for the current
  user, and tmpfs is by default 1777 when created).

* guix/build/syscalls.scm (MS_PRIVATE, MS_REC): new variables.
2020-04-13 13:14:50 -05:00
Caleb Ristvedt
14499efc25
guix: store: Register derivation outputs.
* guix/store/database.scm (register-output-sql, derivation-outputs-sql): new
  variables.
  (registered-derivation-outputs): new procedure.
  ((guix store derivations), (guix store files)): used for <derivation> and
  derivation-path?, respectively.
  (register-items): if item is a derivation, also register its outputs.

* tests/store-database.scm (register-path): first register a dummy derivation
  for the test file, and check that its outputs are registered in the
  DerivationOutputs table and are equal to what was specified in the dummy
  derivation.
2020-04-13 13:14:50 -05:00
Caleb Ristvedt
bdc366cbdc
guix: split (guix store) and (guix derivations).
* guix/store.scm (&store-error, store-error?, %store-prefix, store-path,
  output-path, fixed-output-path, store-path?, direct-store-path?,
  derivation-path?, store-path-base, store-path-package-name,
  store-path-hash-part, direct-store-path, derivation-log-file): Moved
  to (guix store files) and re-exported from here.
  ((guix store files)): use it.

* guix/store/files.scm: new module.
  above named variables: added.

* guix/derivations.scm (&derivation-error, derivation-error?,
  derivation-error-derivation, &derivation-missing-output-error,
  derivation-missing-output-error?, derivation-missing-output, <derivation>,
  make-derivation, derivation?, derivation-outputs, derivation-inputs,
  derivation-sources, derivation-system, derivation-builder,
  derivation-builder-arguments, derivation-builder-environment-vars,
  derivation-file-name, <derivation-output>, derivation-output?,
  derivation-output-path, derivation-output-hash-algo, derivation-output-hash,
  derivation-output-recursive?, derivation-output-names, <derivation-input>,
  derivation-input?, derivation-input-derivation,
  derivation-input-sub-derivations, derivation-input-path, derivation-input,
  derivation-input-key, coalesce-duplicate-inputs, derivation-name,
  derivation-base16-hash, derivation-output-names, derivation-hash,
  derivation-properties, fixed-output-derivation?, offloadable-derivation?,
  substitutable-derivation?, derivation-input-fold, derivation-input<?,
  derivation-input-output-path, derivation-input-output-paths,
  derivation-output-paths, derivation->output-path, derivation->output-paths,
  derivation-path->output-path, derivation-path->output-paths,
  derivation-prerequisites, derivation/masked-inputs, read-derivation,
  read-derivation-from-file, derivation->bytevector, %derivation-cache,
  write-derivation, invalidate-derivation-caches!): Moved to (guix store
  derivations) and re-exported from here.
  ((guix store derivations)): use it.

* guix/store/derivations.scm: new module.
  above named variables: added.
2020-04-13 13:14:31 -05:00
Pierre Neidhardt
2fa04968af
gnu: Add sbcl-enchant.
* gnu/packages/lisp-xyz.scm (cl-enchant, sbcl-enchant): New variables.
2020-04-13 18:11:23 +02:00
Pierre Neidhardt
95d9c1d7c9
gnu: sbcl-cl-webkit: Update to 20200413.
* gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Update to 20200413.
2020-04-13 18:11:23 +02:00
Nicolas Goaziou
e9ead1a4bb
gnu: keepassxc: Update to 2.5.4.
* gnu/packages/password-utils.scm (keepassxc): Update to 2.5.4.
2020-04-13 16:32:16 +02:00
Ludovic Courtès
deac7bf6ac
doc: Improve anchor collection.
This allows us to catch "operating_002dsystem-1", for instance.

* doc/build.scm (syntax-highlighted-html)[build](anchor-id->key): Drop
"-1" & co. from ID.
2020-04-13 12:28:41 +02:00
Mathieu Othacehe
f6145358c7
gnu: guile-parted: Update to 0.0.3.
* gnu/packages/guile-xyz.scm (guile-parted): Update to 0.0.3,
[source]: remove snippet for Guile 3.0 that is now supported.
2020-04-13 10:39:37 +02:00
Tobias Geerinckx-Rice
62f7f0d636
gnu: http-parser: Update to 2.9.4.
* gnu/packages/web.scm (http-parser): Update to 2.9.4.
2020-04-13 06:56:55 +02:00
Tobias Geerinckx-Rice
873b9ddb5e
gnu: java-xmlgraphics-commons: Update to 2.4.
* gnu/packages/batik.scm (java-xmlgraphics-commons): Update to 2.4.
2020-04-13 06:56:55 +02:00
Tobias Geerinckx-Rice
5687fdb7c0
gnu: e2fsprogs: Update to 1.45.6.
* gnu/packages/linux.scm (e2fsprogs): Update to 1.45.6.
[source]: Hard-code NAME.
2020-04-13 06:56:55 +02:00
Tobias Geerinckx-Rice
6729488f59
gnu: debootstrap: Update to 1.0.123.
* gnu/packages/debian.scm (debootstrap): Update to 1.0.123.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
e5d193da69
gnu: uthash: Update to 2.1.0.
* gnu/packages/datastructures.scm (uthash): Update to 2.1.0.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
6655e2e238
gnu: uthash: Fix documentation directory.
* gnu/packages/datastructures.scm (uthash)[arguments]: Install documentation to a versioned directory.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
b9cd405666
gnu: liburcu: Update to 0.12.0.
* gnu/packages/datastructures.scm (liburcu): Update to 0.12.0.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
862af2fe21
gnu: ndctl: Update to 68.
* gnu/packages/disk.scm (ndctl): Update to 68.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
6be0d9f4a6
gnu: ssdeep: Don't install static libfuzzy.a.
* gnu/packages/datastructures.scm (ssdeep)[arguments]: Pass the
‘--disable-static’ flag to configure.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
ffd57da15a
gnu: ssdeep: Update to 2.14.1.
* gnu/packages/datastructures.scm (ssdeep): Update to 2.14.1.
[source]: Use new home page.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
73e560bce3
gnu: ssdeep: Update home page.
* gnu/packages/datastructures.scm (ssdeep)[home-page]: Update and use
HTTPS.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
4d07ce0cf5
gnu: diffoscope: Update to 139.
* gnu/packages/diffoscope.scm (diffoscope): Update to 139.
2020-04-13 06:56:54 +02:00
Tobias Geerinckx-Rice
3b522de709
gnu: lightdm-gtk-greeter: Update to 2.0.7.
* gnu/packages/display-managers.scm (lightdm-gtk-greeter): Update to 2.0.7.
2020-04-13 06:56:54 +02:00
Ludovic Courtès
c2480d1042
doc: Avoid invalid 'match' pattern in 'syntax-highlighted-html'.
This is a followup to da9deba13d.

Last-minute modification of the 'match' pattern would lead to an error:

  "multiple ellipsis patterns not allowed at same level"

* doc/build.scm (syntax-highlighted-html)[build](collect-anchors):
Add 'worthy-entry?' procedure and use it instead of the unsupported
pattern for ('dt ...).
2020-04-13 02:12:08 +02:00
Vagrant Cascadian
c9b6b82fae
gnu: perl-attribute-util: Fix grammar for "This package".
* gnu/packages/perl (perl-attribute-util): Fix grammar.
2020-04-12 16:43:06 -07:00
Tobias Geerinckx-Rice
52fc6508f2
gnu: workrave: Update to 1.10.42.
* gnu/packages/gnome.scm (workrave): Update to 1.10.42.
2020-04-13 01:40:40 +02:00
Vagrant Cascadian
7f7a6e877e
gnu: xss-lock: Fix grammar of "allows to automatically lock" to "automatically
locks".

* gnu/packages/xdisorg (xss-lock): Fix grammar.
2020-04-12 16:26:08 -07:00
Vagrant Cascadian
839f0229b4
gnu: xcape: Fix grammar of "allows to use" to "uses a".
* gnu/packages/xdisorg (xcape): Fix grammar.
2020-04-12 16:26:05 -07:00
Vagrant Cascadian
0dfe4c3d7e
gnu: scrot: Fix grammar of "allows to save" to "saves".
* gnu/packages/xdisorg (scrot): Fix grammar.
2020-04-12 16:26:03 -07:00
Vagrant Cascadian
9bbba9aad7
gnu: r-rcppprogress: Fix grammar of "allows to display" to "displays".
* gnu/packages/statistics (r-rcppprogress): Fix grammar.
2020-04-12 16:26:01 -07:00
Vagrant Cascadian
e0a0a6df11
gnu: r-memoise: Fix grammar of "allows to cache" to "caches".
* gnu/packages/statistics (r-memoise): Fix grammar.
2020-04-12 16:25:58 -07:00
Vagrant Cascadian
e49a6c82c2
gnu: ocamlify: Fix grammar of "allows to create" to "creates".
* gnu/packages/ocaml (ocamlify): Fix grammar.
2020-04-12 16:25:56 -07:00
Vagrant Cascadian
2bf52398a7
gnu: ocaml-mtime: Fix grammar "allows to measure" to "measures".
* gnu/packages/ocaml (ocaml-mtime): Fix grammar.
2020-04-12 16:25:53 -07:00
Ludovic Courtès
da9deba13d
doc: Emit hyperlinks in HTML output for @lisp snippets.
This makes it easier to jump to the definition of a procedure or
variable when looking at a code snippet.  There can be false-positive
because scoping rules are ignored, for example, but it should be a good
approximation.

* doc/build.scm (syntax-highlighted-html)[build](highlights->sxml*): Add
'anchors' parameter.  Add clause for ('symbol text).
(syntax-highlight): Add 'anchors' parameter.  Wrap body in named let and
use it in recursive calls.  Pass ANCHORS to 'highlights->sxml*'.
(underscore-decode, anchor-id->key, collect-anchors, html?): New procedures.
(process-file): Add 'anchors' parameter. and honor it.
Rewrite mono-node and multi-node HTML files separately.
2020-04-13 01:21:49 +02:00
Ludovic Courtès
b36217c54d
self: Prevent inlining of internal procedures used by 'doc/build.scm'.
This allows 'doc/build.scm' to keep using '@@' for these.  (This sets a
bad example, don't follow it.)

* guix/self.scm (prevent-inlining!): New macro.
<top level>: Use it for 'file-append*', 'translate-texi-manuals', and
'info-manual'.
2020-04-13 01:21:49 +02:00
Vagrant Cascadian
104b1bde73
gnu: cl-dbus: Fix grammar of "allows to publish" to "publishes".
* gnu/packages/lisp-xyz (cl-dbus): Fix grammar.
2020-04-12 15:37:42 -07:00
Vagrant Cascadian
c05181a337
gnu: sbcl-ieee-floats: Fix grammar of "allows to convert" to "converts".
* gnu/packages/lisp-xyz (sbcl-ieee-floats): Fix grammar.
2020-04-12 15:37:39 -07:00
Vagrant Cascadian
61fa3c6732
gnu: java-hdrhistogram: Fix grammar of "allows to create" to "creates".
* gnu/packages/java (java-hdrhistogram): Fix grammar.
2020-04-12 15:37:37 -07:00
Vagrant Cascadian
44a057a143
gnu: java-jsonp-api: Fix grammar of "allows to build" to "allows building".
* gnu/packages/java (java-jsonp-api): Fix grammar.
2020-04-12 15:37:34 -07:00
Vagrant Cascadian
4aad3cfcea
gnu: emacs-objed: Fix grammar of "allows to navigate and edit" to "allows
navigating and editing".

* gnu/packages/emacs-xyz (emacs-objed): Fix grammar.
2020-04-12 15:29:38 -07:00
Vagrant Cascadian
ca105ad2d7
gnu: emacs-buttercup: Fix grammar of "allows to group" to "groups".
* gnu/packages/emacs-xyz (emacs-buttercup): Fix grammar.
2020-04-12 15:29:35 -07:00
Vagrant Cascadian
72b3ed6d3b
gnu: emacs-discover-my-major: Fix grammar of "provides allows to discover" to
"discovers".

* gnu/packages/emacs-xyz (emacs-discover-my-major): Fix grammar.
2020-04-12 15:29:33 -07:00
Vagrant Cascadian
9df53f726d
gnu: emacs-mbsync: Fix grammar of "allows to call" to "calls".
* gnu/packages/emacs-xyz (emacs-mbsync): Fix grammar.
2020-04-12 15:29:31 -07:00
Vagrant Cascadian
9df26b0206
gnu: josm: Fix grammar of "allows to edit" to "allows editing".
* gnu/packages/geo (josm): Fix grammar.
2020-04-12 15:29:28 -07:00
Vagrant Cascadian
8098c2be4d
gnu: emacs-pulseaudio-control: Fix grammar of "allows to control" to "allows
controlling".

* gnu/packages/emacs-xyz (emacs-pulseaudio-control): Fix grammar.
2020-04-12 15:17:14 -07:00
Vagrant Cascadian
28643c2147
gnu: emacs-md4rd: Fix grammar of "allows to read" to "allows reading".
* gnu/packages/emacs-xyz (emacs-md4rd): Fix grammar.
2020-04-12 15:17:11 -07:00
Vagrant Cascadian
f80d5102a8
gnu: emacs-closql: Fix grammar of "allows to store" to "stores".
* gnu/packages/emacs-xyz (emacs-closql): Fix grammar.
2020-04-12 15:17:09 -07:00
Vagrant Cascadian
99f53a13d1
gnu: emacs-finalize: Fix grammar of "will allows to immediately run" to
"runs".

* gnu/packages/emacs-xyz (emacs-finalize): Fix grammar.
2020-04-12 15:17:07 -07:00