summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
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-02Merge branch 'master' into core-updatesLudovic Courtès
2016-09-01build-system/gnu: 'strip' phase lists files in sorted order.•••This fixes a bug whereby the choice between stripping 'libfoo.so.0.1.2' and stripping 'libfoo.so' (the symlink) would be non-deterministic. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Use 'find-files' instead of 'file-system-fold' so that files are picked in deterministic order. Ludovic Courtès
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-29Merge branch 'master' into core-updatesLeo Famulari
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-29Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
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-23profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.•••This is a followup to commit 7b808d7. * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cache' from the "bin" output of gtk+ package. 宋文武
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-17Merge branch 'master' into core-updatesLeo Famulari
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-10utils: Fix 'modify-phases' docstring.•••* guix/build/utils.scm (modify-phases): Fix the documentation string. Taylan Ulrich Bayırlı/Kammer
2016-08-10packages: Use '--no-backup-if-mismatch' for patching.•••Suggested-by: Ludovic Courtès <ludo@gnu.org> * guix/packages.scm (patch-and-repack)[build]: Use '--no-backup-if-mismatch' patch flag to avoid making *.orig files. Alex Kost
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