From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Superseded packages Date: Tue, 06 Sep 2016 23:36:32 +0200 Message-ID: <87vay8r9r3.fsf_-_@gnu.org> References: <20160904021256.GA21539@jasmine> <874m5vvmi8.fsf@we.make.ritual.n0.is> <20160904184416.GB29947@jasmine> <87d1kirc4r.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41510) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhO2p-0000JW-Ez for guix-devel@gnu.org; Tue, 06 Sep 2016 17:36:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhO2n-00085b-Fb for guix-devel@gnu.org; Tue, 06 Sep 2016 17:36:38 -0400 In-Reply-To: <87d1kirc4r.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 05 Sep 2016 10:20:36 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Leo Famulari Cc: guix-devel@gnu.org Hi! ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > I had an idea to use a =E2=80=98superseded=E2=80=99 entry in =E2=80=98pro= perties=E2=80=99 that would > tell =E2=80=98guix package=E2=80=99 et al. to upgrade to the new package: > > (package > (name "attic") > ;; =E2=80=A6 > (properties `((superseded . ,borg)))) This is now implemented both at the package lookup level and in =E2=80=98gu= ix package -u=E2=80=99 (the code is in 01afdab89c6a91f4cd05d3c4f4ff95a0402703e= b 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-pared= it-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=E2=80= =99d like to see if I can generalize it a bit and move it to (guix profiles). Comments welcome! Ludo=E2=80=99.