Hi! l...@gnu.org (Ludovic Courtès) skribis:
> I had an idea to use a ‘superseded’ entry in ‘properties’ that would > tell ‘guix package’ et al. to upgrade to the new package: > > (package > (name "attic") > ;; … > (properties `((superseded . ,borg)))) This is now implemented both at the package lookup level and in ‘guix package -u’ (the code is in 01afdab89c6a91f4cd05d3c4f4ff95a0402703eb and an example is in 967cfd18f666f24ae9cbad14ea8e6921c10cba81): --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build paredit -n guix build: package 'paredit' has been superseded by 'emacs-paredit' The following derivation would be built: /gnu/store/ccrv0j30a7yfs2g1n14p0bh737bcjz0y-emacs-paredit-24.drv The following files would be downloaded: /gnu/store/732iy20nybnrf0kas8zyg3xs6fq30p4d-module-import /gnu/store/15hg2356x0jygwm3359mlxjiyhmls9wy-paredit-24.el /gnu/store/2a1bdv6sby9vsmhjzs1yw8bbhpxmiarh-module-import-compiled /gnu/store/x8w0fxa1w23fsa8x5m8wrvc8i83cxc6f-emacs-minimal-24.5 $ ./pre-inst-env guix package -u paredit -n guix package: package 'paredit' has been superseded by 'emacs-paredit' The following package would be removed: paredit 24 /gnu/store/d2dx7ba1ml4ykl3825df80h64dkqs21i-paredit-24 The following package would be installed: emacs-paredit 24 /gnu/store/nm927dpid524p5zdksga44xf78k3vpc0-emacs-paredit-24 The following derivations would be built: /gnu/store/7mphabn67n0kdl242d4nby34krsf7iba-profile.drv /gnu/store/w0aa524wr0y89pi5l9qj0gjdiwfy451i-info-dir.drv /gnu/store/nlvmpmfmgib6k3y357s391shf0qznx29-fonts-dir.drv /gnu/store/niqnq338ndnf0k2xacd53mwkk43nwycy-ca-certificate-bundle.drv /gnu/store/9a2677pzx58b9vilhn8gmkvlgms19vf1-gtk-icon-themes.drv /gnu/store/5h7lzi5dk4yh5yvx5zkm2hp911x2cgh8-xdg-mime-database.drv /gnu/store/ccrv0j30a7yfs2g1n14p0bh737bcjz0y-emacs-paredit-24.drv The following files would be downloaded: /gnu/store/sppd07krb4w0bbbwyykwg05dcjn9p2kd-module-import-compiled /gnu/store/732iy20nybnrf0kas8zyg3xs6fq30p4d-module-import /gnu/store/15hg2356x0jygwm3359mlxjiyhmls9wy-paredit-24.el /gnu/store/2a1bdv6sby9vsmhjzs1yw8bbhpxmiarh-module-import-compiled /gnu/store/x8w0fxa1w23fsa8x5m8wrvc8i83cxc6f-emacs-minimal-24.5 --8<---------------cut here---------------end--------------->8--- It is still possible to install/build a deprecated package if one insists: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build -e '(@ (gnu packages emacs) paredit/old-name)' -n The following derivation would be built: /gnu/store/hl48ab4ifjq01id3xpaqv7q0fjdmlx8w-paredit-24.drv The following files would be downloaded: /gnu/store/732iy20nybnrf0kas8zyg3xs6fq30p4d-module-import /gnu/store/2a1bdv6sby9vsmhjzs1yw8bbhpxmiarh-module-import-compiled /gnu/store/x8w0fxa1w23fsa8x5m8wrvc8i83cxc6f-emacs-minimal-24.5 --8<---------------cut here---------------end--------------->8--- The downside of the current implementation of upgrades is that it is in (guix scripts package), so the Emacs UI does not benefit from it. I’d like to see if I can generalize it a bit and move it to (guix profiles). Comments welcome! Ludo’.