Skip to content
Snippets Groups Projects
  1. Oct 07, 2014
  2. Oct 06, 2014
  3. Oct 05, 2014
    • Alex Kost's avatar
      emacs: Add support for deleting generations. · cb6a5c71
      Alex Kost authored
      * doc/emacs.texi (emacs List buffer): Mention new key bindings.
      * emacs/guix-base.el (guix-delete-generations): New procedure.
      * emacs/guix-info.el (guix-generation-info-insert-number): Use it.
      * emacs/guix-list.el (guix-generation-list-mark-delete,
        guix-generation-list-execute): New procedures.
      * emacs/guix-main.scm (delete-generations*): New procedure.
      cb6a5c71
    • Ludovic Courtès's avatar
      build-system: Introduce "bags" as an intermediate representation. · 0d5a559f
      Ludovic Courtès authored
      * guix/build-system.scm (<build-system>)[build, cross-build]: Remove.
        [lower]: New field.
        (<bag>): New record type.
        (make-bag): New procedure.
      * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs,
        bag-transitive-host-inputs, bag-transitive-target-inputs,
        package->bag): New procedures.
        (package-derivation): Use it; use the bag, apply its build procedure,
        etc.
        (package-cross-derivation): Likewise.
      * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure.
        (%bootstrap-guile): Use them.
      * guix/build-system/trivial.scm (lower): New procedure.
        (trivial-build, trivial-cross-build): Remove 'source' parameter.  Pass
        INPUTS as is.
        (trivial-build-system): Adjust accordingly.
      * guix/build-system/gnu.scm (%store, inputs-search-paths,
        standard-search-paths, expand-inputs, standard-inputs): Remove.
        (gnu-lower): New procedure.
        (gnu-build): Remove 'source' and #:implicit-inputs? parameters.
        Remove 'implicit-inputs' and 'implicit-search-paths' variables.  Get
        the source from INPUT-DRVS.
        (gnu-cross-build): Likewise.
        (standard-cross-packages): Remove call to 'standard-packages'.
        (standard-cross-inputs, standard-cross-search-paths): Remove.
        (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'.
      * guix/build-system/cmake.scm (lower): New procedure.
        (cmake-build): Remove 'source' and #:cmake parameters.  Use INPUTS and
        SEARCH-PATHS as is.  Get the source from INPUTS.
      * guix/build-system/perl.scm: Likewise.
      * guix/build-system/python.scm: Likewise.
      * guix/build-system/ruby.scm: Likewise.
      * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers"
        to "linux-headers".
        (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f.
        Likewise.  In 'propagated-inputs', change "cross-linux-headers" to
        "linux-headers".
      * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of
        'standard-inputs'.
      * tests/builders.scm ("gnu-build-system"): Remove use of
        'build-system-builder'.
        ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to
        'gnu-build'.
      * tests/packages.scm ("search paths"): Adjust to new build system API.
        ("package-cross-derivation, no cross builder"): Likewise.
      * doc/guix.texi (Build Systems): Add paragraph on bags.
      0d5a559f
  4. Oct 04, 2014
  5. Oct 03, 2014
    • Ludovic Courtès's avatar
      ui: Recognize the same size units as Coreutils. · 4a44d7bb
      Ludovic Courtès authored
      * guix/ui.scm (size->number): Add a bunch of large units.  Recognize
        one-letter unit names.  Change "KB" to "kB".
      * tests/ui.scm ("size->number, 1T"): New test.
      * doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size"
        in the Coreutils manual.
        (Invoking guix system): Likewise.
      4a44d7bb
  6. Sep 28, 2014
  7. Sep 24, 2014
    • Alex Kost's avatar
      emacs: Add support for displaying outputs. · a54a237b
      Alex Kost authored
      Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès.
      
      * emacs/guix-base.el (guix-param-titles): Add output titles.
        (guix-messages): Add output messages.
        (guix-get-package-id-and-output-by-output-id): New procedure.
        (guix-define-buffer-type): Add ':buffer-name' key.
      * emacs/guix-info.el: Add "output-info" buffer type.
        (guix-info-insert-methods): Add output methods.
        (guix-info-displayed-params): Add output params.
        (guix-output-info-insert-version, guix-output-info-insert-output): New
        procedures.
      * emacs/guix-list.el: Add "output-list" buffer type.
        (guix-list-column-format): Add output formats.
        (guix-list-column-value-methods): Add output methods.
        (guix-package-list-type): New variable.
        (guix-generation-list-show-packages): Use it.
        (guix-package-list-marking-check): Use 'guix-output-list-mode'.
        (guix-list-mark-package-upgrades): New procedure.
        (guix-package-list-mark-upgrades): Use it.
        (guix-list-execute-package-actions): New procedure.
        (guix-package-list-execute): Use it.
        (guix-list-describe-maybe): New procedure.
        (guix-list-describe): Use it.
        (guix-output-list-mark-install, guix-output-list-mark-delete,
        guix-output-list-mark-upgrade, guix-output-list-mark-upgrades,
        guix-output-list-execute, guix-output-list-make-action,
        guix-output-list-describe): New procedures.
        (guix-output-list-describe-type): New variable.
      * emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'.
      * doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'.
        (emacs List buffer): Adjust accordingly.
        (emacs Info buffer): Likewise.
        (emacs Buffer Names): New node.
        (emacs Keymaps): Add keymaps for output buffers.
      a54a237b
    • Ludovic Courtès's avatar
      Introduce the 'GUIX_PACKAGE_PATH' environment variable. · 8689901f
      Ludovic Courtès authored
      * gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH.
      * test-env.in: Unset 'GUIX_PACKAGE_PATH'.
      * tests/guix-package.sh: Test it.
      * doc/guix.texi (Package Modules): Document it.
      8689901f
    • Ludovic Courtès's avatar
      guix build: Add -L/--load-path as a common option. · 300868ba
      Ludovic Courtès authored
      * guix/scripts/build.scm (show-build-options-help): Document -L.
        (%standard-build-options): Add -L/--load-path.
      * tests/guix-package.sh: Test it.
      300868ba
  8. Sep 23, 2014
  9. Sep 22, 2014
    • Ludovic Courtès's avatar
      linux-initrd: Adjust VM code and doc to new 'base-initrd' signature. · 52ac153e
      Ludovic Courtès authored
      This fixes regressions introduced in de1c158f ("system: Add support for
      boot-time mapped devices.").
      
      * doc/guix.texi (Initial RAM Disk): Adjust example with custom use of
        'base-initrd'.  Document #:mapped-devices parameter of 'base-initrd'.
      * gnu/system/vm.scm (system-disk-image, system-qemu-image,
        virtualized-operating-system): Adjust call to 'base-initrd' to new
        signature.
      52ac153e
  10. Sep 18, 2014
  11. Sep 14, 2014
  12. Sep 08, 2014
    • Ludovic Courtès's avatar
      linux-initrd: Store Linux modules in a normal store directory. · 42d10464
      Ludovic Courtès authored
      * gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and
        #:linux-modules parameters.  Remove call to
        'float-linux-module-directory'.
        (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
        #:linux-modules argument in the gexp.  Remove #:linux and
        #:linux-modules arguments to 'expression->initrd'.
      * gnu/build/linux-initrd.scm (build-initrd): Remove
        #:linux-module-directory parameter.  Don't create 'modules'
        sub-directory.
      * gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
        list of absolute file names.  Don't prepend "/modules/" to
        LINUX-MODULES.
      * doc/guix.texi (Initial RAM Disk): Adjust accordingly.
      42d10464
    • Ludovic Courtès's avatar
      linux-initrd: Remove #:to-copy argument of 'expression->initrd'. · df650fa8
      Ludovic Courtès authored
      * gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy
        parameter.  Remove 'graph-files', and adjust #:references-graphs
        arguments to just list INIT.
        (base-initrd): Remove #:to-copy argument.
      * doc/guix.texi (Initial RAM Disk): Adjust accordingly.
      df650fa8
    • Alex Kost's avatar
      emacs: Improve key bindings for marking the packages. · 91cc37a1
      Alex Kost authored
      Use "U" to upgrade the current package, "^" to upgrade all.
      
      * emacs/guix-list.el: (guix-list-unmark): With prefix, mark all.
        (guix-package-list-mark-outputs): New procedure.
        (guix-package-list-mark-install, guix-package-list-mark-delete)
        (guix-package-list-mark-upgrade): Use it.
        (guix-package-list-mark-upgrades): New command.
      * doc/emacs.texi (emacs List buffer): Update the manual accordingly.
      91cc37a1
  13. Sep 06, 2014
    • Ludovic Courtès's avatar
      gexp: Allow use of high-level objects in #:references-graphs. · b53833b2
      Ludovic Courtès authored
      * guix/gexp.scm (lower-reference-graphs): New procedure.
        (gexp->derivation)[graphs-file-names]: New procedure.
        Use 'lower-reference-graphs', and augment #:inputs argument as a
        function of #:references-graphs.
      * doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation
        accordingly.
      * tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to
        TWO in BUILD-DRV.  Use TWO directly in #:references-graphs argument.
        ("gexp->derivation #:references-graphs"): New test.
      * gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as
        the #:references-graphs argument to
        'expression->derivation-in-linux-vm'.
      b53833b2
  14. Sep 03, 2014
    • Alex Kost's avatar
      Add Emacs user interface. · 457f60fa
      Alex Kost authored
      * configure.ac (emacsuidir): New variable.
        (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'.
      * Makefile.am: Include 'emacs.am'.
      * emacs.am: New file.
      * doc/emacs.texi: New file.
      * doc/guix.texi: Include 'emacs.texi'.
      * emacs/guix-backend.el: New file.
      * emacs/guix-base.el: New file.
      * emacs/guix-helper.scm.in: New file.
      * emacs/guix-history.el: New file.
      * emacs/guix-info.el: New file.
      * emacs/guix-init.el.in: New file.
      * emacs/guix-list.el: New file.
      * emacs/guix-main.scm: New file.
      * emacs/guix-utils.el: New file.
      * emacs/guix.el: New file.
      457f60fa
    • Cyril Roelandt's avatar
      scripts: add guix lint · b4f5e0e8
      Cyril Roelandt authored
      * guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
      * tests/lint.scm: New file.
      * Makefile.am (MODULES, SCM_TESTS): Add them.
      * po/guix/Makevars: Update appropriately.
      * po/guix/POTFILES.in: Update appropriately.
      * doc/guix.texi: Document "guix lint".
      b4f5e0e8
  15. Sep 01, 2014
  16. Aug 31, 2014
    • Ludovic Courtès's avatar
      daemon: Rename '--disable-store-optimization' to '--disable-deduplication'. · ab3893d7
      Ludovic Courtès authored
      * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION):
        Rename to...
        (GUIX_OPT_DISABLE_DEDUPLICATION): ... this.  Adjust user accordingly.
        (options): Add "disable-deduplication".  Make
        "disable-store-optimization" a hidden alias.
      * doc/guix.texi (Invoking guix-daemon): Adjust to new option name.  Add
        index entry.  Improve description.
      ab3893d7
  17. Aug 28, 2014
  18. Aug 18, 2014
    • Ludovic Courtès's avatar
      gexp: Add 'ungexp-native' and 'ungexp-native-splicing'. · 667b2508
      Ludovic Courtès authored
      * guix/gexp.scm (<gexp>)[natives]: New field.
        (write-gexp): Use both 'gexp-references' and
        'gexp-native-references'.
        (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
        and append them.
        (gexp-inputs): Add 'references' parameter and honor it.
        (gexp-native-inputs): New procedure.
        (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it.
        Use it, and use 'gexp-native-references'.
        (gexp)[collect-native-escapes]: New procedure.
        [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
        [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
        [substitute-references]: Use them, and handle 'ungexp-native' and
        'ungexp-native-splicing'.
        Adjust generated 'make-gexp' call to provide both normal references
        and native references.
        [read-ungexp]: Support 'ungexp-native' and
        'ungexp-native-splicing'.
        Add reader extension for #+.
      * tests/gexp.scm (gexp-native-inputs): New procedure.
        (gexp->sexp*): Add 'target' parameter.
        ("ungexp + ungexp-native",
        "input list + ungexp-native",
        "input list splicing + ungexp-native-splicing",
        "gexp->derivation, ungexp-native",
        "gexp->derivation, ungexp + ungexp-native"): New tests.
        ("sugar"): Add tests for #+ and #+@.
      * doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
      667b2508
  19. Aug 17, 2014
    • Ludovic Courtès's avatar
      gexp: Add #:target parameter to 'gexp->derivation'. · 68a61e9f
      Ludovic Courtès authored
      * guix/gexp.scm (lower-inputs): Add #:system and #:target.  Use
        'package->cross-derivation' when TARGET is true.  Honor SYSTEM.
        (gexp->derivation): Add #:target argument.  Pass SYSTEM and TARGET to
        'lower-inputs' and 'gexp->sexp'.
        (gexp->sexp): Add #:system and #:target.  Pass them in recursive call
        and to 'package-file'.
      * tests/gexp.scm (gexp->sexp*): Add 'system' and 'target' parameters.
        ("gexp->derivation, cross-compilation"): New test.
      68a61e9f
    • Ludovic Courtès's avatar
      monads: Add 'package->cross-derivation' and #:target for 'package-file'. · 4231f05b
      Ludovic Courtès authored
      * guix/monads.scm (package-file): Add #:target keyword parameter and
        honor it.
        (package->cross-derivation): New procedure.
      * tests/monads.scm ("package-file + package->cross-derivation"): New test.
      * doc/guix.texi (The Store Monad): Update 'package-file' documentation.
        Add 'package->cross-derivation'.
      4231f05b
  20. Aug 15, 2014
  21. Jul 25, 2014
  22. Jul 24, 2014
    • Ludovic Courtès's avatar
      system: Add the 'system?' field for user groups. · c8fa3426
      Ludovic Courtès authored
      Suggested by Mark H. Weaver.
      
      * gnu/system/shadow.scm (<user-group>)[system?]: New field.
        (%base-groups): Introduce 'system-group' macro, and use it.
      * gnu/system.scm (user-group->gexp): Pass the 'system?' field.
      * guix/build/activation.scm (add-group): Add #:system? and honor it.
        (activate-users+groups): Handle the 'system?' field.
      * gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000.
      * doc/guix.texi (User Accounts): Document the 'system?' field.
      c8fa3426
    • Ludovic Courtès's avatar
      doc: Make sure out-of-source-tree builds find os-config.tmpl. · 931c132a
      Ludovic Courtès authored
      * Makefile.am (BUILT_SOURCES): New variable.
      * daemon.am (BUILT_SOURCES): Use +=.
      * doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add
        doc/os-config.texi.
        (doc/os-config.texi): New target.
      * doc/guix.texi (System Installation): Include os-config.texi.
      931c132a
    • Ludovic Courtès's avatar
      doc: Add "guix system" to 'dir'. · 054e8576
      Ludovic Courtès authored
      * doc/guix.texi: Add "guix system" to the dir entry.
      054e8576
    • Ludovic Courtès's avatar
      install: Add a configuration template to the image. · 1dac8566
      Ludovic Courtès authored
      * gnu/system/os-config.tmpl: New file.
      * gnu-system.am (GNU_SYSTEM_MODULES): Add it
      * gnu/system/install.scm (configuration-template-service): New
        procedure.
        (installation-services): Call it.
      * doc/guix.texi (System Installation): Mention
        configuration-template.scm, and @include gnu/system/os-config.tmpl.
      1dac8566
    • Ludovic Courtès's avatar
      monads: Add 'interned-file'. · 0a90af15
      Ludovic Courtès authored
      * guix/monads.scm (interned-file): New procedure.
      * tests/monads.scm ("interned-file"): New test.
      * doc/guix.texi (The Store Monad): Document it.
      0a90af15
    • Ludovic Courtès's avatar
      doc: Recommend partition labels. · 7ab44369
      Ludovic Courtès authored
      * doc/guix.texi (System Installation): Recommend partition labels.
      7ab44369
  23. Jul 23, 2014
Loading