Commit Graph

32635 Commits

Author SHA1 Message Date
Ludovic Courtès df2f6400b1
store: Remove 'register-path'.
* guix/store.scm (register-path): Remove.
* guix/nar.scm: Use (guix store database).
* guix/scripts/system.scm: Likewise.
* tests/store-database.scm: Remove #:hide (register-path).
* tests/store.scm ("register-path"): Remove.
2018-06-14 11:17:00 +02:00
Ludovic Courtès eb9fe97495
database: Allow for deterministic database construction.
Fixes <https://bugs.gnu.org/21073>.

* guix/store/database.scm (sqlite-register): Add #:time.
(%epoch): New variable.
(register-items): Add #:registration-time.  Pass #:time to
'sqlite-register'.
* gnu/build/install.scm (register-closure): Pass #:registration-time.
2018-06-14 11:17:00 +02:00
Ludovic Courtès 078c2329c0
install: Use 'reset-timestamps' from (guix store database).
* gnu/build/install.scm (reset-timestamps): Remove.
* gnu/build/vm.scm: Use 'reset-timestamps' from (guix store database).
2018-06-14 11:17:00 +02:00
Ludovic Courtès 31a63be878
database: Add 'register-items'.
* guix/build/store-copy.scm (store-info): Export.
* guix/store/database.scm (register-items): New procedure.
(register-path): Implement in terms of 'register-items'.
* gnu/build/install.scm (register-closure): Use 'register-items' instead
of 'for-each' and 'register-path'.
2018-06-14 11:17:00 +02:00
Ludovic Courtès ef1297e8c7
database: 'sqlite-register' takes a database, not a file name.
* guix/store/database.scm (sqlite-register): Remove #:db-file and add
'db' parameter.  Remove #:schema and 'parameterize'.
(register-path): Wrap 'sqlite-register' call in 'with-database' and in
'parameterize'.
* tests/store-database.scm ("new database")
("register-path with unregistered references"): Adjust accordingly.
2018-06-14 11:17:00 +02:00
Ludovic Courtès c45477d2a1
install: Use (guix store database) instead of 'guix-register'.
* gnu/build/install.scm (register-closure): Add #:reset-timestamps? and
and #:schema; honor them.  Rewrite in terms of 'register-path'.
(populate-single-profile-directory): Add #:schema and honor it.  Make
/var/guix/profiles and /var/guix/gcroots.
* gnu/build/vm.scm (root-partition-initializer): Pass
 #:reset-timestamps? to 'register-closure'.
