summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2018-07-02self: Use #:guile-for-build in the shebang of the 'guix' executable....* guix/self.scm (guix-command): Add #:guile and pass it to 'program-file'. (whole-package): Add #:guile and pass it to 'guix-command'. (compiled-guix): Pass #:guile to 'guix-command' and 'whole-package'. Ludovic Courtès
2018-07-02utils: Micro-optimize 'source-properties->location'....* guix/utils.scm (source-properties->location): Destructure LOC with 'match', adding a fast path without 'assq-ref' calls. Ludovic Courtès
2018-07-02utils: Disable memoization for 'location'....This was getting 25% hits, which did not quite justify the overhead. * guix/utils.scm (location): Remove 'mlambda'. Ludovic Courtès
2018-07-02Merge branch 'master' into stagingMarius Bakke
2018-07-02build-system/meson: Really skip the 'fix-runpath' phase on armhf....This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't work because %current-system etc expands before the actual build. Fixes <https://bugs.gnu.org/31719>. * guix/build-system/meson.scm (meson-build)[builder]: Compare against the already existing "system" variable rather than (%current-system). Marius Bakke
2018-06-29ui: Increase relevance score for exact matches....Previously "guix package -s python" would have 'python2-zope-interface' as its first result (relevance: 10), followed by many other python-* packages with the same score, while 'python' itself would come later (relevance: 7). This change makes 'python' the first result (relevance: 27). Reported by Gábor Boskovits. * guix/ui.scm (relevance)[score]: Use 'fold-matches' instead of 'match:count' to counter the number of maches. Give more weight to exact matches. Ludovic Courtès
2018-06-28gnu: java: Return #t from all phases and snippets....* guix/build/java-utils.scm (ant-build-javadoc): Use invoke; return #t. * guix/build/ant-build-system.scm (generate-jar-indices): Return #t and remove vestigal plumbing. * gnu/packages/java.scm (classpath-bootstrap, ant-bootstrap, classpath-devel) (icedtea-6, icedtea-7, java-plexus-sec-dispatcher, ant/java8, clojure) (java-classpathx-servletapi, java-swt, java-qdox-1.12, java-hamcrest-core) (java-plexus-archiver, java-plexus-sec-dispatcher, java-modello-plugins-xml) (java-asm, java-commons-collections, java-commons-bsf, java-slf4j-api) (java-slf4j-api, java-slf4j-simple, java-stringtemplate-3) (java-stringtemplate, antlr3, antlr3-3.3, antlr3-3.1, java-ops4j-base-lang) (java-ops4j-pax-tinybundles, java-ops4j-pax-exam-core-spi) (java-fasterxml-jackson-core, java-fasterxml-jackson-databind) (java-fasterxml-jackson-modules-base-jaxb, java-ecj-3, java-ecj-3.5) (java-fasterxml-jackson-dataformat-yaml, java-woodstox-core) (java-fasterxml-jackson-dataformat-xml, java-testng, java-jnacl) (java-bouncycastle, java-powermock-core, java-powermock-modules-junit4) (java-jansi-native, java-jansi, java-commons-httpclient, java-commons-vfs) (java-apache-ivy, java-janino, java-logback-core): Return #t from all phases and snippets, use invoke where appropriate, and remove vestigial plumbing. Mark H Weaver
2018-06-28meson-build-system: Return #t from all phases....* guix/build/meson-build-system.scm (configure, build, check, install): (fix-runpath): Use 'invoke' and return #t from all phases. Mark H Weaver
2018-06-27self: Add dependency on GnuTLS....Fixes <https://bugs.gnu.org/31983>. Reported by Fis Trivial <ybbs.daans@hotmail.com>. * guix/self.scm (specification->package): Add "gnutls" and "guile2.0-gnutls". (compiled-guix)[gnutls]: New variable. [dependencies]: Add it. Ludovic Courtès
2018-06-28scripts: gc: Report size in MiBs instead of bytes....* guix/scripts/gc.scm (guix-gc): Show info in MiBs not bytes. Taylan Kammer
2018-06-27ui: Hint at the installation of locale packages and 'GUIX_LOCPATH'....* guix/ui.scm (install-locale): Hide the "warning: failed to install locale" on Guile 2.2. Add a hint about 'glibc-utf8-locales' and 'GUIX_LOCPATH'. Ludovic Courtès
2018-06-26store: Add 'port->connection'....* guix/store.scm (port->connection): New procedure. Ludovic Courtès
2018-06-26Merge branch 'master' into stagingMarius Bakke
2018-06-25pack: Squashfs build expression refers to (guix store database) & co....Fixes a regression introduced in c45477d2a1a651485feede20fe0f3d15aec48b39. Reported by Christopher Baines <mail@cbaines.net>. * guix/scripts/pack.scm (not-config?, guile-sqlite3&co): New variables. (self-contained-tarball)[not-config?]: Remove. [build]: Use GUILE-SQLITE3&CO for 'with-extensions'. (squashfs-image)[libgcrypt]: New variable. [build]: Use 'source-module-closure', 'make-config.scm', and 'with-extensions'. (docker-image)[not-config?]: Remove. Ludovic Courtès
2018-06-24pack: Fix guix pack -f docker....Without this change, running guix pack fails as (guix sets) is missing when compiling (guix build store-copy). * guix/scripts/pack.scm (docker-image): Move (guix build store-copy) to within the source-module-closure call. Christopher Baines
2018-06-21guix: Fix system reconfigure....This is a follow-up to 378daa8cb677121e1893f9173af1db060720d6e4. * guix/scripts/system.scm (switch-to-system): Lower the script. Ricardo Wurmus
2018-06-21Merge branch 'master' into stagingMarius Bakke
2018-06-20guix system: 'list-generation' correctly displays file system labels....* guix/scripts/system.scm (display-system-generation): Correctly display file system labels. Previously, starting from commit a5acc17a3c10a3779b5b8b1a2565ef130be77e51, it'd print #<file-system-label "foo">. Ludovic Courtès
2018-06-19Merge branch 'master' into stagingMarius Bakke
2018-06-19build-system/waf: Use invoke....* guix/build/waf-build-system.scm (call-waf): Use "invoke" and unconditionally return #t. Ricardo Wurmus
2018-06-18self: Define derived '-directory' variables in config.scm....This is a followup to d6b5aa0b031f0e7091f7424ac616d1c4d10fed5b. * guix/self.scm (%config-variables): Remove %CONFIG-DIRECTORY, %STATE-DIRECTORY, %STORE-DATABASE-DIRECTORY, and %STORE-DIRECTORY. (make-config.scm): Define them here. * build-aux/build-self.scm (%config-variables, make-config.scm): Likewise. Ludovic Courtès
2018-06-18build: Remove checks for 'nix-instantiate'....* guix/import/snix.scm (open-nixpkgs): Use "nix-instantiate" unconditionally. * configure.ac: Remove check for 'nix-instantiate'. * guix/config.scm.in (%nix-instantiate): Remove. * guix/self.scm (%dependency-variables): Remove '%nix-instantiate'. (make-config.scm): Remove it from the generated "config.scm". * build-aux/build-self.scm (%dependency-variables, make-config.scm): Likewise. Ludovic Courtès
2018-06-18self: Make (guix config) generation really stateless....Previously the %CONFIG-VARIABLES list would be generated based on what the current (guix config) contains. Thus, it would include '%guix-register-program', which we recently removed, because existing (guix config) most likely contained that variable. Since its value could differ from machine to machine, the build farm could be building a different config.scm, thereby preventing people from getting substitutes. * guix/self.scm (%config-variables): Turn into a white list instead of taking all the remaining variables from the current (guix config). * build-aux/build-self.scm (%config-variables): Likewise. Ludovic Courtès
2018-06-18compile: Work around non-thread-safe module autoloading....* guix/build/compile.scm <top level>: Set 'try-module-autoload' when running on Guile < 2.2.4. Ludovic Courtès
2018-06-18guix: ant-build-system: Use manifest task to create manifest....* guix/build/ant-build-system.scm (default-build.xml): Use manifest task to create manifest file instead of a custom echo task. Gábor Boskovits
2018-06-18Merge branch 'master' into stagingMarius Bakke
2018-06-18build-system/r: Accept #:r argument....* guix/build-system/r.scm (lower): Add #:r to private-keywords. Ricardo Wurmus
2018-06-17self: Install .go files to 'lib/guile/X.Y/site-ccache'....* guix/self.scm (guix-command): Add 'compiled-modules' parameter and honor it. (whole-package): Likewise. (compiled-guix)[built-modules]: Turn into a procedure. When PULL-VERSION is 1, use separate source and compiled modules. When PULL-VERSION is 0, return a single directory containing both .scm and .go files. Ludovic Courtès
2018-06-16gnu: ldb: Fix build on 32-bit systems....* guix/utils.scm (target-64bit?): New procedure. * gnu/packages/samba.scm (ldb)[inputs]: Only add LMDB on 64-bit systems. [arguments]: Make #:tests? conditional on LMDB availability. Marius Bakke
2018-06-16build-system/ant: Unconditionally return #t in build phases....* guix/build/ant-build-system.scm (unpack, build, strip-jar-timestamps, check, install): Use invoke. Signed-off-by: Gábor Boskovits <boskovits@gmail.com> Ricardo Wurmus
2018-06-15offload: Fix error message in 'guix offload test'....Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com> in <https://bugs.gnu.org/31824>. * guix/scripts/offload.scm (assert-node-has-guix): Fix typo in failure message; add missing argument. Ludovic Courtès
2018-06-14offload: Gracefully handle invalid results from 'machines.scm'....* guix/scripts/offload.scm (build-machines): Check the result of FILE. Ignore it if it's not a list of <build-machine>. Ludovic Courtès
2018-06-14self: Add 'guix-daemon' to the result....* gnu/packages/package-management.scm (guix-daemon): New variable. * guix/self.scm (whole-package): Add #:daemon and honor it. (compiled-guix): Pass #:daemon to 'whole-package'. Ludovic Courtès
2018-06-14guix: ui: Allow translation of dates....* guix/ui.scm (display-generation): Allow translation of dates. The format string will show dates as month day year, but some languages use a different convention. Julien Lepiller
2018-06-14Remove 'guix-register' and its traces....* Makefile.am (SH_TESTS): Remove tests/guix-register.sh. * build-aux/pre-inst-env.in (GUIX_REGISTER): Remove. * gnu/build/install.scm (directives): Remove outdated comment. * gnu/build/vm.scm (root-partition-initializer): Update comment. * gnu/packages/package-management.scm (guix-register): Remove. * guix/config.scm.in (%sbindir, %guix-register-program): Remove. * guix/scripts/system.scm (install): Adjust docstring. * guix/self.scm (make-config.scm): Remove #:guix. Do not generate %sbindir and %guix-register-program. (specification->package): Remove "guix". * nix/guix-register/guix-register.cc: Remove. * nix/libstore/store-api.cc (decodeValidPathInfo): Remove. * nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration. * nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES) (guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove. * tests/guix-register.sh: Remove. Ludovic Courtès
2018-06-14store: 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. Ludovic Courtès
2018-06-14database: 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. Ludovic Courtès
2018-06-14install: 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). Ludovic Courtès
2018-06-14database: 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'. Ludovic Courtès
2018-06-14database: '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. Ludovic Courtès
2018-06-14install: 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). Ludovic Courtès
2018-06-14database: 'reset-timestamps' sets file permissions as well....* guix/store/database.scm (reset-timestamps): Add 'chmod' calls. Ludovic Courtès
2018-06-14database: Replace existing entries in Refs....* guix/store/database.scm (add-reference-sql): Add "OR REPLACE". Ludovic Courtès
2018-06-14database: Add #:reset-timestamps? to 'register-path'....* guix/store/database.scm (register-path): Add #:reset-timestamps? and honor it. Ludovic Courtès
2018-06-14database: Remove extra SQL parameter in 'update-or-insert'....* guix/store/database.scm (update-or-insert): Remove extra #:path parameter. Ludovic Courtès
2018-06-14deduplicate: 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. Ludovic Courtès
2018-06-14database: 'register-path' creates the database directory if needed....* guix/store/database.scm (register-path): Call 'mkdir-p'. Ludovic Courtès
2018-06-14database: 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'. Ludovic Courtès
2018-06-14store-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. Ludovic Courtès
2018-06-14database: 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. Ludovic Courtès