From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: Re: Rethinking guix pull [was Re: Heads-up: transition to Guile 2.2] Date: Tue, 16 May 2017 13:56:12 -0700 Message-ID: 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> <87vap0aj9x.fsf@elephly.net> 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]:44394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dAjVu-0000Xr-7Y for guix-devel@gnu.org; Tue, 16 May 2017 16:56:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dAjVt-0007XQ-EL for guix-devel@gnu.org; Tue, 16 May 2017 16:56:14 -0400 Received: from mail-yw0-x231.google.com ([2607:f8b0:4002:c05::231]:33281) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dAjVt-0007XI-AQ for guix-devel@gnu.org; Tue, 16 May 2017 16:56:13 -0400 Received: by mail-yw0-x231.google.com with SMTP id 203so58919573ywe.0 for ; Tue, 16 May 2017 13:56:13 -0700 (PDT) In-Reply-To: <87vap0aj9x.fsf@elephly.net> 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: Ricardo Wurmus Cc: guix-devel , myglc2 On Tue, May 16, 2017 at 8:55 AM, Ricardo Wurmus wrote: > > 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=E2=80=99s UI is famously weird, and th= ere > hardly is anyone who really loves it. > > Using the git checkout also requires the use of =E2=80=9Cmake clean-go=E2= =80=9D 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, =E2=80=9Cguix edit=E2=80=9D could do better, e.g. create a new pack= age 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 =E2=80=9C= guix > pull=E2=80=9D is to build Guix continuously on Hydra and tell =E2=80=9Cgu= ix pull=E2=80=9D 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. +1