* gnu/system/vm.scm (not-config?): New procedure.
(guile-sqlite3&co): New variable.
(expression->derivation-in-linux-vm)[config]: New variable.
[builder]: Use 'with-extensions'.
(iso9660-image)[schema, config]: New variables.
Wrap build expression in 'with-extensions'; add 'sql-schema' call.
Remove GUIX from INPUTS.
(qemu-image)[schema, config]: New variables.
Wrap body in 'with-extensions'.
(system-docker-image)[not-config?]: Remove.
[config]: Use 'make-config.scm'.
[schema]: New variable.
[build]: Use 'with-extensions'.  Add call to 'sql-schema'.  Remove GUIX
from INPUTS.
* gnu/system/file-systems.scm (%store-prefix): Check whether
'%store-prefix' is defined.
* guix/scripts/pack.scm (self-contained-tarball)[not-config?]
[libgcrypt, schema]: New variables.
[build]: Wrap in 'with-extensions'.  Adjust imported module list to use
'make-config.scm' for (guix config).
2018-06-14 11:16:59 +02:00
Ludovic Courtès be43c08b17
vm: 'expression->derivation-in-linux-vm' code can now use dlopen.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)
[user-builder]: Define in non-monadic style as 'program-file'.
[loader]: Likewise, and 'execl' USER-BUILDER instead of loading it.
(system-docker-image): Pass BUILD as the second
argument to 'expression->derivation-in-linux-vm'.
(make-iso9660-image, qemu-image): Remove call to 'reboot'.
2018-06-14 11:16:59 +02:00
Ludovic Courtès 49c393ccaa
database: 'reset-timestamps' sets file permissions as well.
* guix/store/database.scm (reset-timestamps): Add 'chmod' calls.
2018-06-14 11:16:59 +02:00
Ludovic Courtès 122a6cad7d
database: Replace existing entries in Refs.
* guix/store/database.scm (add-reference-sql): Add "OR REPLACE".
2018-06-14 11:16:59 +02:00
Ludovic Courtès 4bd86f0d62
database: Add #:reset-timestamps? to 'register-path'.
* guix/store/database.scm (register-path): Add #:reset-timestamps? and
honor it.
2018-06-14 11:16:59 +02:00
Ludovic Courtès b85e2ff484
database: Remove extra SQL parameter in 'update-or-insert'.
* guix/store/database.scm (update-or-insert): Remove extra #:path
parameter.
2018-06-14 11:16:59 +02:00
Ludovic Courtès 0d0438ed8c
deduplicate: Fix a couple of thinkos.
* guix/store/deduplication.scm (get-temp-link): Turn 'args' in the 'catch'
handler into a rest argument.
(deduplicate): Use 'lstat' instead of 'file-is-directory?' to properly
handle symlinks.  When iterating over the result of 'scandir', exclude
the ".links" sub-directory.
* tests/store-deduplication.scm ("deduplicate"): Create sub-directories
and call 'deduplicate' directly on STORE.
2018-06-14 11:16:59 +02:00
Ludovic Courtès 866ee8c66a
database: 'register-path' creates the database directory if needed.
* guix/store/database.scm (register-path): Call 'mkdir-p'.
2018-06-14 11:16:59 +02:00
Ludovic Courtès 33fddb763a
database: Provide a way to specify the schema location.
* guix/store/database.scm (sqlite-register): Add #:schema.  Parameterize
'sql-schema' based on this.
(register-path): Add #:schema and pass it to 'sqlite-register'.
2018-06-14 11:16:59 +02:00
Ludovic Courtès c5a2e1ffcb
build: Require Guile-SQLite3.
The next commits make (sqlite3) an indirect dependency of (gnu build
install), which is itself used by (guix scripts system), hence this new
requirement.

* configure.ac: Error out when $guix_cv_have_recent_guile_sqlite3 is
false.  Remove HAVE_GUILE_SQLITE3 Automake conditional.
* Makefile.am (MODULES, SCM_TESTS): Remove HAVE_GUILE_SQLITE3 conditions.
* doc/guix.texi (Requirements): Add Guile-SQLite3.
* README: Ditto.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-SQLITE3.
[arguments]: In 'wrap-program' phase, take guile-sqlite3 into account.
2018-06-14 11:16:58 +02:00
Ludovic Courtès 6892f0a247
store-copy: 'read-reference-graph' returns a list of records.
The previous implementation of 'read-reference-graph' was good enough
for many use cases, but it discarded the graph structure, which is
useful information in some cases.

