summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2014-12-06guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.•••Appending to "raw" args broke optional parameters in 'guix package -I' and 'guix package -A', and possibly other places. Therefore, switch to parsing each set of options on its own and append resulting alists together afterwards. * guix/scripts/archive.scm (parse-options-from): Rename from (parse-options) and add explicit argument. New form of (parse-options) using its old algorithm via -from function. * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix build): Make it clear that the options are parsed independently. Co-authored-by: Ludovic Courtès <ludo@gnu.org> nebuli
2014-12-04system: Make /boot/grub/grub.cfg an indirect GC root.•••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. Ludovic Courtès
2014-12-04guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.•••* guix/scripts/system.scm (install-grub*): New procedure. (install): Use it, and use 'mwhen?'. (perform-action) <reconfigure>: Likewise. Ludovic Courtès
2014-12-02build: emacs-utils: Add 'emacs-generate-autoloads'.•••* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure. Alex Kost
2014-12-02packages: Use the target's system Guile when downloading patches.•••* guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in 'package-source-derivation' call. Ludovic Courtès
2014-12-02derivations: Export 'derivation-builder'.•••* guix/derivations.scm: Export 'derivation-builder'. Ludovic Courtès
2014-12-02monads: Add 'lift0'.•••* guix/monads.scm (lift0): New variable. Ludovic Courtès
2014-12-02monads: Add 'mwhen' and 'munless'.•••* guix/monads.scm (mbegin): Add special '%current-monad' syntactic keyword. (mwhen, munless): New macros. Ludovic Courtès
2014-12-02guix system: Use 'mbegin' for 'install'.•••* guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and POPULATE-ROOT-FILE-SYSTEM, and use the result. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.•••* 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. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Correctly handle multiple-output packages.•••* 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. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.•••* 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. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Clean up whitespace.•••* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup. Ludovic Courtès
2014-12-01build-system/gnu: Add 'compress-documentation' phase.•••* guix/build/gnu-build-system.scm (compress-documentation): New procedure. (%standard-phases): Add it. Ludovic Courtès
2014-12-01utils: Add 'symbolic-link?'.•••* guix/build/utils.scm (symbolic-link?): New procedure. Ludovic Courtès
2014-12-01build-system/gnu: Add 'validate-documentation-location' phase.•••* guix/build/gnu-build-system.scm (validate-documentation-location): New procedure. (%standard-phases): Add it. Ludovic Courtès
2014-11-30guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.•••* 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> nebuli
2014-11-29gnu-maintenance: Support .zip files.•••Reported by Andreas Enge <andreas@enge.fr>. * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension. Ludovic Courtès
2014-11-28Add (guix elf).•••* guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3. * Makefile.am (MODULES): Add it. * THANKS: Thank Andy, who wrote this module. Ludovic Courtès
2014-11-28substitute-binary: Change "unresponsive" to "slow".•••* guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to "somewhat slow". I'm being told that the former is often misunderstood as "broken". Ludovic Courtès
2014-11-26Update gnupg mirrors.•••* guix/download.scm (%mirrors): Update mirror list for gnupg. Andreas Enge
2014-11-26utils: Improve docstring of 'substitute*' & co.•••* guix/build/utils.scm (substitute): Clarify first sentence of docstring and add warning to the docstring about using '$' to match an end of line. (substitute*): Add warning to the docstring about using '$' to match an end of line. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Taylan Ulrich Bayırlı/Kammer
2014-11-25guix build: Add '--max-jobs' option.•••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'. Ludovic Courtès
2014-11-25licenses: Add MPL 1.1.•••* guix/licenses.scm (mpl1.1): New variable. Ludovic Courtès
2014-11-25import: gnu: Write the hash in nix-base32 format.•••* guix/import/gnu.scm (gnu-package->sexp): Use 'bytevector->nix-base32-string', not 'bytevector->base32-string'. Ludovic Courtès
2014-11-24build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.•••* guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?' before calling 'elf-file?' and 'ar-file?'. This should fix build failures in the presence of dangling symlinks, as in <http://hydra.gnu.org/build/167521/nixlog/1/raw>. Ludovic Courtès
2014-11-23store: default to serial "scheduler"•••* guix/store.scm (set-build-options): exchange default argument values Signed-off-by: Ludovic Courtès <ludo@gnu.org> nebuli
2014-11-23utils: 'elf-file?' and 'ar-file?' return #f for directories.•••This avoids uncaught exceptions when the 'strip' phase would call these procedures on symlinks to directories, such as 'lib/terminfo' in ncurses (see <http://hydra.gnu.org/build/167310/nixlog/1/tail-reload>.) * guix/build/utils.scm (file-header-match): Catch 'system-error', and return #f upon EISDIR. Ludovic Courtès
2014-11-22utils: Turn 'parallel-job-count' into a parameter.•••* guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter. Ludovic Courtès
2014-11-22build-system/gnu: Strip 'ar' archives as well.•••* guix/build/gnu-build-system.scm (strip): Also strip when (ar-file? PATH) is true. Ludovic Courtès
2014-11-22utils: Factorize magic bytes detection.•••* guix/build/utils.scm (file-header-match): New procedure. (%elf-magic-bytes): New variable. (elf-file?, ar-file?): Define using 'file-header-match'. Ludovic Courtès
2014-11-22utils: Add 'ar-file?'.•••* guix/build/utils.scm (%ar-magic-bytes): New variable. (ar-file?): New procedure. Ludovic Courtès
2014-11-22build-system/gnu: Strip only ELF files.•••Suggested by Mark H Weaver <mhw@netris.org> at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00395.html>. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Strip only when (elf-file? PATH) is true. Ludovic Courtès
2014-11-22utils: Add 'elf-file?'.•••* guix/build/utils.scm (elf-file?): New procedure. Ludovic Courtès
2014-11-22utils: Export 'parallel-job-count'.•••* guix/build/utils.scm (parallel-job-count): New procedure. * guix/build/gnu-build-system.scm (%parallel-job-count): Remove. (build, check): Use 'parallel-job-count' instead. Ludovic Courtès
2014-11-21guix system: Add '--share' and '--expose' options for 'vm'.•••* 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. Ludovic Courtès
2014-11-19lint: Fix typos in checker descriptions.•••* guix/scripts/lint.scm (%checkers): "file names" (two words), and "synopses" (plural). Ludovic Courtès
2014-11-19lint: Use localized checker descriptions.•••* guix/scripts/lint.scm (list-checkers-and-exit): Wrap 'lint-checker-description' call in (_ ...). Ludovic Courtès
2014-11-19lint: Correctly internationalize warning messages.•••* 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 (_ ...). Ludovic Courtès
2014-11-19lint: Change checker names to be symbols.•••* guix/scripts/lint.scm (%checkers): Change 'name' fields to be symbols. (%options): Adjust "-c" option handler accordingly. Ludovic Courtès
2014-11-19lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.•••* 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'. Ludovic Courtès
2014-11-19licenses: Add the Clarified Artistic License.•••* guix/licenses.scm (clarified-artistic): New variable. Ludovic Courtès
2014-11-14syscalls: Update /etc/mtab, not /etc/fstab.•••* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with "mtab". Ludovic Courtès
2014-11-13substitute-binary: Be slightly less verbose when downloading.•••* guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">: Be slightly less verbose. Ludovic Courtès
2014-11-13derivations: Clarify message produced by 'graft-derivation'.•••* guix/derivations.scm (graft-derivation): Use the term "grafting" in the build message. Ludovic Courtès
2014-11-11guix system: Decorate GRUB entries of old generations with date and number.•••* guix/scripts/system.scm (seconds->string): New procedure. (previous-grub-entries)[system->grub-entry]: Add 'number' and 'time' parameters. Adjust call accordingly. Ludovic Courtès
2014-11-11import: Add GNU importer.•••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. Ludovic Courtès
2014-11-11gnu-maintenance: Introduce <gnu-release> data type.•••* 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. Ludovic Courtès
2014-11-10syscalls: Add 'mount-points'.•••* guix/build/syscalls.scm (mount-points): New procedure. * tests/syscalls.scm ("mount-points"): New test. Ludovic Courtès
2014-11-10licenses: Add 'silofl1.1'.•••* guix/licenses.scm (silofl1.1): New variable. Alex Kost