packages: Add 'package-superseded' and associated support.
authorLudovic Courtès <ludo@gnu.org>
Tue, 6 Sep 2016 21:14:07 +0000 (23:14 +0200)
committerLudovic Courtès <ludo@gnu.org>
Tue, 6 Sep 2016 21:22:10 +0000 (23:22 +0200)
commit01afdab89c6a91f4cd05d3c4f4ff95a0402703eb
tree7be146245b7b7053532f38476399e5b8f5b2f9c4
parent03763d6473bcd6c7a84bcc3a6aa7bc2d1ee1e44f
packages: 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.
gnu/packages.scm
guix/packages.scm
guix/scripts/package.scm
tests/guix-build.sh
tests/packages.scm