* guix/build/store-copy.scm (<store-info>): New record type.
(read-reference-graph): Rewrite to return a list of <store-info>.
(closure-size, populate-store): Adjust accordingly.
* gnu/services/base.scm (references-file): Adjust accordingly.
* gnu/system/vm.scm (system-docker-image): Likewise.
* guix/scripts/pack.scm (squashfs-image, docker-image): Likewise.
* tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
2018-06-14 11:16:58 +02:00
Ludovic Courtès f8f9f7cabc
database: Fail registration when encountering unregistered references.
* guix/store/database.scm (add-reference-sql): Remove nested SELECT.
(add-references): Expect REFERENCES to be a list of ids.
(sqlite-register): Call 'path-id' for each of REFERENCES and pass it to
'add-references'.
* tests/store-database.scm ("register-path with unregistered references"):
New test.
2018-06-14 11:16:58 +02:00
Ludovic Courtès 3931c76154
database: 'with-database' can now initialize new databases.
* nix/libstore/schema.sql: Rename to...
* guix/store/schema.sql: ... this.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
* nix/local.mk (%D%/libstore/schema.sql.hh): Adjust accordingly.
* guix/store/database.scm (sql-schema): New variable.
(sqlite-exec, initialize-database, call-with-database): New procedures.
(with-database): Rewrite in terms of 'call-with-database'.
* tests/store-database.scm ("new database"): New test.
* guix/self.scm (compiled-guix)[*core-modules*]: Add 'schema.sql' to
 #:extra-files.
