aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* records: Insert record type ABI checks in constructors.Ludovic Courtès2018-05-23
| | | | | | | | | | | * guix/records.scm (print-record-abi-mismatch-error): New procedure. <top level>: Add 'set-exception-printer!' call. (current-abi-identifier, abi-check): New procedures. (make-syntactic-constructor): Add #:abi-cookie parameter. Insert calls to 'abi-check'. (define-record-type*)[compute-abi-cookie]: New procedure. Use it and emit a definition of the 'current-abi-identifier' for TYPE. * tests/records.scm ("ABI checks"): New test.
* profiles: Add hook to generate "gschemas.compiled".Danny Milosavljevic2018-05-21
| | | | | * guix/profiles.scm (glib-schemas): New procedure. (%default-profile-hooks): Add it.
* union: Do not warn about harmless collisions.Ludovic Courtès2018-05-17
| | | | | | | | | | | | Until now we'd get pointless messages like: warning: collision encountered: /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache /gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache * guix/build/union.scm (%harmless-collisions): New variable. (warn-about-collision): Honor it.
* gexp: Disable deprecation warnings for 'imported-modules'.Ludovic Courtès2018-05-15
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/31450>. Reported by Martin Castillo <castilma@uni-bremen.de>. * guix/gexp.scm (gexp->derivation): Pass #:deprecation-warnings to 'imported-modules'. (imported-files): Add #:deprecation-warnings and pass #:env-vars to 'gexp->derivation'. (imported-modules): Add #:deprecation-warnings and pass it to 'imported-files'.
* pack: Link top-level entries of wrapped packages.Ludovic Courtès2018-05-14
| | | | | | | | | | | | Previously things like: guix pack -R guile guile-json would lead to a profile without Guile-JSON, and to an 'etc/profile' that does not define 'GUILE_LOAD_PATH'. * guix/scripts/pack.scm (wrapped-package)[build]: Link top-level entries of PACKAGE into OUTPUT.
* utils: Add 'version-prefix?'.Ludovic Courtès2018-05-13
| | | | | * guix/utils.scm (version-prefix?): New procedure. * tests/utils.scm ("version-prefix?"): New test.
* pack: 'guix pack -S xxx' no longer adds entries twice to the tarball.Ludovic Courtès2018-05-11
| | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball)[build](symlink->directives): Do not add a 'directory' directive for "/". Previously, as soon as we were using '-S /bin=bin' or similar, we would add every entry a second time in the tarball; this would translate as hard links in the tarball, which tar < 1.30 sometimes fails to extract. Pass symlinks defined in DIRECTIVES to 'tar'.
* guix: Fix typo.Julien Lepiller2018-05-11
| | | | * guix/scripts/lint.scm: Fix typo.
* gnu: android-make-stub: Update to 0.6.0.Danny Milosavljevic2018-05-10
| | | | | | * gnu/packages/android.scm (android-make-stub): Update to 0.6.0. * guix/build-system/android-ndk.scm (android-ndk-build): Modify. (lower): Modify.
* pack: Add '--relocatable'.Ludovic Courtès2018-05-10
| | | | | | | | | | | | | * gnu/packages/aux-files/run-in-namespace.c: New file. * Makefile.am (AUX_FILES): Add it. * guix/scripts/pack.scm (<c-compiler>): New record type. (c-compiler, bootstrap-c-compiler, c-compiler-compiler): New procedures. (self-contained-tarball): Use 'relative-file-name' for the SOURCE -> TARGET symlink. (docker-image): Add 'defmod' to please Geiser. (wrapped-package, map-manifest-entries): New procedures. (%options, show-help): Add --relocatable. (guix-pack): Honor it.
* search-paths: Add 'set-search-paths'.Ludovic Courtès2018-05-10
| | | | * guix/search-paths.scm (set-search-paths): New procedure.
* profiles: Allow lowerable objects other than packages in <manifest-entry>.Ludovic Courtès2018-05-10
| | | | | | * guix/profiles.scm (manifest-lookup-package)[entry-lookup-package]: Add case where 'manifest-entry-item' returns something that's neither a string nor a package.
* profiles: Optionally use relative file names for symlink targets.Ludovic Courtès2018-05-10
| | | | | | | | | | * guix/build/union.scm (symlink-relative): New procedure. * guix/build/profiles.scm: Re-export it. (build-profile): Add #:symlink and pass it to 'union-build'. * guix/profiles.scm (profile-derivation): Add #:relative-symlinks?. Pass #:symlink to 'build-profile'. * tests/profiles.scm ("profile-derivation relative symlinks, one entry") ("profile-derivation relative symlinks, two entries"): New tests.
* union: Add 'relative-file-name'.Ludovic Courtès2018-05-10
| | | | | | * guix/build/union.scm (%not-slash): New variable. (relative-file-name): New procedure. * tests/union.scm (test-relative-file-name): New macro and tests.
* gnu: Add android-googletest.Danny Milosavljevic2018-05-10
| | | | | * gnu/packages/android.scm (android-googletest): New variable. * guix/build-system/android-ndk.scm (android-ndk-build): Use it.
* build-system: android-ndk: Let upstream install header files.Danny Milosavljevic2018-05-10
| | | | | * guix/build/android-ndk-build-system.scm (install): Don't install header files ourselves.
* build-system: android-ndk: Support unit tests.Danny Milosavljevic2018-05-10
| | | | | | * 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.
* build: Add the Android NDK build-system.Danny Milosavljevic2018-05-09
| | | | | | * guix/build-system/android-ndk.scm: New file. * guix/build/android-ndk-build-system.scm: New file. * Makefile.am: Add them.
* guix: Revert accidentally committed changes.Chris Marusich2018-05-09
| | | | | * guix/packages.go.134WZR: Remove it. This empty file was unintentionally included in ede121de426f9c56820852888a0b370f0ccbce49.
* guix: Separate the package name and version with "@", not "-".Chris Marusich2018-05-08
| | | | | | | | | | | | | | | * 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>.
* pack: Fix handling of '-e'.Ludovic Courtès2018-05-07
| | | | | | | | | | 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'.
* pack: Honor package transformation options.Ludovic Courtès2018-05-07
| | | | | | | | | 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'.
* pack: Do not autoload (gnu packages base).Ludovic Courtès2018-05-07
| | | | | | * 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.
* self: Add "guix-packages-base" derivation.Ludovic Courtès2018-05-07
| | | | | | | | | | 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.
* guix build: Nicely report unbound variables with hints.Ludovic Courtès2018-05-04
| | | | | | | | | | | | | * 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.
* ui: Factorize 'last-frame-with-source'.Ludovic Courtès2018-05-04
| | | | | | * guix/ui.scm (last-frame-with-source): New procedure. (load*)[frame-with-source]: Remove. Use 'last-frame-with-source'.
* build: emacs-utils: Fail when byte compilation fails.Maxim Cournoyer2018-05-03
| | | | | | | | | 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>
* guix system: search: Display all provision names as 'shepherdnames'.Clément Lassieur2018-05-01
| | | | | * guix/scripts/system/search.scm (service-type-shepherd-names): Append provision lists together instead of returning a list of provision cars.
* compile: Exit when an exception is thrown.Ludovic Courtès2018-05-01
| | | | | | | | | 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.
* weather: Fix type error when reporting CI stats.Ludovic Courtès2018-04-30
| | | | | | * 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.
* 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.Marius Bakke2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. (cherry picked from commit 611c27db2aec8c2f72bc0c1e5c7d126dc95b39b2)
| * | | Revert "build-system/meson: Use 'target-arm32?' for armhf-linux case."Efraim Flashner2018-03-22
| | | | | | | | | | | | | | | | This reverts commit 3a7597e4147235781d43ba9cef7a52ced9ea5e7a.
| * | | build-system/meson: Use 'target-arm32?' for armhf-linux case.Efraim Flashner2018-03-22
| | | | | | | | | | | | | | | | | | | | * guix/build-system/meson.scm (lower, meson-build): Replace armhf-linux detection with 'target-arm32?' macro.
* | | | guix system: search: Display default Shepherd service names.Ludovic Courtès2018-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | guix system: Report wrong file system 'device' fields.Ludovic Courtès2018-04-27
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | download: Use ungrafted tools in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.Ludovic Courtès2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | build-system: emacs: Add improved check phase.Maxim Cournoyer2018-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | | build-system: emacs: Replace system* with invoke.Maxim Cournoyer2018-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | | build-system: emacs: Search all inputs for Emacs Lisp directories.Maxim Cournoyer2018-04-20
| |/ |/| | | | | | | | | | | | | | | | | | | * 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>
* | self: Produce a spliced (guix config) to placate Guile 2.0.Ludovic Courtès2018-04-11
| | | | | | | | | | | | | | | | 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.
* | gexp: 'scheme-file' can splice expressions.Ludovic Courtès2018-04-11
| | | | | | | | | | | | | | | | | | | | * 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.
* | self: 'package-for-guile' really honors GUILE-VERSION.Ludovic Courtès2018-04-11
| | | | | | | | | | * guix/self.scm (package-for-guile): Pass GUILE-VERSION to 'false-if-wrong-guile'.
* | self: Remove 'eval-when' from in generated (guix config).Ludovic Courtès2018-04-11
| | | | | | | | * guix/self.scm (make-config.scm): Remove unneeded 'eval-when'.
* | self: Don't use deprecated package names.Ludovic Courtès2018-04-10
| | | | | | | | | | * guix/self.scm (compiled-guix)[guile-json, guile-ssh]: Don't refer t "guile2.2-json" and "guile2.2-ssh", which are deprecated.
* | self: Export '%guix-register-program' in generated (guix config).Ludovic Courtès2018-04-10
| | | | | | | | * guix/self.scm (make-config.scm): Export '%guix-register-program'.
* | self: Fix package names for compilation with Guile 2.0.Ludovic Courtès2018-04-10
| | | | | | | | | | | | | | 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.
* | self: Display a new line at the end of module compilation.Ludovic Courtès2018-04-10
| | | | | | | | | | * guix/self.scm (compiled-modules)[build]: Add a 'newline' call at the end.