summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* system: Make /boot/grub/grub.cfg an indirect GC root.Ludovic Courtès2014-12-04
| | | | | | | | | | Fixes <http://bugs.gnu.org/19160>. * guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an indirect GC root. * gnu/build/install.scm (install-grub): Make TARGET a symlink. * gnu/build/vm.scm (register-grub.cfg-root): New procedure. (initialize-hard-disk): Use it.
* guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.Ludovic Courtès2014-12-04
| | | | | | * guix/scripts/system.scm (install-grub*): New procedure. (install): Use it, and use 'mwhen?'. (perform-action) <reconfigure>: Likewise.
* build: emacs-utils: Add 'emacs-generate-autoloads'.Alex Kost2014-12-02
| | | | * guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
* packages: Use the target's system Guile when downloading patches.Ludovic Courtès2014-12-02
| | | | | * guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in 'package-source-derivation' call.
* derivations: Export 'derivation-builder'.Ludovic Courtès2014-12-02
| | | | * guix/derivations.scm: Export 'derivation-builder'.
* monads: Add 'lift0'.Ludovic Courtès2014-12-02
| | | | * guix/monads.scm (lift0): New variable.
* monads: Add 'mwhen' and 'munless'.Ludovic Courtès2014-12-02
| | | | | | * guix/monads.scm (mbegin): Add special '%current-monad' syntactic keyword. (mwhen, munless): New macros.
* guix system: Use 'mbegin' for 'install'.Ludovic Courtès2014-12-02
| | | | | * guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and POPULATE-ROOT-FILE-SYSTEM, and use the result.
* build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.Ludovic Courtès2014-12-01
| | | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add #:glib-or-gtk-wrap-excluded-outputs parameter and honor it. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER. * doc/guix.texi (Build Systems): Mention it.
* build-system/glib-or-gtk: Correctly handle multiple-output packages.Ludovic Courtès2014-12-01
| | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body to 'handle-output' inner procedure, and parametrize it by output name and directory. Call it for each element of OUTPUTS. (compile-glib-schemas): Likewise.
* build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.Ludovic Courtès2014-12-01
| | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use 'for-each' instead of 'map' in for-effect contexts. Use 'cut' instead of 'lambda' when appropriate.
* build-system/glib-or-gtk: Clean up whitespace.Ludovic Courtès2014-12-01
| | | | * guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
* guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.nebuli2014-11-30
| | | | | | | | | | | | | | | * doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'. * guix/scripts/archive.scm: (append args (environment-build-options)). * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * guix/ui.scm (environment-build-options): New function. * guix/utils.scm (arguments-from-environment-variable): New function. * tests/guix-build.sh: Add tests. * test-env.in: Unset GUIX_BUILD_OPTIONS. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu-maintenance: Support .zip files.Ludovic Courtès2014-11-29
| | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension.
* Add (guix elf).Ludovic Courtès2014-11-28
| | | | | | * guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3. * Makefile.am (MODULES): Add it. * THANKS: Thank Andy, who wrote this module.
* substitute-binary: Change "unresponsive" to "slow".Ludovic Courtès2014-11-28
| | | | | | * guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to "somewhat slow". I'm being told that the former is often misunderstood as "broken".
* Update gnupg mirrors.Andreas Enge2014-11-26
| | | | * guix/download.scm (%mirrors): Update mirror list for gnupg.
* guix build: Add '--max-jobs' option.Ludovic Courtès2014-11-25
| | | | | | | | | | | | | Suggested by Deck Pickard <deck.r.pickard@gmail.com>. * guix/scripts/build.scm (show-build-options-help): Document --max-jobs. (set-build-options-from-command-line): Pass #:max-build-jobs. (%standard-build-options): Add --max-jobs. * doc/guix.texi (Invoking guix-daemon): Document the meaning of '--max-jobs 0'. (Invoking guix build): Document --max-jobs, with a reference to "Invoking guix-daemon'.
* licenses: Add MPL 1.1.Ludovic Courtès2014-11-25
| | | | * guix/licenses.scm (mpl1.1): New variable.
* import: gnu: Write the hash in nix-base32 format.Ludovic Courtès2014-11-25
| | | | | * guix/import/gnu.scm (gnu-package->sexp): Use 'bytevector->nix-base32-string', not 'bytevector->base32-string'.
* store: default to serial "scheduler"nebuli2014-11-23
| | | | | | * guix/store.scm (set-build-options): exchange default argument values Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix system: Add '--share' and '--expose' options for 'vm'.Ludovic Courtès2014-11-21
| | | | | | | | | | | * guix/scripts/system.scm (system-derivation-for-action): Add #:mappings parameter. Pass it to 'system-qemu-image/shared-store-script'. (perform-action): Likewise. (show-help): Document --share and --expose. (specification->file-system-mapping): New procedure. (%options): Add --share and --expose. (guix-system): Pass #:mapping to 'perform-action'. * doc/guix.texi (Invoking guix system): Document it.
* lint: Fix typos in checker descriptions.Ludovic Courtès2014-11-19
| | | | | * guix/scripts/lint.scm (%checkers): "file names" (two words), and "synopses" (plural).
* lint: Use localized checker descriptions.Ludovic Courtès2014-11-19
| | | | | * guix/scripts/lint.scm (list-checkers-and-exit): Wrap 'lint-checker-description' call in (_ ...).
* lint: Correctly internationalize warning messages.Ludovic Courtès2014-11-19
| | | | | | | | * guix/scripts/lint.scm (emit-warning): Remove '_' call for format string. (check-description-style, check-inputs-should-be-native, check-synopsis-style, check-patches, check-gnu-synopsis+description): Wrap message in (_ ...).
* lint: Change checker names to be symbols.Ludovic Courtès2014-11-19
| | | | | | * guix/scripts/lint.scm (%checkers): Change 'name' fields to be symbols. (%options): Adjust "-c" option handler accordingly.
* lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.Ludovic Courtès2014-11-19
| | | | | | | | | | * build-aux/sync-descriptions.scm: Remove. Move payload to... * guix/scripts/lint.scm: ... here. (escape-quotes, official-gnu-packages*, check-gnu-synopsis+description): New procedures. (%checkers): Add 'gnu-descriptions'. * Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm. (sync-descriptions): Use 'guix lint'.
* licenses: Add the Clarified Artistic License.Ludovic Courtès2014-11-19
| | | | * guix/licenses.scm (clarified-artistic): New variable.
* syscalls: Update /etc/mtab, not /etc/fstab.Ludovic Courtès2014-11-14
| | | | | * guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with "mtab".
* substitute-binary: Be slightly less verbose when downloading.Ludovic Courtès2014-11-13
| | | | | * guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">: Be slightly less verbose.
* derivations: Clarify message produced by 'graft-derivation'.Ludovic Courtès2014-11-13
| | | | | * guix/derivations.scm (graft-derivation): Use the term "grafting" in the build message.
* guix system: Decorate GRUB entries of old generations with date and number.Ludovic Courtès2014-11-11
| | | | | | * guix/scripts/system.scm (seconds->string): New procedure. (previous-grub-entries)[system->grub-entry]: Add 'number' and 'time' parameters. Adjust call accordingly.
* import: Add GNU importer.Ludovic Courtès2014-11-11
| | | | | | | | | | | Suggested by Karl Berry <karl@gnu.org> and Andreas Enge <andreas@enge.fr>. * guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "gnu". * guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure. (download-tarball): Export.
* gnu-maintenance: Introduce <gnu-release> data type.Ludovic Courtès2014-11-11
| | | | | | | | | | | | * guix/gnu-maintenance.scm (<gnu-release>): New record type. (release-file): Rename to... (release-file?): ... this. Return a Boolean. (tarball->version, coalesce-releases): New procedures. (releases): Call 'coalesce-releases' on RESULT. Return <gnu-release> objects instead of pairs. (latest-release): Likewise. (package-update-path): Adjust accordingly. * gnu/packages.scm (check-package-freshness): Adjust accordingly.
* syscalls: Add 'mount-points'.Ludovic Courtès2014-11-10
| | | | | * guix/build/syscalls.scm (mount-points): New procedure. * tests/syscalls.scm ("mount-points"): New test.
* licenses: Add 'silofl1.1'.Alex Kost2014-11-10
| | | | * guix/licenses.scm (silofl1.1): New variable.
* pull: Use the build procedure provided by the newly-downloaded Guix.Ludovic Courtès2014-11-09
| | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18534>. * guix/scripts/pull.scm (with-environment-variable, with-PATH): New macros. (temporary-directory, first-directory, interned-then-deleted): New procedures. (unpack): Rewrite to do the unpacking in the current process rather than as a separate derivation. (%self-build-file): New variable. (build-from-source): New procedure. (build-and-install): Use it. * guix/build/pull.scm (build-guix): Rename 'tarball' argument to 'source'. Remove #:tar and #:gzip parameters, as well as 'tar' invocation. Remove 'scandir' invocation. Wrap body in 'with-directory-excursion'. * build-aux/build-self.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
* gexp: Add #:module-path parameter to 'gexp->derivation'.Ludovic Courtès2014-11-09
| | | | | | * guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and pass it to 'imported-modules' and 'compiled-modules'. * doc/guix.texi (G-Expressions): Adjust accordingly.
* vm: Fix 'vm --full-boot' to produce a sufficient disk image.Ludovic Courtès2014-11-08
| | | | | | | | | | * gnu/system/vm.scm (system-qemu-image/shared-store): Add #:disk-image-size and #:full-boot? parameters and honor them. Pass '#:copy-inputs? full-boot?', and change #:inputs argument. * guix/scripts/system.scm (system-derivation-for-action): Pass #:disk-image-size to 'system-qemu-image/shared-store'. * doc/guix.texi (Invoking guix system): Mention use of '--image-size' in conjunction with '--full-boot'.
* vm: Support 'guix system vm --full-boot'.Ludovic Courtès2014-11-08
| | | | | | | | | | | * gnu/system/vm.scm (system-qemu-image/shared-store-script): Add #:full-boot? parameter and honor it. * guix/scripts/system.scm (system-derivation-for-action): Likewise. (perform-action): Likewise. (show-help): Document '--full-boot'. (%options): Add '--full-boot'. (guix-system): Add #:full-boot? argument in call to 'perform-action'. * doc/guix.texi (Invoking guix system): Document it.
* lint: Allow synopses that start with an abbreviation.Ludovic Courtès2014-11-07
| | | | | | * guix/scripts/lint.scm (starts-with-abbreviation?): New procedure. (check-synopsis-style)[check-start-with-package-name]: Use it. * tests/lint.scm ("synopsis: start with abbreviation"): New test.
* lint: Skip starting-article test for the synopses of GNU packages.Ludovic Courtès2014-11-07
| | | | | * guix/scripts/lint.scm (check-synopsis-style)[check-start-article]: Change to (const #t) when PACKAGE matches 'gnu-package?'.
* lint: Tolerate sentences that start with a parenthesis or a quote.Ludovic Courtès2014-11-07
| | | | | * guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as valid beginnings.
* lint: Improve check for synopses starting with package name.Ludovic Courtès2014-11-07
| | | | | | | * guix/scripts/lint.scm (package-name-regexp): New procedure. (check-synopsis-style)[check-start-with-package-name]: Use it instead of 'string-prefix-ci?'. * tests/lint.scm ("synopsis: start with package name prefix"): New test.
* monads: Remove unused 'nargs' parameter from 'lift'.Ludovic Courtès2014-11-05
| | | | * guix/monads.scm (lift): Remove 'nargs' parameter.
* import: pypi: Gracefully handle wrong argument counts.Ludovic Courtès2014-11-05
| | | | | * guix/scripts/import/pypi.scm (guix-import-pypi): Use 'leave' to handle cases where ARGS has zero or two or more elements.
* import: pypi: Gracefully handle non-existent packages.Ludovic Courtès2014-11-05
| | | | | | | | | | | Fixes <http://bugs.gnu.org/18831>. Reported by Ian Denhardt <ian@zenhack.net>. * guix/import/pypi.scm (url-fetch, json-fetch, pypi-fetch): Augment docstring to mention #f on failure. (pypi->guix-package): Likewise, and actually return #f on failure. * guix/scripts/import/pypi.scm (guix-import-pypi): Call 'leave' when 'pypi->guix-package' returns #f.
* store: Invalidate caches once GC has run.Ludovic Courtès2014-11-04
| | | | | | * guix/store.scm (run-gc): Add calls to 'hash-clear!'. * tests/store.scm ("add-text-to-store vs. delete-paths", "add-to-store vs. delete-paths"): New tests.
* packages: 'package-transitive-supported-systems' accounts for indirect deps.Ludovic Courtès2014-11-03
| | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/packages.scm (first-value): New macro. (package-transitive-supported-systems): Rewrite to traverse all the DAG rooted at PACKAGE. * tests/packages.scm ("package-transitive-supported-systems"): Add 'd' and 'e', and test them.
* packages: Implement grafts.Ludovic Courtès2014-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions and suggestions. * guix/packages.scm (<package>)[graft]: New field. (patch-and-repack): Invoke 'package-derivation' with #:graft? #f. (package-source-derivation): Likewise. Do not use (%guile-for-build) in call to 'patch-and-repack', and we could end up using a grafted Guile. (expand-input): Likewise, also for 'package-cross-derivation' call. (package->bag): Add #:graft? parameter. Honor it. Use 'strip-append' instead of 'package-full-name'. (input-graft, input-cross-graft, bag-grafts, package-grafts): New procedures. (package-derivation, package-cross-derivation): Add #:graft? parameter and honor it. * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add recursive call on 'graft'. * guix/build-system/gnu.scm (package-with-explicit-inputs, package-with-extra-configure-variable, static-package): Likewise. (gnu-build): Use the ungrafted Guile to avoid full rebuilds. (gnu-cross-build): Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * tests/packages.scm ("package-derivation, direct graft", "package-cross-derivation, direct graft", "package-grafts, indirect grafts", "package-grafts, indirect grafts, cross", "package-grafts, indirect grafts, propagated inputs", "package-derivation, indirect grafts"): New tests. ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in 'parameterize'. * doc/guix.texi (Security Updates): New node. (Invoking guix build): Document --no-graft.