From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tonton Subject: Re: rolling back only a single package Date: Fri, 28 Dec 2018 12:35:47 +0100 Message-ID: <20181228123547.05bd8f6d@merlin.browniehive.net> References: <09ccab6e031dddc448863c812f400e0a@dc.uba.ar> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:46468) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gcqbf-00040C-Hf for help-guix@gnu.org; Fri, 28 Dec 2018 06:47:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gcqQn-0001u0-K8 for help-guix@gnu.org; Fri, 28 Dec 2018 06:36:00 -0500 Received: from mx1.riseup.net ([198.252.153.129]:50664) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gcqQn-0001kJ-6I for help-guix@gnu.org; Fri, 28 Dec 2018 06:35:57 -0500 In-Reply-To: <09ccab6e031dddc448863c812f400e0a@dc.uba.ar> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: cdelia@dc.uba.ar Cc: help-guix@gnu.org Hello, and welcome :) For packages where multiple versions are defined you can choose with packagename@version e.g. guile@1.8.8 for the oldest guile on my system. A simple way to see the versions is with the 'guix package --show=packagename' flag. e.g. 'guix package --show=guile' will give you an entry per guile version available. It seems you are looking for a version of a package where the previous definition was not kept on upgrade. Most likely because guix so far has not kept old versions of leaf packages (i.e. packages with no dependencies); which is why guile and python have several versions but xmobar has none. I think the choice to not keep old definitions is to ease maintenance. But this might be a valid discussion to have as we move towards 1.0. Maybe we should have a policy of keeping one old version when we upgrade, as a kind of fallback. It occurs to me that maybe this is not a problem because of functional/purity aspect of guix, and the package just needs a better definition? idk. As a quick fix for xmobar I see it was updated to 0.28 in commit ccd4fd3f2a614996bff5436cc22e4715a7eb1f31 and only two lines were changed. I would create a file ~/my-guix-pakcages/my-xmobar.scm and put the following in it: ------------------------------------------------------------------------------------------------- (define-module (my-xmobar) ;; The name "my-xmobar" have to be ;; the same as the filename #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (gnu packages wm)) (define-public my-xmobar (package (inherit xmobar) (name "xmobar") (version "0.27") (source (origin (method url-fetch) (uri (string-append "mirror://hackage/package/xmobar/" name "-" version ".tar.gz")) (sha256 (base32 "0agx490q6sbmv3vfq33ys8dsrgwizj3bmha4i1pkxz5wp5q8cx3l")))))) ------------------------------------------------------------------------------------------------- Then add the file to your shells $GUIX_PACKAGE_PATH like 'export GUIX_PACKAGE_PATH=~/my-guix-pakcages/:$GUIX_PACKAGE_PATH' in your .profile or similar. Open a new shell and run: guix package -i xmobar@0.27 Hope that helps. :) Tonton On Thu, 27 Dec 2018 16:52:23 -0300 cdelia@dc.uba.ar wrote: > Hi, > > I upgraded guix a couple of days ago, installed some things and now I > found that xmobar just keeps segfaulting. > > Switching to specific generation it's really cool, but in this case > would "uninstall" all the software that it's between the > update-generation and the current one. > > So, there is any way to just downgrade a single package (resolving it > dependencies) with out doing a full switch? > > I guess this it's connected to > https://lists.gnu.org/archive/html/help-guix/2016-08/msg00028.html > > And I could also switch and then manually re install. But maybe there is > a standard or automatic way to do it. > > Thanks! >