2018-06-14 11:16:58 +02:00
Efraim Flashner 03439df66f
gnu: libgcrypt: Fix CVE-2018-0495.
* gnu/packages/gnupg.scm (libgcrypt)[replacement]: New field.
(libgcrypt/fixed): New package.
2018-06-14 11:06:48 +03:00
Clément Lassieur 85d79a79e4
gnu: Add python-dns-lexicon.
* gnu/packages/python.scm (python-dns-lexicon, python2-dns-lexicon): New
variables.
2018-06-14 08:18:06 +02:00
Clément Lassieur b863b50d80
gnu: Add python-pynamecheap.
* gnu/packages/python.scm (python-pynamecheap, python2-pynamecheap): New
variables.
2018-06-14 08:18:02 +02:00
Clément Lassieur f4adbe7405
gnu: Add python-tldextract.
* gnu/packages/python.scm (python-tldextract, python2-tldextract): New
variables.
2018-06-14 08:17:59 +02:00
Clément Lassieur 0dc572380b
gnu: Add python-requests-file.
* gnu/packages/python.scm (python-requests-file, python2-requests-file): New
variables.
2018-06-14 08:17:55 +02:00
Arun Isaac 40c1b61aac
gnu: Add tmate.
* gnu/packages/terminals.scm (tmate): New variable.
2018-06-14 11:20:31 +05:30
Tobias Geerinckx-Rice 0975ca3fd4
services: tor: Mark end of auto-generated configuration block.
* gnu/services/networking.scm (tor-configuration->torrc): Clearly
demarcate auto-generated lines.
2018-06-14 05:21:35 +02:00
Tobias Geerinckx-Rice 0b5c16c07f
Fix typo in (gnu packages gtk) header.
* gnu/packages/gtk.scm: Fix ‘Coypright’ typo.
2018-06-14 04:30:50 +02:00
Tobias Geerinckx-Rice b262aba733
gnu: python-gnupg: Return #t from phase.
* gnu/packages/gnupg.scm (python-gnupg)[arguments]: Substitute INVOKE
for SYSTEM*.
2018-06-14 04:02:14 +02:00
Tobias Geerinckx-Rice ff76a1e9ca
gnu: python-gnupg: Update to 0.4.3.
* gnu/packages/gnupg.scm (python-gnupg): Update to 0.4.3.
[arguments]: Remove obsolete substitution.
2018-06-14 04:01:21 +02:00
Tobias Geerinckx-Rice 2b78360138
gnu: sssd: Update to 1.16.2.
* gnu/packages/sssd.scm (sssd): Update to 1.16.2.
[native-inputs]: Add libxml2.
2018-06-14 00:52:30 +02:00
Ludovic Courtès e2f8be0664
pull: Add '--list-generations'.
* guix/scripts/pull.scm (show-help, %options): Add '--list-generations'.
(display-profile-content, process-query): New procedures.
(guix-pull): Honor '--list-generations'.
2018-06-13 23:41:21 +02:00
Ricardo Wurmus 844cc1c8f3
gnu: pigx-scrnaseq: Update to 0.0.5.
* gnu/packages/bioinformatics.scm (pigx-scrnaseq): Update to 0.0.5.
[inputs]: Add python-magic.
2018-06-13 22:30:55 +02:00
Nicolas Goaziou 4bf474b243
gnu: emacs-orgalist: Update to 1.8.
* gnu/packages/emacs.scm (emacs-orgalist): Update to 1.8.
2018-06-13 21:38:18 +02:00
Kei Kebreau 935cb931b5
gnu: emacspeak: Update to 48.0.
* gnu/packages/emacs.scm (emacspeak): Update to 48.0.
[arguments]: Use 'invoke'.  In the 'install' phase, add additional
installation directories and fix the launch script substitution.
[inputs]: Add emacs and perl.
[native-inputs]: Remove emacs-minimal.
2018-06-13 14:44:13 -04:00
Julien Lepiller 8c655f31db
nls: Update 'fr' translation. 2018-06-13 18:50:41 +02:00
Ricardo Wurmus 6ccd88e8cb
gnu: r-factoextra: Fix syntax error.
* gnu/packages/cran.scm (r-factoextra)[description]: Fix syntax error.
2018-06-13 16:42:29 +02:00
Ricardo Wurmus 13b8dcf589
gnu: r-seurat: Update to 2.3.2.
* gnu/packages/bioinformatics.scm (r-seurat): Update to 2.3.2.
[propagated-inputs]: Add r-hdf5r.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 5b2a339e19
gnu: r-s4vectors: Update to 0.18.3.
* gnu/packages/bioinformatics.scm (r-s4vectors): Update to 0.18.3.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 5b730eba3e
gnu: r-biocviews: Update to 1.48.1.
* gnu/packages/bioinformatics.scm (r-biocviews): Update to 1.48.1.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus c812f46817
gnu: r-rjson: Update to 0.2.20.
* gnu/packages/web.scm (r-rjson): Update to 0.2.20.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 242ffd6c80
gnu: r-zoo: Update to 1.8-2.
* gnu/packages/statistics.scm (r-zoo): Update to 1.8-2.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 6221de1879
gnu: r-rmarkdown: Update to 1.10.
* gnu/packages/statistics.scm (r-rmarkdown): Update to 1.10.
[propagated-inputs]: Add r-tinytex.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus d086829d39
gnu: r-highr: Update to 0.7.
* gnu/packages/statistics.scm (r-highr): Update to 0.7.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 26a53dd957
gnu: r-stringi: Update to 1.2.3.
* gnu/packages/statistics.scm (r-stringi): Update to 1.2.3.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 3399dc97fc
gnu: r-munsell: Update to 0.5.0.
* gnu/packages/statistics.scm (r-munsell): Update to 0.5.0.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 0357db53c8
gnu: r-rgooglemaps: Update to 1.4.2.
* gnu/packages/geo.scm (r-rgooglemaps): Update to 1.4.2.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 1df9a0cf47
gnu: r-reticulate: Update to 1.8.
* gnu/packages/cran.scm (r-reticulate): Update to 1.8.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus fa7236f1b3
gnu: r-later: Update to 0.7.3.
* gnu/packages/cran.scm (r-later): Update to 0.7.3.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 36dc359186
gnu: r-radiant-data: Update to 0.9.5.
* gnu/packages/cran.scm (r-radiant-data): Update to 0.9.5.
[propagated-inputs]: Remove r-plyr; add r-glue, r-plotly, r-readxl, r-rlang,
and r-writexl.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 014818b691
gnu: r-cubature: Update to 1.3-13.
* gnu/packages/cran.scm (r-cubature): Update to 1.3-13.
2018-06-13 15:14:37 +02:00
Ricardo Wurmus 8d2f8aeddf
gnu: r-extradistr: Update to 1.8.9.
* gnu/packages/cran.scm (r-extradistr): Update to 1.8.9.
2018-06-13 15:14:37 +02:00