From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [RFC] A simple draft for channels Date: Wed, 24 Jan 2018 19:20:50 +0100 Message-ID: <87vafrxgn1.fsf@elephly.net> References: <87bmhq6ytg.fsf@mdc-berlin.de> <87mv19ozgl.fsf@member.fsf.org> <874lnb2vt8.fsf@gnu.org> <86tvvbuooz.fsf@gmail.com> 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]:35869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eePff-0004gG-ID for guix-devel@gnu.org; Wed, 24 Jan 2018 13:21:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eePfe-0001az-D3 for guix-devel@gnu.org; Wed, 24 Jan 2018 13:21:15 -0500 In-reply-to: <86tvvbuooz.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@gmail.com Cc: guix-devel@gnu.org, Ricardo Wurmus myglc2@gmail.com writes: > Ricardo, AIUI, your channels don't work like this. But I am at a loss to > say how they will work in practice from the user's POV. If you could > write such a description it would sure help us understand the proposal > better. This draft is similar to how Conda channels[1] work: Conda packages are downloaded from remote channels, which are URLs to directories containing conda packages. The conda command searches a default set of channels, and packages are automatically downloaded and updated from http://repo.continuum.io/pkgs/. You can modify what remote channels are automatically searched. You might want to do this to maintain a private or internal channel. [1]: https://conda.io/docs/user-guide/concepts.html#conda-packages In our case a channel consists of a git repository with Guile module definitions and a channel description file. Optionally, it points to a URL from where substitutes can be fetched. Other than that it behaves like a Conda user would expect: =E2=80=9CGuix does not yet include =E2=80=98foolicious 2000=E2=80=99, bu= t I know it has been packaged by someone else and made available on the =E2=80=98garlic-onion-sweat=E2=80=99 channel. So I enable this channel= , authorize its public key, and then install =E2=80=98foolicious 2000=E2=80=99.=E2= =80=9D Users can add any number of channels; their modules will be downloaded and built (TODO: this might be dangerous, so try sandboxing), and then added to GUIX_PACKAGE_PATH. The second iteration of this would involve some potluck ideas for extra safety and convenience. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net