unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: 26645@debbugs.gnu.org
Cc: wingo@igalia.com, Jack Hill <jackhill@jackhill.us>,
	Brice Waegeneire <brice@waegenei.re>,
	ludo@gnu.org
Subject: [bug#26645] Potluck still relivant
Date: Wed, 29 Apr 2020 08:02:56 +0200	[thread overview]
Message-ID: <87k11ykewf.fsf@elephly.net> (raw)
In-Reply-To: <361978f8437c699e48688757a246c64a@waegenei.re>


Hi Brice,

> Reading through the initial email[0] by Andy the potlock feature seems
> to be way more extensive than channels: it allows one to create simple
> packages in an interactive manner and centralize the discoverability of
> such packages. Channels provide us a way to create package outise of
> Guix proper but finding channels containing the package you are looking
> for is still an unsolved problem.

One of the objectives was to provide a simpler and more robust way to
define packages that would not break when package variables in Guix
proper are moved around:

> +Guix's @dfn{potluck} facility fills this gap.  A @dfn{potluck package}
> +is like a normal Guix package, except it expresses its inputs in the
> +form of package specifications instead of direct references.
> +@xref{potluck-package Reference}.  Potluck packages also have a simpler
> +package structure with fewer fields; compared to normal Guix packages,
> +they are less expressive but more isolated from details of upstream
> +Guix.

We have the same facilities in JSON package definitions such as this one:

--8<---------------cut here---------------start------------->8---
[
  {
    "name": "myhello",
    "version": "2.10",
    "source": "mirror://gnu/hello/hello-2.10.tar.gz",
    "build-system": "gnu",
    "arguments": {
      "tests?": false
    }
    "home-page": "https://www.gnu.org/software/hello/",
    "synopsis": "Hello, GNU world: An example GNU package",
    "description": "GNU Hello prints a greeting.",
    "license": "GPL-3.0+",
    "native-inputs": ["gettext"]
  },
  {
    "name": "greeter",
    "version": "1.0",
    "source": "https://example.com/greeter-1.0.tar.gz",
    "build-system": "gnu",
    "arguments": {
      "test-target": "foo",
      "parallel-build?": false,
    },
    "home-page": "https://example.com/",
    "synopsis": "Greeter using GNU Hello",
    "description": "This is a wrapper around GNU Hello.",
    "license": "GPL-3.0+",
    "inputs": ["myhello", "hello"]
  }
]
--8<---------------cut here---------------end--------------->8---

Since this can be fed to “guix build -f” directly, there doesn’t seem to
be a need for “guix potluck init” any more.

While I think it would be very convenient to be able to publish package
definitions with “guix potluck update <url> <branch>”, it would require
maintenance of the host-channel service that accepts possibly hostile
user input.  To prevent denial of service it should probably require
authentication and enforce quotas.

Since users can also push packages for non-free software we cannot host
this on Guix project infrastructure.  (I guess this was why the proposed
domain was guix-potluck.org.)

--
Ricardo




  reply	other threads:[~2020-04-29  6:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-24 20:53 bug#26645: guix potluck Andy Wingo
2017-04-24 20:59 ` bug#26645: [PATCH 1/9] guix: Add "potluck" packages Andy Wingo
2017-04-24 20:59   ` bug#26645: [PATCH 2/9] guix hash: Add --git option to hash a git checkout Andy Wingo
2017-04-24 20:59   ` bug#26645: [PATCH 3/9] guix: Add git utility module Andy Wingo
2017-05-03 20:23     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 4/9] guix: Add "potluck" command Andy Wingo
2017-05-04 20:23     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 5/9] potluck: Add ability to load potluck package in sandbox Andy Wingo
2017-05-04 20:27     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 6/9] gnu: Add find-package-binding Andy Wingo
2017-05-04 20:29     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 7/9] potluck: Add ability to lower potluck package to guix package Andy Wingo
2017-05-04 20:31     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 8/9] potluck: Add host-channel subcommand Andy Wingo
2017-05-04 20:55     ` Ludovic Courtès
2017-04-24 20:59   ` bug#26645: [PATCH 9/9] doc: Document guix potluck Andy Wingo
2017-05-04 20:56     ` Ludovic Courtès
2017-05-03 20:19   ` bug#26645: [PATCH 1/9] guix: Add "potluck" packages Ludovic Courtès
2017-05-03 21:55     ` Ludovic Courtès
2017-04-24 21:09 ` bug#26645: guix potluck ng0
2020-03-18 20:03 ` [bug#26645] Potluck still relivant Jack Hill
2020-04-01 16:11   ` Brice Waegeneire
2020-04-29  6:02     ` Ricardo Wurmus [this message]
2023-07-21 16:57       ` bug#26645: guix potluck Maxim Cournoyer

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=87k11ykewf.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=26645@debbugs.gnu.org \
    --cc=brice@waegenei.re \
    --cc=jackhill@jackhill.us \
    --cc=ludo@gnu.org \
    --cc=wingo@igalia.com \
    /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).