summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* build: No longer substitute 'LIBGCRYPT'.Ludovic Courtès2019-04-17
| | | | | | | This had become useless since ca719424455465fca4b872c371daf2a46de88b33. * configure.ac (LIBGCRYPT): Remove. * guix/config.scm.in (%libgcrypt): Remove.
* self: Remove unused variable.Ludovic Courtès2019-04-17
| | | | | | | | This variable is unused since commit 45779fa676419de8838cb26b6c7a24678a2be1cd. * guix/self.scm (%dependency-variables): Remove. * build-aux/build-self.scm (%dependency-variables): Remove.
* store: Add "add-data-to-store-cache" profiling component.Ludovic Courtès2019-04-16
| | | | | * guix/store.scm (add-data-to-store): Define 'lookup' and use it instead of 'hash-ref'.
* derivations: Reduce 'valid-path?' RPCs in 'derivation-prerequisites-to-build'.Ludovic Courtès2019-04-16
| | | | | | | | On a profile with 280 packages, this reduces the number of 'valid-paths?' RPCs made by 'guix package -nu' from 6K to 500. * guix/derivations.scm (derivation-prerequisites-to-build)[built?]: Memoize 'valid-path?' calls.
* store: Memoize 'built-in-builders' call directly in <store-connection>.Ludovic Courtès2019-04-16
| | | | | | | | | | | | | | | The caching strategy introduced in 40cc850aebb497faed0a11d867d8fcee729023df was ineffective since we regularly start from an empty object cache. For example, "guix build inkscape -n" would make 241 'built-in-builders' RPCs. * guix/store.scm (<store-connection>)[built-in-builders]: New field. (open-connection): Adjust '%make-store-connection' call accordingly. (port->connection): Likewise. (built-in-builders): Rename to... (%built-in-builders): ... this. (built-in-builders): New procedure. * guix/download.scm (built-in-builders*): Remove 'mcached' call.
* guix build: Fix relative file name canonicalization for '--root'.Ludovic Courtès2019-04-15
| | | | | | | | | Fixes <https://bugs.gnu.org/35271>. Reported by rendaw <7e9wc56emjakcm@s.rendaw.me>. * guix/scripts/build.scm (register-root): When ROOT is a relative file name, append the basename of ROOT, not ROOT itself. * tests/guix-build.sh: Add test.
* ui: Highlight heading of generation lists.Ludovic Courtès2019-04-14
| | | | * guix/ui.scm (display-generation): Highlight the "Generation" heading.
* colors: Add 'highlight'.Ludovic Courtès2019-04-14
| | | | | | | * guix/colors.scm (%highlight-color): New variable. (highlight): New procedure. * guix/ui.scm (%highlight-argument)[highlight]: Remove. (%highlight-color): Remove.
* build-system/linux-module: Configure module like the kernel.Danny Milosavljevic2019-04-12
| | | | | * guix/build/linux-module-build-system.scm (configure): New procedure. (%standard-phases): Add "configure" phase.
* build-system/linux-module: Support module source versioning.Danny Milosavljevic2019-04-12
| | | | | | | | * guix/build-system/linux-module.scm (make-linux-module-builder) [native-inputs]: Add linux. [arguments]<#:phases>[install]: Install "System.map" and "Module.symvers". * guix/build/linux-module-build-system.scm (configure): Delete procedure. (%standard-phases): Delete "configure" phase.
* colors: Add 'colorize-matches'.Ludovic Courtès2019-04-11
| | | | | * guix/colors.scm (colorize-matches): New procedure. (color-rules): Rewrite in terms of 'colorize-matches'.
* colors: Introduce a disjoint type and pre-compute ANSI escapes.Ludovic Courtès2019-04-11
| | | | | | | | | | | | | | | | | | * guix/colors.scm (color-table, color): Remove. (<color>): New record type. (print-color): New procedure. (define-color-table, color): New macros. (color-codes->ansi): New procedure. (%reset): New variable. (colorize-string): Rewrite accordingly. (color-rules): Adjust accordingly. * guix/status.scm (print-build-event): Adjust to new 'colorize-string' interface. * guix/ui.scm (%highlight-argument): Likewise. (%warning-colors, %info-colors, %error-colors, %hint-colors) (%highlight-colors): Remove. (%warning-color, %info-color, %error-color, %hint-color) (%highlight-color): New variables.
* guix gc: '-d' does not attempt to delete non-user-owned roots.Ludovic Courtès2019-04-11
| | | | | * guix/scripts/gc.scm (guix-gc)[delete-generations]: Limit to user-owned roots, unless we're running as root.
* Add (guix build-system linux-module).Danny Milosavljevic2019-04-11
| | | | | | | * guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * doc/guix.texi (Build Systems): Document it. * Makefile.am (MODULES): Add them.
* import: opam: Use dune-build-system when possible.Julien Lepiller2019-04-10
| | | | * guix/import/opam.scm (opam->guix-package): Detect when dune can be used.
* import: opam: Add more patterns to opam file parser.Julien Lepiller2019-04-10
| | | | | | * guix/import/opam.scm: Add more patterns to peg parser. (choice-pat choice condition-not condition-paren): New patterns. (ground-value condition-content condition-var): Update patterns.
* scripts: GC hint suggests 'guix gc -d 1m'.Ludovic Courtès2019-04-10
| | | | * guix/scripts.scm (warn-about-disk-space): Suggest 'guix gc -d'.
* guix gc: Add '--delete-generations'.Ludovic Courtès2019-04-10
| | | | | | | | | | * guix/scripts/gc.scm (show-help, %options): Add '--delete-generations'. Change '--delete' shorthand to '-D'. (delete-old-generations): New procedure. (guix-gc)[delete-generations]: New procedure. Call it when ACTION is 'collect-garbage' and OPTS contains 'delete-generations. * doc/guix.texi (Invoking guix gc): Document it.
* profiles: Add 'generation-profile'.Ludovic Courtès2019-04-10
| | | | | * guix/profiles.scm (%profile-generation-rx): New variable. (generation-profile): New procedure.
* guix gc: Add '--list-roots'.Ludovic Courtès2019-04-10
| | | | | | | | * guix/scripts/gc.scm (show-help, %options): Add '--list-roots'. (guix-gc)[list-roots]: New procedure. Handle '--list-roots'. * tests/guix-gc.sh: Test it. * doc/guix.texi (Invoking guix gc): Document it.
* Add (guix store roots).Ludovic Courtès2019-04-10
| | | | | | * guix/store/roots.scm, tests/store-roots.scm: New files. * Makefile.am (STORE_MODULES): Add guix/store/roots.scm. (SCM_TESTS): Add tests/store-roots.scm.
* pull: Remove duplicate '--dry-run' description.Ludovic Courtès2019-04-10
| | | | | | | Reported by pkill9. * guix/scripts/pull.scm (show-help): Remove duplicate '--dry-run' description.
* ui: Highlight diagnostic format string arguments.Ludovic Courtès2019-04-10
| | | | | | * guix/ui.scm (highlight-argument): New macro. (%highlight-argument): New procedure. (define-diagnostic): Use 'highlight-argument'.
* ui: Colorize hints.Ludovic Courtès2019-04-10
| | | | | | * guix/ui.scm (%info-colors): Remove CYAN. (%hint-colors): New variable. (display-hint): Adjust so that the "hint:" prefix is colorized.
* ui: Colorize diagnostics.Ludovic Courtès2019-04-10
| | | | | | | | * guix/ui.scm (define-diagnostic): Add 'colors' parameter and pass it to 'print-diagnostic-prefix'. (warning, info, report-error): Add extra argument. (%warning-colors, %info-colors, %error-colors): New variables. (print-diagnostic-prefix): Add #:colors parameter and honor it.
* ui: Diagnostic procedures can display error location.Ludovic Courtès2019-04-10
| | | | | | | | | * guix/ui.scm (define-diagnostic): Add optional 'location' parameter. Pass it to 'print-diagnostic-prefix'. (print-diagnostic-prefix): Add optional 'location' parameter and honor it. (report-load-error): Use 'report-error' and 'warning' instead of (format (current-error-port) …).
* ui: Factorize 'print-diagnostic-prefix'.Ludovic Courtès2019-04-10
| | | | | * guix/ui.scm (define-diagnostic): Emit call to 'print-diagnostic-prefix'. (print-diagnostic-prefix): New procedure.
* ui: Make diagnostic message prefix translatable.Ludovic Courtès2019-04-10
| | | | | | * guix/ui.scm (define-diagnostic): Expect PREFIX to be enclosed in 'G_'. Emit call to 'gettext' on PREFIX. (warning, info, report-error): Wrap prefix in 'G_'.
* ui: Fix i18n for diagnostic messages.Ludovic Courtès2019-04-10
| | | | | | | | | | Until now, we'd pass 'gettext' the "augmented" format string, which 'gettext' would not find in message catalogs. Now we pass it FMT as is, which is what catalogs contain. * guix/ui.scm (define-diagnostic)[augmented-format-string]: Remove. Emit one 'format' call to print the prefix, and a second one to print the actual message.
* Add (guix colors).Ludovic Courtès2019-04-10
| | | | | | | * guix/colors.scm: New file. * Makefile.am (MODULES): Add it. * guix/ui.scm (color-table, color, colorize-string): Remove. * guix/status.scm (isatty?*, color-output? color-rules): Remove.
* store: 'with-store' expands to a single procedure call.Ludovic Courtès2019-04-10
| | | | | * guix/store.scm (call-with-store): New procedure. (with-store): Write in terms of 'call-with-store'.
* guix package: Use absolute file names in search path recommendations.Ludovic Courtès2019-04-10
| | | | | | | Suggested by Chris Marusich. * guix/scripts/package.scm (absolutize): New procedure. (display-search-paths): Use it.
* build-system/cargo: refactor phases to successfully buildIvan Petkov2019-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/cargo.scm (%cargo-build-system-modules): Add (json parser). (cargo-build): [vendor-dir]: Define flag and pass it to builder code. [cargo-test-flags]: Likewise. [skip-build?]: Likewise. * guix/build/cargo-build/system.scm (#:use-module): use (json parser). (package-name->crate-name): Delete it. (manifest-targets): Add it. (has-executable-target?): Add it. (configure): Add #:vendor-dir name and use it. Don't touch Cargo.toml. Don't symlink to duplicate inputs. Remove useless registry line from cargo config. Define RUSTFLAGS to lift lint restrictions. (build): Add #:skip-build? flag and use it. (check): Likewise. Add #:cargo-test-flags and pass it to cargo. (install): Factor source logic to install-source. Define #:skip-build? flag and use it. Only install if executable targets are present. (install-source): Copy entire crate directory not just src. [generate-checksums] pass dummy file for unused second argument. (%standard-phases): Add install-source phase. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
* licenses: Remove 'bsd-style'.Ludovic Courtès2019-04-08
| | | | | | This procedure had been deprecated since March 2015. * guix/licenses.scm (bsd-style): Remove.
* size: Optimize dependency size computation.Ludovic Courtès2019-04-07
| | | | | | | | | | This reduces 'guix size' run time by ~4% here: items="$(guix build icecat inkscape emacs libreoffice)" guix size $items * guix/scripts/size.scm (store-profile): Define 'size-table' and use it to lookup the size of ITEM in 'dependency-size'.
* licenses: Add Lisp Lesser General Public License.Katherine Cox-Buday2019-04-07
| | | | | | * gnu/licenses.scm (llgpl): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
* scripts: More commands default to verbosity level 1.Ludovic Courtès2019-04-04
| | | | | | | * guix/scripts/environment.scm (%default-options): Change 'verbosity' to 1. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/system.scm (guix-system): Likewise, except for the 'build' command.
* gexp: Remove workarounds for <https://bugs.gnu.org/15602>.Ludovic Courtès2019-04-04
| | | | | | | * gnu/services/base.scm (hydra-key-authorization)[aaa]: Remove. [default-acl]: Don't import it. * guix/scripts/pack.scm (store-database)[build]: Don't import (gnu build install).
* gexp: 'compiled-modules' loads modules before compiling them.Ludovic Courtès2019-04-04
| | | | | | | | | | | This works around <https://bugs.gnu.org/15602> in the context of modules specified with 'with-imported-modules'. * guix/gexp.scm (gexp->derivation): Add #:pre-load-modules? parameter and pass it to 'compiled-modules'. (compiled-modules): Add #:pre-load-modules? parameter and honor it. * guix/packages.scm (patch-and-repack): Pass #:pre-load-modules? to 'gexp->derivation'.
* self: Ship all the (gnu bootloader …) modules.Ludovic Courtès2019-04-03
| | | | | * guix/self.scm (compiled-guix)[*system-modules*]: Explicitly add all of gnu/bootloader/*.
* environment: '-C' creates namespaces where the user is not root.Ludovic Courtès2019-04-02
| | | | | | | | | * guix/scripts/environment.scm (launch-environment/container): Add UID and GID. Use them in PASSWD and GROUPS. Pass them as #:guest-uid and #:guest-gid to 'call-with-container'. * tests/guix-environment-container.sh: Test the inner UID. In '--user' test, replace hard-coded 0 with 1000. * doc/guix.texi (Invoking guix environment): Adjust accordingly.
* packages: Remove 'maintainers' field.Ludovic Courtès2019-03-30
| | | | | | | This field was never used and doesn't match the way we collectively maintain packages. * guix/packages.scm (<package>)[maintainers]: Remove.
* packages: Remove 'self-native-input?' field.Ludovic Courtès2019-03-30
| | | | | | | | This field has become unnecessary with the addition of 'this-package'. * guix/packages.scm (<package>)[self-native-input?]: Remove. (package->bag): Adjust accordingly. * doc/guix.texi (package Reference): Remove 'self-native-input?'.
* packages: Define 'this-package' and 'this-origin'.Ludovic Courtès2019-03-30
| | | | | | | | | * guix/packages.scm (<origin>): Choose 'this-origin' as the 'this' identifier. (<package>): Choose 'this-package'. * gnu/packages/gnucash.scm (gnucash)[arguments]: Use 'this-package' instead of 'this-record'. * gnu/packages/version-control.scm (git)[arguments]: Likewise.
* records: Support custom 'this' identifiers.Ludovic Courtès2019-03-30
| | | | | | | | | | | This lets record users choose an identifier other than 'this-record'. * guix/records.scm (make-syntactic-constructor): Add #:this-identifier. [wrap-field-value]: Honor it. (define-record-type*): Add form with extra THIS-IDENTIFIER and honor it. * tests/records.scm ("define-record-type* & thunked & inherit & custom this"): New test.
* pull: Truncate the list of packages displayed on completion.Ludovic Courtès2019-03-28
| | | | | | | | | | | Previously, if you'd run 'guix pull' after a couple of weeks, it would fill your screen with package names, which is unhelpful. * guix/scripts/pull.scm (ellipsis): New procedure. (display-new/upgraded-packages): Add #:concise?. [list->enumeration]: New procedure. Use it instead of 'string-join'. (display-profile-news): Pass #:concise? #t.
* pull: Factorize pretty-printing for new/upgraded package lists.Ludovic Courtès2019-03-28
| | | | | | * guix/scripts/pull.scm (display-new/upgraded-packages)[pretty]: New procedure. Use it.
* refresh: Update the source code URL.Ludovic Courtès2019-03-27
| | | | | | | | | | | | | | Reported by Tobias Geerinckx-Rice <me@tobias.gr> in <https://bugs.gnu.org/35010>. * guix/upstream.scm (update-package-source): Take 'source' instead of 'version' as the second argument. [update-expression]: Change to take 'replacements', a list of replacement pairs. Compute OLD-URL and NEW-URL and replace the dirname of the OLD-URL with that of NEW-URL. * guix/scripts/refresh.scm (update-package): Adjust call to 'update-package-source' accordingly.
* upstream: 'package-update' returns the <upstream-source> object.Ludovic Courtès2019-03-27
| | | | | | | | | | | | Fixes a regression introduced in abd4d6b33dba4de228e90ad15a8efb456fcf7b6e, where CHANGES would no longer be a thunk. Reported by Ricardo Wurmus. * guix/upstream.scm (package-update/url-fetch): Return SOURCE as the third value instead of CHANGES. * guix/scripts/refresh.scm (update-package): Adjust accordingly.
* scripts: Skip 'guix pull' suggestion when running code from a checkout.Ludovic Courtès2019-03-27
| | | | | * guix/scripts.scm (warn-about-old-distro): Do not warn when GUIX_UNINSTALLED is set.