From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Rethinking guix pull [was Re: Heads-up: transition to Guile 2.2] Date: Tue, 16 May 2017 17:55:22 +0200 Message-ID: <87vap0aj9x.fsf@elephly.net> References: <87bmt28qnm.fsf@gnu.org> <87k26chy16.fsf@gnu.org> <87y3u5wwsi.fsf_-_@gnu.org> <20170514135041.GA29369@thebird.nl> <871srrruvi.fsf@gnu.org> <20170515072626.GA963@thebird.nl> <87fug6f7dj.fsf@gnu.org> <86inl127it.fsf_-_@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47268) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dAep0-0004GR-DT for guix-devel@gnu.org; Tue, 16 May 2017 11:55:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dAeoz-00020x-9Y for guix-devel@gnu.org; Tue, 16 May 2017 11:55:38 -0400 In-reply-to: <86inl127it.fsf_-_@gmail.com> 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: myglc2 Cc: guix-devel myglc2 writes: > I believe there will be many guix "users" that want to run from git > checkout. They just may not know it, yet. They will want it not just > because they are trying to get around the limitations of git pull. For > example, even users that don't do development have occasion to... > > - select non-stock package config options > > - need/apply/use patches from guix developers > > - need/apply/use patches from package developers > > - need/apply/use some crazy stuff from a friend For those things I believe it to be better to use the package rewriting framework, i.e. *adding* package variants that have additional patches or modified configuration options. Using the git checkout directly comes with too many disadvantages for users who are not developers. Git’s UI is famously weird, and there hardly is anyone who really loves it. Using the git checkout also requires the use of “make clean-go” whenever the ABI changes, and occasionally even necessitates re-bootstrapping, or in the case of upgrading to Guile 2.2 re-configuration. > Furthermore, ISTM that current guix packaging is a rather nasty tease: > Our user installs guix/guixSD, does 'guix pull' & 'guix-edit', and what > do they get? > > READ-ONLY source in an editor that BEEPS when they TRY TO CHANGE IT :-( > > Right out of the box this seem contrary to the Guix promise of _freedom_ > and _hackability_. True, “guix edit” could do better, e.g. create a new package variant in a user module that inherits from the given package and puts the cursor in the right spot to make changes right there. Upon saving, the package could be used right away with GUIX_PACKAGE_PATH. I think that a first step towards improving the experience with “guix pull” is to build Guix continuously on Hydra and tell “guix pull” to download that. Users would no longer have to wait for compilation on their local machines, removing a big incentive to go with a git checkout. Maybe we should do this first to stop the worst problems, buying us a bit more time to implement channels. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net