unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pjotr Prins <pjotr.public12@thebird.nl>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: A registry for distributed sources and binaries
Date: Mon, 25 Jul 2016 04:10:27 +0200	[thread overview]
Message-ID: <20160725021027.GA24239@thebird.nl> (raw)
In-Reply-To: <87wpka7p0g.fsf@elephly.net>

On Sun, Jul 24, 2016 at 10:35:43PM +0200, Ricardo Wurmus wrote:
> Could it be enough if Guix offered a simpler way to fetch package
> definitions and (optionally) binary substitutes from a third party who
> maintains both the package definitions and (optionally) distributes
> pre-built binary substitutes?

Thanks Ricardo, that is exactly what I am proposing.

> Here are some concrete proposals:
> 
> * Add a “guix config” command, which allows users to modify the
>   behaviour of their instance of Guix.
> 
> * Support adding repositories via “guix config”.  A “repository” is a
>   remote set of Guile modules and (optionally) an public endpoint of
>   “guix publish” through which substitutes of only those packages that
>   are defined in the repository’s modules can be downloaded.
> 
> * The first time a repository is accessed, the specified modules are
>   cloned and stored in a per-user state directory
>   (“~/.cache/guix/<domain>” maybe?).  Guix is automatically configured
>   to use the modules from “~/.cache/guix/<domain>” in addition to what
>   is on GUIX_PACKAGE_PATH.  Additionally, the distribution public key
>   for binary substitutes is fetched from a well-known location (if
>   applicable) and users are asked to confirm.
> 
> * When a user runs “guix pull” all enabled repositories are also
>   updated.  Otherwise the cached copy from last access is used.
> 
> * Update “guix --version” to also return the version of each configured
>   repository.
> 
> * Add a command line switch “--vanilla” (or similar) to disable any
>   custom configuration and any configured repositories.
> 
> With the mechanism described above it would be less intimidating for
> users to add sources of Guix packages (or Guix features) and download
> binary substitutes.

Yes.

> Third parties can distribute package descriptions (or experimental
> features) along with binary substitutes by simply hosting the modules
> and running “guix publish”.  The Guix project doesn’t need to care.
> Exactly how third-party collections are managed is completely up to the
> respective maintainers.
> 
> While I feel strongly that we should focus our efforts on Guix upstream
> I also think that it may be useful and convenient to expand the
> GUIX_PACKAGE_PATH feature.
> 
> What do you think about that?  Does this align with your vision?

That is it.

> What do others think?  Is this something that would benefit the Guix
> project and its audience?

I think it would make Guix cooler than anything out there. We already
do distributed binary distribution (awesome!), now we could do
federated source distribution. Key thing is that we make people
*autonomous* and encourage *diversity*.

Andreas: this is not about non-free software.  We *are* using
GUIX_PACKAGE_PATH for deployment. We have 140+ free bioinformatics
packages sitting in a tree. I am totally happy using that. We have
trouble getting to install our software. I don't have the stamina
getting these packages into core (an estimated another 40 days of work
and back-and-forths? It does not scale).

Ricardo: the one thing I would like to add is package discovery. In a
federated environment we want to avoid duplication of work and say I
had an Elixir package in my tree, it could be a good starting point
for someone wanting to bring it into core.

Support for multiple GUIX_PACKAGE_PATH's would be first priority.
Binary support second and discovery third. 

Thanks again for your constructive suggestion,

