summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2018-04-10Merge branch 'master' into core-updatesMark H Weaver
2018-04-08discovery: Remove dependency on (guix ui).•••This reduces the closure of (guix discovery) from 28 to 8 modules. * guix/discovery.scm (scheme-files): Use 'format' instead of 'warning'. (scheme-modules): Add #:warn parameter. Use it instead of 'warn-about-load-error'. (fold-modules): Add #:warn and pass it to 'scheme-modules'. (all-modules): Likewise. * gnu/bootloader.scm (bootloader-modules): Pass #:warn to 'all-modules'. * gnu/packages.scm (fold-packages): Likewise. * gnu/services.scm (all-service-modules): Likewise. * guix/upstream.scm (importer-modules): Likewise. Ludovic Courtès
2018-04-08Add (guix self).•••* guix/self.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm (%distro-root-directory): Rewrite to try different directories. * guix/discovery.scm (guix): Export 'scheme-files'. Ludovic Courtès
2018-04-08gexp: 'directory-union' has a #:resolve-collision parameter.•••* guix/gexp.scm (directory-union): Add #:resolve-collision and honor it. Ludovic Courtès
2018-04-08union: Allow callers to choose the collision resolution policy.•••* guix/build/union.scm (warn-about-collision): New procedure. (union-build): Add #:resolve-collision. [resolve-collisions]: Call it. * tests/union.scm ("union-build collision first & last"): New test. Ludovic Courtès
2018-04-08modules: Report the search path in &missing-dependency-error.•••* guix/modules.scm (&missing-dependency-error)[search-path]: New field. (source-module-dependencies): Initialize the 'search-path' field. Ludovic Courtès
2018-04-02git: Increase modularity and expose 'update-cached-checkout'.•••* guix/git.scm (repository->head-sha1, copy-to-store): Remove. (switch-to-ref): Return the OID of OBJ. (update-cached-checkout): New procedure, with code from 'latest-repository-commit'. (latest-repository-commit): Use it. Ludovic Courtès
2018-04-02build-system/meson: Don't override LDFLAGS if already set.•••* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. Marius Bakke
2018-04-01gexp: 'compiled-modules' prints a line for each module.•••* guix/gexp.scm (compiled-modules)[build]: Add 'processed' parameter to 'process-entry' and 'process-directory'. Print a message before each 'compile-file' call. Ludovic Courtès
2018-04-01gexp: compiled-modules: Factorize build code.•••* guix/gexp.scm (compiled-modules)[build]: Factorize 'process-entry'. Ludovic Courtès
2018-03-31union: Slightly improve messages for file collisions.•••* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message. Ludovic Courtès
2018-03-31guix package: Add '--allow-collisions'.•••Fixes <https://bugs.gnu.org/30830>. Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/scripts/package.scm (build-and-use-profile): Add #:allow-collisions? and pass it to 'profile-derivation'. (show-help, %options): Add '--allow-collisions'. (manifest-action, process-actions): Pass #:allow-collisions? to 'build-and-use-profile'. * tests/guix-package.sh: Add collision test. * doc/guix.texi (Invoking guix package): Document '--allow-collisions'. Ludovic Courtès
2018-03-30gnu: rust: Update rust to 1.24.1.•••* gnu/packages/rust.scm (rust-bootstrap): Freeze bootstrap version to 1.22.1. Reorganize bootstrap binaries to match new "rust" package structure with two ouputs "out" with Rust compiler and "cargo" with Cargo package manager. Replace all "system*" by "invoke". (rust-1.23): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for parts that were fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. Replace all "system*" by "invoke". (rust): Create package for 1.24.1 rust release based on rust-1.23 release. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" of default output of "rust" package, use "cargo" as "cargo" output of "rust" package. Nikolai Merinov
2018-03-29ld-wrapper: Allow linking with non-store libraries by default.•••This was suggested on several occasions, notably <https://bugs.gnu.org/24544>. * gnu/packages/ld-wrapper.in (%allow-impurities?): Default to #t and parse the value of 'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'. * guix/build/gnu-build-system.scm (set-paths): Set 'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'. Ludovic Courtès
2018-03-29gremlin: Fix typo in export list.•••* guix/build/gremlin.scm: Really export 'elf-dynamic-info-soname'. Ludovic Courtès
2018-03-29Merge branch 'master' into core-updatesMarius Bakke
2018-03-28weather: Report continuous integration stats.•••* guix/scripts/weather.scm (histogram, throughput, queued-subset): New procedures. (report-server-coverage): Report CI information. * doc/guix.texi (Invoking guix weather): Document it. Ludovic Courtès
2018-03-28Add (guix ci).•••* guix/ci.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2018-03-27guix environment: load manifest files like "guix package" does•••* guix/scripts/environment.scm (options/resolve-packages): When loading manifest files, use the same module environment as in "guix package". Signed-off-by: Ludovic Courtès <ludovic.courtes@inria.fr> Konrad Hinsen
2018-03-27guix gc: Add '--derivers'.•••* guix/scripts/gc.scm (show-help, %options): Add '--derivers'. (guix-gc): Handle 'list-derivers'. * tests/guix-gc.sh: Add test. * doc/guix.texi (Invoking guix gc): Document it. Ludovic Courtès
2018-03-27graph: Add "module" node type.•••* guix/scripts/graph.scm (module-from-package) (source-module-dependencies*): New procedures. (%module-node-type): New variable. (%node-types): Add it. * guix/modules.scm (source-module-dependencies): Export. * tests/graph.scm ("module graph"): New test. * doc/guix.texi (Invoking guix graph): Document it. Ludovic Courtès
2018-03-26guix build: 'guix build --log-file' gracefully reports certificate errors.•••Previously 'guix build --log-file' would print a backtrace upon X.509 certificate verification errors. * guix/scripts/build.scm (log-url): Catch 'tls-certificate-error' in addition to 'getaddrinfo-error'. Ludovic Courtès
2018-03-26git: 'latest-repository-commit' calls 'repository-close!'.•••* guix/git.scm (latest-repository-commit): Call 'repository-close!' when it exists. Ludovic Courtès
2018-03-24system: Add "guix system docker-image" command.•••* gnu/system/vm.scm (system-docker-image): New procedure. * guix/scripts/system.scm (system-derivation-for-action): Add a case for docker-image, and in that case, call system-docker-image. (show-help): Document docker-image. (guix-system): Parse arguments for docker-image. * doc/guix.texi (Invoking guix system): Document "guix system docker-image". * gnu/system/examples/docker-image.tmpl: New file. Chris Marusich
2018-03-24guix: Rewrite build-docker-image to allow more paths.•••* guix/docker.scm (build-docker-image): Rename "path" argument to "prefix" to reflect the fact that it is used as a prefix for the symlink targets. Add the "paths" argument, and remove the "closure" argument, since it is now redundant. Add a "transformations" argument. * guix/scripts/pack.scm (docker-image): Read the profile's reference graph and provide its paths to build-docker-image via the new "paths" argument. Chris Marusich
2018-03-24tests: Add tests for "guix pack".•••* guix/scripts/pack.scm (bootstrap-xz): New variable. (%options) <--bootstrap>: New option. (show-help): Document the new --bootstrap option. (guix-pack): When --bootstrap is specified, use the bootstrap Guile, tar, and xz to build the pack, and do not use any profile hooks or locales. * doc/guix.texi (Invoking guix pull): Document the new --bootstrap option. * tests/guix-pack.sh: New file. * Makefile.am (SH_TESTS): Add guix-pack.sh. * gnu/packages/package-management.scm (guix) <inputs>: Add util-linux. Chris Marusich
2018-03-23gexp: 'program-file' has a new #:module-path parameter.•••* guix/gexp.scm (<program-file>): Add 'path' field. (program-file): Add #:module-path parameter and honor it. (program-file-compiler): Honor the 'path' field. * tests/gexp.scm ("program-file #:module-path"): New test. * doc/guix.texi (G-Expressions): Update. Ludovic Courtès
2018-03-23gexp: 'gexp->script' and 'gexp->file' have a new #:module-path parameter.•••* guix/gexp.scm (load-path-expression): Add 'path' optional parameter. (gexp->script): Add #:module-path and honor it. (gexp->file): Likewise. * tests/gexp.scm ("gexp->script #:module-path"): New test. * doc/guix.texi (G-Expressions): Update accordingly. Ludovic Courtès
2018-03-20Merge branch 'master' into core-updatesMark H Weaver
2018-03-20Correct name and Email for ng0.•••* .mailmap: Correct name and Email for ng0. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ng0
2018-03-20build-system/gnu: Fix typo.•••* guix/build/gnu-build-system.scm (dump-file-contents): Fix typo in 'string-pad' argument. Ludovic Courtès
2018-03-20build-system/gnu: Dump test suite logs upon 'check' failure.•••Suggested by Mark H Weaver <mhw@netris.org>. * guix/build/gnu-build-system.scm (dump-file-contents): New procedure. (%test-suite-log-regexp): New variable. (check): Add #:test-suite-log-regexp. Catch 'invoke-error?' and call 'dump-file-contents' upon error. Ludovic Courtès
2018-03-20Merge branch 'master' into core-updatesMark H Weaver
2018-03-20Revert "build-system/meson: Use 'target-arm32?' for armhf-linux case."•••This requires adding (guix utils) to the build inputs, and causes too many rebuilds for now. This reverts commit 24a2e9172a2d8970d57865c6130f2184385183a3. Marius Bakke
2018-03-19build-system/meson: Use 'target-arm32?' for armhf-linux case.•••* guix/build-system/meson.scm (lower, meson-build): Replace armhf-linux detection with 'target-arm32?' macro. Efraim Flashner
2018-03-19Merge branch 'master' into stagingMarius Bakke
2018-03-18git-download: Fix recursive checkouts.•••* guix/git-download.scm (git-fetch)<build>: Fix match on INPUTS, which may contain package outputs. Eric Bavier
2018-03-18glob: Add an extra glob pattern compilation stage.•••* guix/glob.scm (compile-glob-pattern): Rename to... (string->sglob): ... this. (compile-sglob, string->compiled-sglob): New procedures. (glob-match?): Replace '?, 'range, and 'set with a single clause. * tests/glob.scm (test-compile-glob-pattern): Rename to... (test-string->sglob): ... this. Adjust accordingly. (test-glob-match): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. * gnu/build/linux-modules.scm (read-module-aliases): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. Ludovic Courtès
2018-03-18glob: Support square brackets in patterns.•••* guix/glob.scm (wildcard-indices): Remove. (parse-bracket): New procedure. (compile-glob-pattern): Rewrite. Support square brackets for sets and ranges. (glob-match?): Support sets and ranges. * tests/glob.scm (test-compile-glob-pattern) (test-glob-match): New macros. Use them to rewrite the existing tests, and add new tests. Ludovic Courtès
2018-03-18import: elpa: Return 'license:gpl3+ for ELPA only.•••Fixes <https://bugs.gnu.org/30836>. Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>. * guix/import/elpa.scm (elpa-package->sexp): Add LICENSE parameter and honor it. (elpa->guix-package): Pass 'license:gpl3+ only when REPO is 'gnu. Ludovic Courtès
2018-03-18build-system/python: Fix deletion of .egg-info dirs created by tests.•••* guix/build/python-build-system.scm (check): Use 'string=?' to compare strings, not 'eqv?'. Mark H Weaver
2018-03-18build-system/python: Return #t from all phases.•••* guix/build/python-build-system.scm (build, install, wrap): Return #t. (check): Return #t and remove vestigial plumbing. Mark H Weaver
2018-03-18Merge branch 'master' into stagingMarius Bakke
2018-03-18git: 'switch-to-ref' accepts short commit IDs.•••Fixes <https://bugs.gnu.org/30716>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * guix/git.scm (switch-to-ref): When REF is a commit, check the length of COMMIT and use 'object-lookup-prefix' if available. Ludovic Courtès
2018-03-18import: elpa: Fix typos in documentation strings•••* guix/import/elpa.scm: Fix typos in docstrings. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Konrad Hinsen
2018-03-18import: elpa: use https in download URLs•••* guix/import/elpa.scm (elpa-url): Use HTTPS. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Konrad Hinsen
2018-03-17download: Remove TU Wien mirror.•••* guix/download.scm (%mirrors): Remove gd.tuwien.ac.at, which no longer seems to exist. Mark H Weaver
2018-03-17Merge branch 'master' into core-updatesMark H Weaver
2018-03-16build-system/gnu: Tolerate errors during the 'strip' phase.•••This is a followup to commit 9a87649c863e1ff8b073b356875eb05eecedbcf7. * guix/build/gnu-build-system.scm (strip)[strip-dir]: If an invoke error occurs, issue a warning and continue to the next file. This restores the tolerance of stripping errors prior to commit 9a87649. Mark H Weaver
2018-03-16utils: invoke: Raise exceptions using SRFI-34 and SRFI-35.•••* guix/build/utils.scm (&invoke-error): New condition type. (invoke-error?, invoke-error-program, invoke-error-arguments) (invoke-error-exit-status, invoke-error-term-signal) (invoke-error-stop-signal): New exported procedures. (invoke): Raise exceptions using SRFI-34 and SRFI-35. * guix/ui.scm (call-with-error-handling): Add a guard clause for &invoke-error conditions. Mark H Weaver