From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: Re: [RFC] A simple draft for channels Date: Mon, 19 Mar 2018 12:46:45 +0000 Message-ID: <20180319124645.6pv42k77twmpazsq@abyayala> References: <87bmhq6ytg.fsf@mdc-berlin.de> <87mv19ozgl.fsf@member.fsf.org> <874lnb2vt8.fsf@gnu.org> <86tvvbuooz.fsf@gmail.com> <87vafrxgn1.fsf@elephly.net> 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]:48870) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1exuBW-0002rK-NP for guix-devel@gnu.org; Mon, 19 Mar 2018 08:46:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1exuBT-0000X2-K9 for guix-devel@gnu.org; Mon, 19 Mar 2018 08:46:42 -0400 Received: from aibo.runbox.com ([91.220.196.211]:47480) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1exuBT-0000VV-D5 for guix-devel@gnu.org; Mon, 19 Mar 2018 08:46:39 -0400 Content-Disposition: inline In-Reply-To: <87vafrxgn1.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@gnu.org, Ricardo Wurmus , myglc2@gmail.com Ricardo Wurmus transcribed 1.7K bytes: > > 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: > > “Guix does not yet include ‘foolicious 2000’, but I know it has been > packaged by someone else and made available on the > ‘garlic-onion-sweat’ channel. So I enable this channel, authorize > its public key, and then install ‘foolicious 2000’.” > > 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. Couldn't we include the use of GUILE_LOAD_PATH + GUILE_LOAD_COMPILED_PATH as well, for custom definitions of services and other elements? This would make the use of channels more independent from just being about packages. Or does this fit into the second iteration already? > 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 > > > > -- A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is