summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2018-05-10union: Add 'relative-file-name'.Ludovic Courtès
* guix/build/union.scm (%not-slash): New variable. (relative-file-name): New procedure. * tests/union.scm (test-relative-file-name): New macro and tests.
2018-05-10gnu: Add android-googletest.Danny Milosavljevic
* gnu/packages/android.scm (android-googletest): New variable. * guix/build-system/android-ndk.scm (android-ndk-build): Use it.
2018-05-10build-system: android-ndk: Let upstream install header files.Danny Milosavljevic
* guix/build/android-ndk-build-system.scm (install): Don't install header files ourselves.
2018-05-10build-system: android-ndk: Support unit tests.Danny Milosavljevic
* guix/build-system/android-ndk.scm (android-ndk-build): Add googletest. * guix/build/android-ndk-build-system.scm (check): Check whether tests are enabled. Run root-level tests as well.
2018-05-09build: Add the Android NDK build-system.Danny Milosavljevic
* guix/build-system/android-ndk.scm: New file. * guix/build/android-ndk-build-system.scm: New file. * Makefile.am: Add them.
2018-05-09guix: Revert accidentally committed changes.Chris Marusich
* guix/packages.go.134WZR: Remove it. This empty file was unintentionally included in ede121de426f9c56820852888a0b370f0ccbce49.
2018-05-08guix: Separate the package name and version with "@", not "-".Chris Marusich
* guix/packages.scm (package-full-name): By default, use "@" to separate the package name and package version. Add an optional delimiter argument so that there is still a way to explicitly use a different delimiter. * gnu/packages/commencement.scm (gcc-boot0) <unpack-gmp&co>: Adjust accordingly. * tests/graph.scm: Adjust accordingly. * tests/profiles.scm: Adjust accordingly. * NEWS: Mention the change. Fixes: <https://bugs.gnu.org/31088>. Reported by Pierre Neidhardt <ambrevar@gmail.com>.
2018-05-07pack: Fix handling of '-e'.Ludovic Courtès
Fixes a regression introduced in aad16cc1965ab3488449c262455eb29b15c77e95. Reported by Julien Lepiller. * guix/scripts/pack.scm (guix-pack)[manifest-from-args]: In 'match-lambda', add clause for single packages. * tests/guix-pack.sh: Add test for '-e'.
2018-05-07pack: Honor package transformation options.Ludovic Courtès
Previously they would silently be ignored. * guix/scripts/pack.scm (guix-pack)[manifest-from-args]: Add 'store' parameter. Call 'options->transformation' and use it. Move 'with-store' and 'parameterize' around the 'let'. * tests/guix-pack.sh: Add test using '--with-source'.
2018-05-07pack: Do not autoload (gnu packages base).Ludovic Courtès
* guix/scripts/pack.scm: Do not autoload (gnu packages base). Previously, we could end up with 'canonical-package' as an unbound variable because of the incorrect autoload spec.
2018-05-07self: Add "guix-packages-base" derivation.Ludovic Courtès
This introduces an intermediate derivation, thereby reducing the amount of rebuild that needs to happen when "leaf" package modules are modified. * guix/self.scm (compiled-guix)[*core-package-modules*]: New variable. [*package-modules*, *system-modules*, *cli-modules*]: Depend on it. Add it to the directory union.
2018-05-04guix build: Nicely report unbound variables with hints.Ludovic Courtès
* guix/ui.scm (print-unbound-variable-error): Add "error:" to the message. (report-unbound-variable-error): New procedure, with code formerly in 'report-load-error'. (report-load-error): Use it. (call-with-unbound-variable-handling): New procedure. (with-unbound-variable-handling): New macro. * guix/scripts/build.scm (options->derivations): Wrap body in 'with-unbound-variable-handling'. * tests/guix-build.sh (GUIX_PACKAGE_PATH): Add test.
2018-05-04ui: Factorize 'last-frame-with-source'.Ludovic Courtès
* guix/ui.scm (last-frame-with-source): New procedure. (load*)[frame-with-source]: Remove. Use 'last-frame-with-source'.
2018-05-03build: emacs-utils: Fail when byte compilation fails.Maxim Cournoyer
Byte compilation failures were ignored prior to this change. * guix/build/emacs-utils.scm (emacs-byte-compile-directory): Fail when there are compilation errors. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-05-01guix system: search: Display all provision names as 'shepherdnames'.Clément Lassieur
* guix/scripts/system/search.scm (service-type-shepherd-names): Append provision lists together instead of returning a list of provision cars.
2018-05-01compile: Exit when an exception is thrown.Ludovic Courtès
Previously we could end up with only a subset of the modules built. Fixes <https://bugs.gnu.org/31329>. * guix/build/compile.scm (call/exit-on-exception): New procedure. (exit-on-exception): New macro. (compile-files): Use it.
2018-04-30weather: Fix type error when reporting CI stats.Ludovic Courtès
* guix/scripts/weather.scm (report-server-coverage): Remove 'missing' binding above 'queued-subset' call. Before that 'queued-subset' would be called with a number instead of a list.
2018-04-30Merge branch 'staging'Marius Bakke
2018-04-30guix system: search: Display default Shepherd service names.Ludovic Courtès
Fixes <https://bugs.gnu.org/29707>. Reported by Clément Lassieur <clement@lassieur.org>. * guix/scripts/system/search.scm (service-type-default-shepherd-services) (service-type-shepherd-names): New procedures. (service-type->recutils): Use it. * tests/guix-system.sh: Add test.
2018-04-27guix system: Report wrong file system 'device' fields.Ludovic Courtès
Previously, if you wrote (device "my-label") without (title 'label), you'd get: guix system: error: stat: No such file or directory: "my-label" Now you get a proper error and a hint. Reported by Pierre-Antoine Rouby. * guix/scripts/system.scm (check-file-system-availability)[literal]: New variable. Loop over LITERAL. * gnu/system/file-systems.scm (%pseudo-file-system-types): New variable. * guix/ui.scm (display-hint): Make public.
2018-04-25Merge branch 'master' into stagingMarius Bakke
2018-04-23download: Use ungrafted tools in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.Ludovic Courtès
Fixes <https://bugs.gnu.org/31085>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * guix/download.scm (url-fetch/tarbomb): Pass #:graft? #f to 'gexp->derivation'. (url-fetch/zipbomb): Likewise.
2018-04-20build-system: emacs: Add improved check phase.Maxim Cournoyer
* guix/build-system/emacs.scm (emacs-build): Add #:test-command keyword argument. Remove #:configure-flags and #:test-target keyword arguments. * guix/build/emacs-build-system.scm (check): New procedure. (%standard-phases): Register check phase after the build phase. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-20build-system: emacs: Replace system* with invoke.Maxim Cournoyer
* guix/build/emacs-utils.scm: Use (guix build utils) for invoke. (emacs-batch-eval, emacs-batch-edit-file): Replace system* with invoke. * guix/build/emacs-build-system.scm (make-autoloads): No need to return #t explicitly since emacs-generate-autoloads now uses invoke. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-20build-system: emacs: Search all inputs for Emacs Lisp directories.Maxim Cournoyer
* guix/build/emacs-build-system.scm (set-emacs-load-path): Include Emacs Lisp directories from all inputs. Also, add the unpacked source directory to EMACSLOADPATH. (emacs-inputs, emacs-inputs-directories, emacs-input->el-directory, emacs-inputs-el-directories): Remove. (%standard-phases): Move set-emacs-load-path phase to after unpack phase. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-16Merge branch 'master' into stagingMarius Bakke
2018-04-15build-system/meson: Don't override LDFLAGS if already set.Marius Bakke
* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. (cherry picked from commit 611c27db2aec8c2f72bc0c1e5c7d126dc95b39b2)
2018-04-11self: Produce a spliced (guix config) to placate Guile 2.0.Ludovic Courtès
Fixes 'guix pull' with Guile 2.0. See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27284#153>. * guix/self.scm (make-config.scm): Remove 'begin' in 'scheme-file' argument and pass #:splice? #t.
2018-04-11gexp: 'scheme-file' can splice expressions.Ludovic Courtès
* guix/gexp.scm (<scheme-file>)[splice?]: New field. (scheme-file): Add #:splice? and pass it to '%scheme-file'. (scheme-file-compiler): Pass SPLICE? to 'gexp->file'. (gexp->file): Add #:splice? and honor it. * tests/gexp.scm ("gexp->file + #:splice?"): New test. ("gexp->derivation & with-imported-module & computed module"): Use #:splice? #t.
2018-04-11self: 'package-for-guile' really honors GUILE-VERSION.Ludovic Courtès
* guix/self.scm (package-for-guile): Pass GUILE-VERSION to 'false-if-wrong-guile'.
2018-04-11self: Remove 'eval-when' from in generated (guix config).Ludovic Courtès
* guix/self.scm (make-config.scm): Remove unneeded 'eval-when'.
2018-04-10self: Don't use deprecated package names.Ludovic Courtès
* guix/self.scm (compiled-guix)[guile-json, guile-ssh]: Don't refer t "guile2.2-json" and "guile2.2-ssh", which are deprecated.
2018-04-10self: Export '%guix-register-program' in generated (guix config).Ludovic Courtès
* guix/self.scm (make-config.scm): Export '%guix-register-program'.
2018-04-10self: Fix package names for compilation with Guile 2.0.Ludovic Courtès
Reported by Ricardo Wurmus. * guix/self.scm (specification->package): Add guile2.0-{json,git,ssh}. (guile-for-build): Use 'module-ref' for Guile 2.0.
2018-04-10self: Display a new line at the end of module compilation.Ludovic Courtès
* guix/self.scm (compiled-modules)[build]: Add a 'newline' call at the end.
2018-04-10self: Don't substitute the '-source' derivations.Ludovic Courtès
With substitution enabled we would end up downloading 10+ MiB of source that's already available locally on disk. * guix/self.scm (imported-files): Pass #:options to 'computed-file'.
2018-04-08discovery: Remove dependency on (guix ui).Ludovic Courtès
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.
2018-04-08Add (guix self).Ludovic Courtès
* 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'.
2018-04-08gexp: 'directory-union' has a #:resolve-collision parameter.Ludovic Courtès
* guix/gexp.scm (directory-union): Add #:resolve-collision and honor it.
2018-04-08union: Allow callers to choose the collision resolution policy.Ludovic Courtès
* 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.
2018-04-08modules: Report the search path in &missing-dependency-error.Ludovic Courtès
* guix/modules.scm (&missing-dependency-error)[search-path]: New field. (source-module-dependencies): Initialize the 'search-path' field.
2018-04-02git: Increase modularity and expose 'update-cached-checkout'.Ludovic Courtès
* 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.
2018-03-31union: Slightly improve messages for file collisions.Ludovic Courtès
* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message.
2018-03-31guix package: Add '--allow-collisions'.Ludovic Courtès
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'.
2018-03-30gnu: rust: Update rust to 1.24.1.Nikolai Merinov
* 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.
2018-03-28weather: Report continuous integration stats.Ludovic Courtès
* guix/scripts/weather.scm (histogram, throughput, queued-subset): New procedures. (report-server-coverage): Report CI information. * doc/guix.texi (Invoking guix weather): Document it.
2018-03-28Add (guix ci).Ludovic Courtès
* guix/ci.scm: New file. * Makefile.am (MODULES): Add it.
2018-03-27guix environment: load manifest files like "guix package" doesKonrad Hinsen
* 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>
2018-03-27guix gc: Add '--derivers'.Ludovic Courtès
* 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.
2018-03-27graph: Add "module" node type.Ludovic Courtès
* 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.