Pj.
-- 

  reply	other threads:[~2016-07-25  2:14 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-21  1:39 (unknown) Unknown, Pjotr Prins
2016-07-21  1:42 ` [PATCH] gnu: Add elixir Pjotr Prins
2016-07-21 11:43   ` Ben Woodcroft
2016-07-21 12:00     ` Pjotr Prins
2016-07-22  5:26     ` Leo Famulari
2016-07-22 12:55       ` Ludovic Courtès
2016-07-22 14:12         ` Leo Famulari
2016-07-21 12:51 ` none Ludovic Courtès
2016-07-22  0:41   ` none Pjotr Prins
2016-07-22  2:06     ` none Pjotr Prins
2016-07-22  3:25       ` none Jookia
2016-07-22  3:48       ` none Leo Famulari
2016-07-22  4:48       ` none Tobias Geerinckx-Rice
2016-07-22 11:07         ` none Pjotr Prins
2016-07-22 12:23           ` none Ricardo Wurmus
2016-07-22 12:50             ` none Jookia
2016-07-22 21:19               ` none Leo Famulari
2016-07-24  4:17                 ` none Jookia
2016-07-24  6:35                   ` none Leo Famulari
2016-07-24  7:47                     ` none Jookia
2016-07-24 16:52               ` none Christopher Allan Webber
2016-07-24 17:03                 ` none Andreas Enge
2016-07-22  8:15     ` none Roel Janssen
2016-07-22 14:07       ` none Leo Famulari
2016-07-22 14:15         ` none Vincent Legoll
2016-07-22 16:13       ` none Ludovic Courtès
2016-07-22 16:38         ` none myglc2
2016-07-23  7:03           ` none Tomáš Čech
2016-07-22 16:02     ` Review process Ludovic Courtès
2016-07-23  2:24       ` Pjotr Prins
2016-07-23  9:05         ` Alex Kost
2016-07-23  9:51           ` Mathieu Lirzin
2016-07-24  8:02             ` Alex Kost
2016-07-24 10:38               ` Mathieu Lirzin
2016-07-24 14:09               ` Ludovic Courtès
2016-07-24  3:30       ` A registry for distributed sources and binaries Pjotr Prins
2016-07-24  5:10         ` Tobias Geerinckx-Rice
2016-07-24  5:16           ` Pjotr Prins
2016-07-24  5:24         ` Pjotr Prins
2016-07-24  5:29         ` Mark H Weaver
2016-07-24  5:48           ` Jookia
2016-07-24  6:37             ` Tobias Geerinckx-Rice
2016-07-24  7:49               ` Jookia
2016-07-24 20:02             ` Ricardo Wurmus
2016-07-24  6:28           ` Tobias Geerinckx-Rice
2016-07-24  7:02             ` Pjotr Prins
2016-07-24  7:29           ` Leo Famulari
2016-07-24  7:41             ` Pjotr Prins
2016-07-24  9:50           ` Mathieu Lirzin
2016-07-24 22:46           ` Ludovic Courtès
2016-07-24 13:58         ` Andreas Enge
2016-07-24 15:21           ` Jookia
2016-07-24 15:58             ` Andreas Enge
2016-07-24 17:18             ` replying to a message of a mailing list you were not subscribed to Danny Milosavljevic
2016-07-24 17:25               ` Danny Milosavljevic
2016-07-25  5:38                 ` Ricardo Wurmus
2016-07-25  7:34                   ` icecat "mailto" handler does not work - and cannot be reconfigured by user Danny Milosavljevic
2020-10-13 13:23                     ` bug#24066: " Maxim Cournoyer
2016-07-24 18:50             ` A registry for distributed sources and binaries John Darrington
2016-07-25  9:14             ` Replying to bug reports Ludovic Courtès
2016-07-25  8:25           ` A registry for distributed sources and binaries Andy Wingo
2016-07-25 22:00             ` Reviewer assignment Ludovic Courtès
2016-07-24 20:35         ` A registry for distributed sources and binaries Ricardo Wurmus
2016-07-25  2:10           ` Pjotr Prins [this message]
2016-07-25  3:42             ` Tobias Geerinckx-Rice
2016-07-25  4:57               ` Pjotr Prins
2016-07-25  7:18           ` Tomáš Čech
2016-07-25  9:21           ` Ludovic Courtès
2016-07-26  3:40             ` Pjotr Prins
2016-07-26  3:45               ` Pjotr Prins
2016-07-25  6:13 ` [PATCH] Add Elixir (was: ) Ricardo Wurmus
2016-07-25  6:31   ` Pjotr Prins
2016-07-28  7:27     ` Ricardo Wurmus
2016-07-28  8:30       ` Vincent Legoll
2016-07-28 10:35       ` Pjotr Prins
2016-07-28 20:35         ` Ricardo Wurmus
2016-07-29  2:38           ` Pjotr Prins
2016-07-29  6:32             ` Vincent Legoll
2016-08-02  8:56             ` Ricardo Wurmus
2016-08-02 14:30               ` Pjotr Prins
2016-08-02  8:44     ` [PATCH] Add Elixir Ricardo Wurmus
2016-08-02 14:29       ` Pjotr Prins
2016-08-02 17:26       ` Ludovic Courtès
2016-08-02 21:25         ` Ricardo Wurmus
2016-08-03  4:41           ` Pjotr Prins
2016-08-09 11:18           ` Pjotr Prins
2016-08-09 11:58             ` Alex Sassmannshausen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160725021027.GA24239@thebird.nl \
    --to=pjotr.public12@thebird.nl \
    --cc=guix-devel@gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).