summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2016-09-07guix hash: Add --exclude-vcs option.•••* guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option. (%options): Add --exclude-vcs option. (guix-hash): Handle exclude-vcs option. * doc/guix.texi ("Invoking guix hash"): Update doc. * tests/guix-hash.sh: Add test. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen
2016-09-06packages: Add 'package-superseded' and associated support.•••This provides a way to mark a package as superseded by another one. Upgrades replace superseded packages with their replacement. * guix/packages.scm (package-superseded, deprecated-package): New procedures. * gnu/packages.scm (%find-package): Check for 'package-superseded'. * guix/scripts/package.scm (transaction-upgrade-entry)[supersede]: New procedure. Call it when 'package-superseded' is true. * tests/guix-build.sh: Add test for a superseded package. * tests/packages.scm ("package-superseded") ("transaction-upgrade-entry, superseded package"): New tests. Ludovic Courtès
2016-09-06profiles: Export <manifest-pattern> accessors.•••* guix/profiles.scm (manifest-pattern-name, manifest-pattern-version) (manifest-pattern-output): Export. Ludovic Courtès
2016-09-06guix package: Build up the transaction incrementally.•••* guix/scripts/package.scm (upgraded-manifest-entry): Rename to... (transaction-upgrade-entry): ... this. Add 'transaction' parameter and return a transaction. (options->installable): Likewise. [to-upgrade]: Rename to... [upgraded]: ... this, and change to be a transaction. Return a transaction. (options->removable): Likewise. (process-actions): Adjust accordingly. * tests/packages.scm ("transaction-upgrade-entry, zero upgrades") ("transaction-upgrade-entry, one upgrade"): New tests. Ludovic Courtès
2016-09-06profiles: Add manifest-transaction helper procedures.•••* guix/profiles.scm (manifest-transaction-install-entry) (manifest-transaction-remove-pattern) (manifest-transaction-null?): New procedures. * tests/profiles.scm ("manifest-transaction-null?"): New test. Ludovic Courtès
2016-09-06guix package: Clarify upgrade code.•••* guix/scripts/package.scm (upgradeable?): Rename to... (upgraded-manifest-entry): ... this. Change to take a <manifest-entry> and to return a <manifest-entry>. (options->installable)[to-upgrade]: Adjust accordingly. Ludovic Courtès
2016-09-06gnupg: Honor $GUIX_GPG_COMMAND and default to 'gpg'.•••* guix/gnupg.scm (%gpg-command): Change to "gpg" or $GUIX_GPG_COMMAND. Ludovic Courtès
2016-09-06syscalls: Use #:return-errno? when it is available.•••* 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'. Ludovic Courtès
2016-09-05Add (guix modules).•••* 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'. Ludovic Courtès
2016-09-05file-systems: Always use (guix build syscalls).•••* 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'. Ludovic Courtès
2016-09-05ui: Initialize %FILE-PORT-NAME-CANONICALIZATION to #f.•••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. Ludovic Courtès
2016-09-03guix: ant-build-system: Fix pattern for collecting jar files.•••The former pattern included the "jar" binary. * guix/build/ant-build-system.scm (generate-classpath): Change pattern. Suggested by: Ricardo Wurmus <rekado@elephly.net> Hartmut Goebel
2016-09-01guix build: Rewrite '--with-input' in terms of 'package-input-rewriting'.•••* guix/scripts/build.scm (transform-package-inputs): Rewrite in terms of 'package-input-rewriting'. Ludovic Courtès
2016-09-01packages: Add 'package-input-rewriting'.•••* 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. Ludovic Courtès
2016-08-31services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'.•••* 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. Ludovic Courtès
2016-08-31guix system: Do not unload services depended on.•••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. Ludovic Courtès
2016-08-31guix system: Use 'shepherd-service-lookup-procedure' in 'service-upgrade'.•••* 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. Ludovic Courtès
2016-08-31guix system: Extract and test the service upgrade procedure.•••* 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. Ludovic Courtès
2016-08-31services: herd: Provide <live-service> objects.•••* 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. Ludovic Courtès
2016-08-30build: Add wrap-qt-program.•••* guix/build/qt-utils.scm (wrap-qt-program): New file. * Makefile.am (MODULES): Add it. David Craven
2016-08-30import: hackage: Default to https urls.•••* guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): Use https for hackage.haskell.org. ng0
2016-08-30import: cpan: Use tls to query api.metacpan.org.•••* 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> ng0
2016-08-30guix: ruby-build-system: Add replace-git-ls-files.•••* guix/build/ruby-build-system.scm (replace-git-ls-files): New variable. (%standard-phases): Add it. Ben Woodcroft
2016-08-30guix: ruby-build-system: Build compiled gems reproducibly.•••* guix/build/ruby-build-system.scm (log-file-deletion): New procedure. (install): Remove files containing non-reproducible elements. Print when each file is deleted. Ben Woodcroft
2016-08-28guix: lint: Check descriptions for trademark signs.•••* 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. Eric Bavier
2016-08-28guix scripts: Disable grafting on dry runs.•••* 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. Roel Janssen
2016-08-28import: Importers return prefixed licenses.•••* 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. David Craven
2016-08-27base64: Restore original license header.•••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. Christopher Allan Webber
2016-08-20system: Fix 'guix system' when root fs is named by UUID.•••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. Mark H Weaver
2016-08-19edit: Do not honor 'GUIX_BUILD_OPTIONS'.•••* guix/scripts/edit.scm (guix-edit)[parse-arguments]: New procedure. Use it. Ludovic Courtès
2016-08-16ant-build-system: Fix typo.•••* guix/build-system/ant.scm (ant-build): Fix typo. Leo Famulari
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.•••* 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. Mark H Weaver
2016-08-05download: Add download.kde.org to kde mirrors.•••* guix/download.scm (%mirrors)[kde]: Add download.kde.org. David Craven
2016-08-04ui: Remove dependency on (gnu system file-systems).•••* guix/ui.scm (specification->file-system-mapping): Move to... * gnu/system/file-systems.scm (specification->file-system-mapping): ... here. Ludovic Courtès
2016-08-04Merge branch 'core-updates'Mark H Weaver
2016-08-04Revert "Merge branch 'core-updates'"•••This reverts commit 455859a50f88f625d13fc2f304111f02369b366b. Mark H Weaver
2016-08-02guix system: Fix the Shepherd error handling fix.•••This is a followup to aa1e73a996ad170fecac848f203528aeb3d2173e. * guix/scripts/system.scm (with-shepherd-error-handling): Return two values when an exception is caught. Ludovic Courtès
2016-08-02guix system: Properly report Shepherd errors when upgrading services.•••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. Ludovic Courtès
2016-08-02lint: 'inputs-should-be-native' checks for extra-cmake-modules and qttools.•••* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when extra-cmake-modules or qttools isn't a native-input. David Craven
2016-08-02gnu-maintenance: Add KDE updater.•••* 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. David Craven
2016-08-02download: Add KDE mirrors.•••* guix/download.scm (%mirrors)[kde]: Add kde mirrors. David Craven
2016-08-01Merge branch 'core-updates'Ludovic Courtès
2016-08-01publish: Do not compress already-compressed files.•••* 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. Ludovic Courtès
2016-07-31Merge branch 'master' into core-updatesMark H Weaver
2016-07-31download: Add mirror.hydra.gnu.org as a content-addressed mirror.•••* guix/download.scm (%content-addressed-mirrors): Add 'mirror.hydra.gnu.org'. Ludovic Courtès
2016-07-31download: Pass the raw file name to content-addressed mirrors.•••* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'. Ludovic Courtès
2016-07-30emacs: Disable grafts when dry-run is enabled.•••* 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> Alex Kost
2016-07-29Merge branch 'master' into core-updatesMark H Weaver
2016-07-29size: Fix corner case with multiple items on the command line.•••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. Ludovic Courtès