aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* build-system: android-ndk: Support unit tests.•••* 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. Danny Milosavljevic2018-05-10
* build: Add the Android NDK build-system.•••* guix/build-system/android-ndk.scm: New file. * guix/build/android-ndk-build-system.scm: New file. * Makefile.am: Add them. Danny Milosavljevic2018-05-09
* guix: Revert accidentally committed changes.•••* guix/packages.go.134WZR: Remove it. This empty file was unintentionally included in ede121de426f9c56820852888a0b370f0ccbce49. Chris Marusich2018-05-09
* guix: Separate the package name and version with "@", not "-".•••* 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>. Chris Marusich2018-05-08
* pack: Fix handling of '-e'.•••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'. Ludovic Courtès2018-05-07
* pack: Honor package transformation options.•••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'. Ludovic Courtès2018-05-07
* pack: Do not autoload (gnu packages base).•••* 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. Ludovic Courtès2018-05-07
* self: Add "guix-packages-base" derivation.•••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. Ludovic Courtès2018-05-07
* guix build: Nicely report unbound variables with hints.•••* 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. Ludovic Courtès2018-05-04
* ui: Factorize 'last-frame-with-source'.•••* guix/ui.scm (last-frame-with-source): New procedure. (load*)[frame-with-source]: Remove. Use 'last-frame-with-source'. Ludovic Courtès2018-05-04
* build: emacs-utils: Fail when byte compilation fails.•••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> Maxim Cournoyer2018-05-03
* guix system: search: Display all provision names as 'shepherdnames'.•••* guix/scripts/system/search.scm (service-type-shepherd-names): Append provision lists together instead of returning a list of provision cars. Clément Lassieur2018-05-01
* compile: Exit when an exception is thrown.•••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. Ludovic Courtès2018-05-01
* weather: Fix type error when reporting CI stats.•••* 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. Ludovic Courtès2018-04-30
* Merge branch 'staging'Marius Bakke2018-04-30
|\
| * Merge branch 'master' into stagingMarius Bakke2018-04-25
| |\
| * \ Merge branch 'master' into stagingMarius Bakke2018-04-16
| |\ \
| * | | build-system/meson: Don't override LDFLAGS if already set.•••* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. (cherry picked from commit 611c27db2aec8c2f72bc0c1e5c7d126dc95b39b2) Marius Bakke2018-04-15
| * | | Revert "build-system/meson: Use 'target-arm32?' for armhf-linux case."•••This reverts commit 3a7597e4147235781d43ba9cef7a52ced9ea5e7a. Efraim Flashner2018-03-22
| * | | build-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 Flashner2018-03-22
* | | | guix system: search: Display default Shepherd service names.•••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. Ludovic Courtès2018-04-30
* | | | guix system: Report wrong file system 'device' fields.•••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. Ludovic Courtès2018-04-27
| |_|/ |/| |
* | | download: Use ungrafted tools in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.•••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. Ludovic Courtès2018-04-23
* | | build-system: emacs: Add improved check phase.•••* 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> Maxim Cournoyer2018-04-20
* | | build-system: emacs: Replace system* with invoke.•••* 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> Maxim Cournoyer2018-04-20
* | | build-system: emacs: Search all inputs for Emacs Lisp directories.•••* 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> Maxim Cournoyer2018-04-20
| |/ |/|
* | self: Produce a spliced (guix config) to placate Guile 2.0.•••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. Ludovic Courtès2018-04-11
* | gexp: 'scheme-file' can splice expressions.•••* 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. Ludovic Courtès2018-04-11
* | self: 'package-for-guile' really honors GUILE-VERSION.•••* guix/self.scm (package-for-guile): Pass GUILE-VERSION to 'false-if-wrong-guile'. Ludovic Courtès2018-04-11
* | self: Remove 'eval-when' from in generated (guix config).•••* guix/self.scm (make-config.scm): Remove unneeded 'eval-when'. Ludovic Courtès2018-04-11
* | self: Don't use deprecated package names.•••* guix/self.scm (compiled-guix)[guile-json, guile-ssh]: Don't refer t "guile2.2-json" and "guile2.2-ssh", which are deprecated. Ludovic Courtès2018-04-10
* | self: Export '%guix-register-program' in generated (guix config).•••* guix/self.scm (make-config.scm): Export '%guix-register-program'. Ludovic Courtès2018-04-10
* | self: Fix package names for compilation with Guile 2.0.•••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. Ludovic Courtès2018-04-10
* | self: Display a new line at the end of module compilation.•••* guix/self.scm (compiled-modules)[build]: Add a 'newline' call at the end. Ludovic Courtès2018-04-10
* | self: Don't substitute the '-source' derivations.•••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'. Ludovic Courtès2018-04-10
* | discovery: 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ès2018-04-08
* | Add (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ès2018-04-08
* | gexp: 'directory-union' has a #:resolve-collision parameter.•••* guix/gexp.scm (directory-union): Add #:resolve-collision and honor it. Ludovic Courtès2018-04-08
* | union: 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ès2018-04-08
* | modules: 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ès2018-04-08
* | git: 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ès2018-04-02
* | union: Slightly improve messages for file collisions.•••* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message. Ludovic Courtès2018-03-31
* | guix 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ès2018-03-31
* | gnu: 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 Merinov2018-03-30
* | weather: 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ès2018-03-28
* | Add (guix ci).•••* guix/ci.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès2018-03-28
* | guix 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 Hinsen2018-03-27
* | guix 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ès2018-03-27
* | graph: 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ès2018-03-27
* | guix 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ès2018-03-26