summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2016-09-06gnupg: Honor $GUIX_GPG_COMMAND and default to 'gpg'.Ludovic Courtès
* guix/gnupg.scm (%gpg-command): Change to "gpg" or $GUIX_GPG_COMMAND.
2016-09-06syscalls: Use #:return-errno? when it is available.Ludovic Courtès
* guix/build/syscalls.scm (errno): Do not export. (syscall->procedure): Change to return a procedure that returns both the value and errno. Use #:return-errno? where available. (mount, umount, swapon, swapoff, mkdtemp!, fdatasync, statfs) (clone, setns, pivot-root, fcntl-flock, network-interface-names) (network-interface-flags, set-network-interface-flags) (set-network-interface-address, network-interface-address): (network-interfaces, tcgetattr, tcsetattr, terminal-window-size): Adjust accordingly using 'let-values'.
2016-09-05Add (guix modules).Ludovic Courtès
* guix/modules.scm, tests/modules.scm: New files. * Makefile.am (MODULES, SCM_TESTS): Add them. * doc/guix.texi (G-Expressions): Add an example of 'source-module-closure'.
2016-09-05file-systems: Always use (guix build syscalls).Ludovic Courtès
* gnu/build/file-systems.scm: Use (guix build syscalls) unconditionally. Override the 'mount' and 'umount' bindings when (guile) provides them. (MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_REMOUNT) (MS_BIND, MS_MOVE): Remove. * guix/build/syscalls.scm (%libc-errno-pointer): Add 'false-if-exception' around 'dynamic-func'.
2016-09-05ui: Initialize %FILE-PORT-NAME-CANONICALIZATION to #f.Ludovic Courtès
This avoids loads of needless 'stat' calls due to the default 'relative setting and the 'canonicalize-path' calls it leads to. This was especially visible when 'guix substitute' access files in /var/guix/substitute/cache. * guix/ui.scm (run-guix-command): Set %FILE-PORT-NAME-CANONICALIZATION to #f.
2016-09-03guix: ant-build-system: Fix pattern for collecting jar files.Hartmut Goebel
The former pattern included the "jar" binary. * guix/build/ant-build-system.scm (generate-classpath): Change pattern. Suggested by: Ricardo Wurmus <rekado@elephly.net>
2016-09-01guix build: Rewrite '--with-input' in terms of 'package-input-rewriting'.Ludovic Courtès
* guix/scripts/build.scm (transform-package-inputs): Rewrite in terms of 'package-input-rewriting'.
2016-09-01packages: Add 'package-input-rewriting'.Ludovic Courtès
* guix/packages.scm (package-input-rewriting): New procedure. * tests/packages.scm ("package-input-rewriting"): New test. * doc/guix.texi (Defining Packages): Document it. (Package Transformation Options): Add cross-reference.
2016-08-31services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'.Ludovic Courtès
* guix/scripts/system.scm (service-upgrade): Move to... * gnu/services/shepherd.scm (shepherd-service-upgrade): ... here. * tests/system.scm ("service-upgrade: nothing to do", "service-upgrade: one unchanged, one upgraded, one new", "service-upgrade: service depended on is not unloaded", "service-upgrade: obsolete services that depend on each other"): Move to... * tests/services.scm: ... here. Adjust to 'service-upgrade' rename.
2016-08-31guix system: Do not unload services depended on.Ludovic Courtès
Reported by Mark H Weaver <mhw@netris.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01470.html>. * guix/scripts/system.scm (service-upgrade)[live-service-required?]: New procedure. [obsolete?]: Use it. * tests/system.scm ("service-upgrade: service depended on is not unloaded", "service-upgrade: obsolete services that depend on each other"): New tests.
2016-08-31guix system: Use 'shepherd-service-lookup-procedure' in 'service-upgrade'.Ludovic Courtès
* guix/scripts/system.scm (service-upgrade)[essential?]: SERVICE is now a <live-service>. [lookup-target, lookup-live, running?, stopped, obsolete?]: New procedures. [to-load, to-unload]: Use them. TO-UNLOAD is now a list of <live-service>. (call-with-service-upgrade-info): Extract symbols from TO-UNLOAD. * tests/system.scm ("service-upgrade: one unchanged, one upgraded, one new"): Adjust accordingly.
2016-08-31guix system: Extract and test the service upgrade procedure.Ludovic Courtès
* guix/scripts/system.scm (service-upgrade): New procedure, with code from... (call-with-service-upgrade-info): ... here. Use it. * tests/system.scm (live-service, service-upgrade): New variables. ("service-upgrade: nothing to do", "service-upgrade: one unchanged, one upgraded, one new"): New tests.
2016-08-31services: herd: Provide <live-service> objects.Ludovic Courtès
* gnu/services/herd.scm (<live-service>): New record type. (current-services): Change to return a single value: #f or a list of <live-service>. * guix/scripts/system.scm (call-with-service-upgrade-info): Adjust accordingly. * gnu/tests/base.scm (run-basic-test)["shepherd services"]: Adjust accordingly.
2016-08-30build: Add wrap-qt-program.David Craven
* guix/build/qt-utils.scm (wrap-qt-program): New file. * Makefile.am (MODULES): Add it.
2016-08-30import: hackage: Default to https urls.ng0
* guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): Use https for hackage.haskell.org.
2016-08-30import: cpan: Use tls to query api.metacpan.org.ng0
* guix/import/cpan.scm (module->dist-name, cpan-fetch-module): Use tls for api.metacpan.org. Signed-off-by: Eric Bavier <bavier@member.fsf.org>
2016-08-30guix: ruby-build-system: Add replace-git-ls-files.Ben Woodcroft
* guix/build/ruby-build-system.scm (replace-git-ls-files): New variable. (%standard-phases): Add it.
2016-08-30guix: ruby-build-system: Build compiled gems reproducibly.Ben Woodcroft
* guix/build/ruby-build-system.scm (log-file-deletion): New procedure. (install): Remove files containing non-reproducible elements. Print when each file is deleted.
2016-08-28guix: lint: Check descriptions for trademark signs.Eric Bavier
* guix/scripts/lint.scm (check-description-style): Emit a warning if trademark signs found in description. * tests/lint.scm (description: may not contain trademark signs): Add test.
2016-08-28guix scripts: Disable grafting on dry runs.Roel Janssen
* guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/environment.scm, guix/scripts/system.scm, guix/scripts/package.scm: Disable grafting when a dry-run parameter is given.
2016-08-28import: Importers return prefixed licenses.David Craven
* guix/import/utils.scm (define-module): Import licenses with license: prefix. (string->licenses): Use prefixed licenses. (license->symbol): Return symbols with the prefix license:. * guix/tests/pypi.scm (pypi->guix-package): Update test cases. * guix/tests/gem.scm (gem->guix-package): Update test case.
2016-08-27base64: Restore original license header.Christopher Allan Webber
When incorporating a copyleft licensed program with a lax licensed program, it is correct to preserve the original license notice. See also: https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html * guix/base64.scm: Restored original license header.
2016-08-20system: Fix 'guix system' when root fs is named by UUID.Mark H Weaver
Fixes <https://bugs.gnu.org/23881>. * guix/scripts/system.scm (previous-grub-entries) (display-system-generation): Handle the case where the root device is specified by UUID.
2016-08-19edit: Do not honor 'GUIX_BUILD_OPTIONS'.Ludovic Courtès
* guix/scripts/edit.scm (guix-edit)[parse-arguments]: New procedure. Use it.
2016-08-16ant-build-system: Fix typo.Leo Famulari
* guix/build-system/ant.scm (ant-build): Fix typo.
2016-08-12profiles: xdg-mime-database: Run the hook when have GLib based applications.宋文武
* guix/profiles.scm (xdg-mime-database): Run the hook when GLIB is referenced by the manifest. Add SHARED-MIME-INFO to the mime packages of `update-mime-database'.
2016-08-09grafts: Make grafting faster.Mark H Weaver
* guix/build/graft.scm (replace-store-references): Reimplement for faster grafting. Use binary I/O instead of textual I/O. Replace 'mapping' argument (an alist) with 'replacement-table' (a vhash). (rewrite-directory): Adapt to mapping argument change in 'replace-store-references'. Remove 'with-fluids' that previously set '%default-port-encoding' to #f, since we now use binary I/O. (define-inline, hash-length): New macros. (nix-base32-char?): New variable.
2016-08-05download: Add download.kde.org to kde mirrors.David Craven
* guix/download.scm (%mirrors)[kde]: Add download.kde.org.
2016-08-04ui: Remove dependency on (gnu system file-systems).Ludovic Courtès
* guix/ui.scm (specification->file-system-mapping): Move to... * gnu/system/file-systems.scm (specification->file-system-mapping): ... here.
2016-08-04Merge branch 'core-updates'Mark H Weaver
2016-08-04Revert "Merge branch 'core-updates'"Mark H Weaver
This reverts commit 455859a50f88f625d13fc2f304111f02369b366b.
2016-08-02guix system: Fix the Shepherd error handling fix.Ludovic Courtès
This is a followup to aa1e73a996ad170fecac848f203528aeb3d2173e. * guix/scripts/system.scm (with-shepherd-error-handling): Return two values when an exception is caught.
2016-08-02guix system: Properly report Shepherd errors when upgrading services.Ludovic Courtès
Fixes regression introduced in 8bf92e3904cb656d4c2160fc8befebaf21a65492. Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/24135>. * guix/scripts/system.scm (with-shepherd-error-handling): Rename 'body' to 'mbody'. Expand to a monadic procedure that runs MBODY.
2016-08-02lint: 'inputs-should-be-native' checks for extra-cmake-modules and qttools.David Craven
* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when extra-cmake-modules or qttools isn't a native-input.
2016-08-02gnu-maintenance: Add KDE updater.David Craven
* guix/gnu-maintenance.scm (kde-package?, latest-kde-release): New private functions. (%kde-updater): New public variable. * guix/scripts/refresh.scm (list-updaters): Add %kde-updater. * doc/guix.texi (Invoking guix refresh): Mention the new updater.
2016-08-02download: Add KDE mirrors.David Craven
* guix/download.scm (%mirrors)[kde]: Add kde mirrors.
2016-08-01Merge branch 'core-updates'Ludovic Courtès
2016-08-01publish: Do not compress already-compressed files.Ludovic Courtès
* guix/scripts/publish.scm (narinfo-string): Force %NO-COMPRESSION when STORE-PATH matches 'compressed-file?'. * guix/utils.scm (compressed-file?): New procedure. * tests/publish.scm ("/*.narinfo for a compressed file"): New test.
2016-07-31Merge branch 'master' into core-updatesMark H Weaver
2016-07-31download: Add mirror.hydra.gnu.org as a content-addressed mirror.Ludovic Courtès
* guix/download.scm (%content-addressed-mirrors): Add 'mirror.hydra.gnu.org'.
2016-07-31download: Pass the raw file name to content-addressed mirrors.Ludovic Courtès
* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'.
2016-07-30emacs: Disable grafts when dry-run is enabled.Alex Kost
* emacs/guix-main.scm (process-package-actions): Set grafting according to 'dry-run?'. * guix/scripts.scm (build-package): Disable grafts when 'dry-run?' is #t. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-29Merge branch 'master' into core-updatesMark H Weaver
2016-07-29size: Fix corner case with multiple items on the command line.Ludovic Courtès
Fixes 'guix size foo bar' when 'foo' is in the local store and 'bar' isn't, which could lead to an incomplete requisite list. * guix/scripts/size.scm (requisites*): Partition ITEMS according to 'valid-path?'. Use 'substitutable-requisites' only on invalid items.
2016-07-28Merge branch 'master' into core-updatesLeo Famulari
2016-07-28Merge branch 'master' into core-updatesMark H Weaver
2016-07-28guix package: Suggest prefix search path settings.Ludovic Courtès
* guix/scripts/package.scm (build-and-use-profile): Pass #:kind 'prefix to 'display-search-paths'.
2016-07-28packages: Add 'hidden-package'.Ludovic Courtès
* guix/packages.scm (hidden-package, hidden-package?): New procedures. * gnu/packages.scm (fold-packages): Filter out 'hidden-package?'. * tests/packages.scm ("hidden-package"): New test.
2016-07-28Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2016-07-27zlib: Protect against non-empty port internal buffers.Ludovic Courtès
* guix/zlib.scm (make-gzip-input-port)[gzfile]: Error out if (drain-input port) returns a non-empty string. * guix/zlib.scm (make-gzip-output-port)[gzfile]: Call 'force-output'.