summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
| * | | | | | | utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.Ludovic Courtès2014-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.
| * | | | | | | build-system/gnu: Add 'compress-documentation' phase.Ludovic Courtès2014-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (compress-documentation): New procedure. (%standard-phases): Add it.
| * | | | | | | utils: Add 'symbolic-link?'.Ludovic Courtès2014-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (symbolic-link?): New procedure.
| * | | | | | | build-system/gnu: Add 'validate-documentation-location' phase.Ludovic Courtès2014-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (validate-documentation-location): New procedure. (%standard-phases): Add it.
| * | | | | | | utils: Improve docstring of 'substitute*' & co.Taylan Ulrich Bayırlı/Kammer2014-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * | | | | | | build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.Ludovic Courtès2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>.
| * | | | | | | utils: 'elf-file?' and 'ar-file?' return #f for directories.Ludovic Courtès2014-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | utils: Turn 'parallel-job-count' into a parameter.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter.
| * | | | | | | build-system/gnu: Strip 'ar' archives as well.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (strip): Also strip when (ar-file? PATH) is true.
| * | | | | | | utils: Factorize magic bytes detection.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (file-header-match): New procedure. (%elf-magic-bytes): New variable. (elf-file?, ar-file?): Define using 'file-header-match'.
| * | | | | | | utils: Add 'ar-file?'.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (%ar-magic-bytes): New variable. (ar-file?): New procedure.
| * | | | | | | build-system/gnu: Strip only ELF files.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | utils: Add 'elf-file?'.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (elf-file?): New procedure.
| * | | | | | | utils: Export 'parallel-job-count'.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | | | | | packages: Convert source derivations to monadic style.Ludovic Courtès2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (origin->derivation): Take body from 'package-source-derivation', and change it to monadic style. Expect METHOD to a monadic procedure. (package-source-derivation): Define in terms of 'origin->derivation'. * guix/download.scm (url-fetch): Remove 'store' argument. Remove 'guile-for-build' variable. Turn into a monadic procedure. * guix/git-download.scm (git-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (url-fetch*): New procedure. Change tests to call 'url-fetch*' instead of 'url-fetch'. * tests/packages.scm ("package-source-derivation, snippet"): Remove 'store' parameter of 'fetch' and change it to use 'interned-file' instead of 'add-to-store'. * gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store' parameter.
* | | | | | | | store: Add 'store-lower'.Ludovic Courtès2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/store.scm (store-lower): New procedure. * tests/store.scm ("store-lower"): New test.
* | | | | | | | monads: Move '%store-monad' and related procedures where they belong.Ludovic Courtès2015-01-14
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This turns (guix monads) into a generic module for monads, and moves the store monad and related monadic procedures in their corresponding module. * guix/monads.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file, package-file, package->derivation, package->cross-derivation, origin->derivation, imported-modules, compiled, modules, built-derivations, run-with-store): Move to... * guix/store.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file): ... here. (%guile-for-build): New variable. (run-with-store): Moved from monads.scm. Remove default value for #:guile-for-build. * guix/packages.scm (default-guile): Export. (set-guile-for-build): New procedure. (package-file, package->derivation, package->cross-derivation, origin->derivation): Moved from monads.scm. * guix/derivations.scm (%guile-for-build): Remove. (imported-modules): Rename to... (%imported-modules): ... this. (compiled-modules): Rename to... (%compiled-modules): ... this. (built-derivations, imported-modules, compiled-modules): New procedures. * gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm, gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm, guix/gexp.scm, guix/git-download.scm, guix/profiles.scm, guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly. * guix/monad-repl.scm (default-guile-derivation): New procedure. (store-monad-language, run-in-store): Use it. * build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit 'set-guile-for-build' call. * guix/scripts/archive.scm (derivation-from-expression): Likewise. * guix/scripts/build.scm (options/resolve-packages): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * doc/guix.texi (The Store Monad): Adjust module names accordingly.
* | | | | | | build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.Federico Beffa2015-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Mark H Weaver <mhw@netris.org> * guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for existence of icons directory.
* | | | | | | monads: Remove 'derivation-expression'.Ludovic Courtès2015-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/monads.scm (lower-inputs, derivation-expression): Remove. * tests/monads.scm (derivation-expression, "mlet* + derivation-expression"): Remove.
* | | | | | | monads: Rewrite 'text-file*' using gexps.Ludovic Courtès2015-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/monads.scm (text-file*): Move to... * guix/gexp.scm (text-file*): ... here. Rewrite using gexps. * tests/monads.scm ("text-file*"): Move to... * tests/gexp.scm ("text-file*"): ... here.
* | | | | | | guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.Federico Beffa2015-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (data-directories): Rename 'schemas-directories' to 'data-directories' and add support for XDG theming data. * guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New function. * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to reflect that we are dealing with more types of data and not only with schemas. Add handling of GIO modules. * guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib instead of 'out'. This was an error since we need the program 'glib-compile-schemas'. Update the description.
* | | | | | | derivations: Use a set for 'substitution-oracle'.Ludovic Courtès2015-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/derivations.scm (substitution-oracle): Use sets instead of lists.
* | | | | | | derivations: Use sets for 'derivations-prerequisites'.Ludovic Courtès2015-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This yields a 46% improvement in 'derivation-prerequisites' invocations on the Emacs derivation. * guix/derivations.scm (derivation-prerequisites): Add 'input-set' variable, and use it in iterations.
* | | | | | | Add (guix sets).Ludovic Courtès2015-01-11
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * guix/sets.scm, tests/sets.scm: New files.sets * Makefile.am (MODULES, SCM_TESTS): Add them.
* | | | | | derivations: Add 'substitution-oracle' and use it.Ludovic Courtès2015-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes 'guix environment PACKAGE' significantly faster when substitutes are enabled. Before that, it would lead to many invocations of 'guix substitute-binary', one per 'derivation-prerequisites-to-build' call. Now, all these are replaced by a single invocation. * guix/derivations.scm (derivation-output-paths, substitution-oracle): New procedures. (derivation-prerequisites-to-build): Replace #:use-substitutes? with #:substitutable?. Remove the local 'derivation-output-paths' and 'substitutable?'. * guix/ui.scm (show-what-to-build): Add 'substitutable?'. Pass it to 'derivation-prerequisites-to-build'. [built-or-substitutable?]: Use it instead of 'has-substitutes?'. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes"): Use #:substitutable? instead of #:use-substitutes?.
* | | | | | derivations: Add 'derivation-output-names'.Ludovic Courtès2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/derivations.scm (derivation-output-names): New procedure. (derivation-prerequisites-to-build): Use it for #:outputs. (map-derivation): Likewise. * tests/derivations.scm ("derivation-output-names"): New test.
* | | | | | import: Add CPAN importer.Eric Bavier2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm: New files. * Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them. * guix/scripts/import.scm (importers): Add cpan. * doc/guix.texi (Requirements): Mention `guix import cpan` as a user of guile-json. (Invoking guix import): Document new `guix import cpan` command.
* | | | | | tests: import: Factorize utility function.Eric Bavier2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/pypi.scm (mock): Move this... * guix/tests.scm: to here.
* | | | | | import: Factorize utility functions.Eric Bavier2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*, url-fetch, json-fetch): Pull procedures from here into... * guix/import/utils.scm: Here and... * guix/import/json.scm: Here. New file. * Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it. * guix/import/gnu.scm (file-sha256): Move from here to... * guix/hash.scm: Here. * tests/pypi.scm (pypi->guix-package): Update mock module reference.
* | | | | | import: gnu: Propagate the key-download argument.Eric Bavier2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/gnu.scm (gnu->guix-package): Pass the key-download argument on to gnu-package->sexp.
* | | | | | substitute-binary: Micro-optimize 'narinfo-sha256'.Ludovic Courtès2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp): Change "~a" to "~s" in error message. (%signature-line-rx): Remove. (narinfo-sha256): Use 'string-contains' instead of 'regexp-exec', and 'string-take' instead of 'match:substring'.
* | | | | | records: Optimize 'recutils->alist' by avoiding regexps.Ludovic Courtès2015-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/records.scm (%recutils-field-rx, %recutils-comment-rx, %recutils-plus-rx): Remove. (%recutils-field-charset): New variable. (recutils->alist): Adjust to use tests (string-ref line 0) instead of regexps.
* | | | | | base64: Inline arithmetic operations.Ludovic Courtès2015-01-09
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | * guix/base64.scm (define-alias): New macro. (fxbit-field, fxarithmetic-shift, fxarithmetic-shift-left, fxand, fxior, fxxor): New aliases.
* | | | | linux-boot: Make /etc/mtab a symlink to /proc/self/mounts.宋文武2015-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19491>. * gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab a symlink to /proc/self/mounts. * gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab. * guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to #f.
* | | | | pk-crypto: Improve docstring of signature-related procedures.Ludovic Courtès2015-01-04
| |_|_|/ |/| | | | | | | | | | | * guix/pk-crypto.scm (bytevector->hash-data, sign): Augment docstring.
* | | | download: Export 'maybe-expand-mirrors'.Ludovic Courtès2014-12-29
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New procedures. (url-fetch): Remove them from here.
* | | | tests: Factorize the 'dummy-package' macro.Ludovic Courtès2014-12-29
| | | | | | | | | | | | | | | | | | | | | | | | * guix/tests.scm (dummy-package): New macro. * tests/lint.scm (dummy-package): Remove. * tests/packages.scm (dummy-package): Remove.
* | | | lint: Add tests for the 'home-page' checker.Ludovic Courtès2014-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Cyril Roelandt <tipecaml@gmail.com>. * tests/lint.scm (%http-server-port, %http-server-socket, %local-url, stub-http-server): New variables. (http-write, call-with-http-server): New procedures. (with-http-server): New macro. ("home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 404"): New tests. * guix/scripts/lint.scm (check-home-page): Export.
* | | | lint: Report on the package being checked.Ludovic Courtès2014-12-28
| | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/lint.scm (run-checkers): Check whether (current-error-port) is a tty, and print the package being checked and the checker currently running when it is.
* | | | lint: Add 'home-page' checker.Ludovic Courtès2014-12-28
| |_|/ |/| | | | | | | | | | | | | | * guix/build/download.scm (open-connection-for-uri): Export. * guix/scripts/lint.scm (probe-uri, check-home-page): New procedures. (%checkers): Add 'home-page' checker.
* | | build-system/python: Fix 'package-with-explicit-python'.Ludovic Courtès2014-12-23
| | | | | | | | | | | | | | | | | | | | | | | | Reported by Federico Beffa <beffa@ieee.org> and Eric Bavier <ericbavier@gmail.com>. * guix/build-system/python.scm (package-with-explicit-python): Do nothing when P's build system is not PYTHON-BUILD-SYSTEM.
* | | Optimize package-transitive-supported-systems.Mark H Weaver2014-12-21
| | | | | | | | | | | | | | | | | | * guix/packages.scm (first-value): Remove. (define-memoized/v): New macro. (package-transitive-supported-systems): Rewrite.
* | | syscalls: Add more procedures for network interfaces.Ludovic Courtès2014-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types, read-type, read-types, define-c-struct): New macros. (SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables. (sockaddr-in, sockaddr-in6): New C structs. (write-socket-address!, read-socket-address, set-network-interface-flags, set-network-interface-address, network-interface-address, configure-network-interface): New procedures.
* | | build/python-build-system: Fix easy-install.pth collisions.Federico Beffa2014-12-18
| | | | | | | | | | | | | | | * guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file phase and corresponding function.
* | | profiles: Fix removal of the next-to-last item in a profile.Ludovic Courtès2014-12-15
| |/ |/| | | | | | | | | | | | | | | | | Fixes a bug whereby removing the next-to-last item in a profile would lead to an obscure error, as shown at <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir "out") instead of just INFO-DIR.
* | build-system/glib-or-gtk: Fix default value of ↵Ludovic Courtès2014-12-09
| | | | | | | | | | | | | | | | | | | | #:glib-or-gtk-wrap-excluded-outputs. Fixes <http://bugs.gnu.org/19321>. Reported by Mark H Weaver <mhw@netris.org>. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default value of #:glib-or-gtk-wrap-excluded-outputs to ''().
* | gnu: licenses: Add NCSA license.Eric Bavier2014-12-09
| | | | | | | | * guix/licenses.scm (ncsa): New variable.
* | substitute-binary: Add missing newline in download progress report.Ludovic Courtès2014-12-09
| | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19313>. Reported by rekado <rekado@elephly.net>. * guix/scripts/substitute-binary.scm (guix-substitute-binary) <--substitute>: Add 'newline' call.
* | system: Don't make /boot/grub/grub.cfg a symlink to the store.Ludovic Courtès2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would not work when /boot is a separate partition, as reported by Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220>. This fixes a regression introduced in 39d1f82. * gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of symlinking it, as was the case before 39d1f82. * gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter. Make it a permanent GC root instead of an indirect GC root. (initialize-hard-disk): Adjust accordingly. * guix/scripts/system.scm (install-grub*): Replace use of 'add-indirect-root' by the addition of a permanent GC root in %GC-ROOTS-DIRECTORY.
* | build-system/python: Add handling of 'propagated-inputs' inFederico Beffa2014-12-08
| | | | | | | | | | | | | | 'package-with-explicit-python'. * guix/build-system/python.scm (package-with-explicit-python): Add mapping for 'propagated-inputs'.