GNU bug report logs - #26645
guix potluck

Previous Next

Package: guix-patches;

Reported by: Andy Wingo <wingo <at> pobox.com>

Date: Mon, 24 Apr 2017 20:54:02 UTC

Severity: important

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 26645 <at> debbugs.gnu.org
Cc: wingo <at> igalia.com, Jack Hill <jackhill <at> jackhill.us>, Brice Waegeneire <brice <at> waegenei.re>, ludo <at> gnu.org
Subject: [bug#26645] Potluck still relivant
Date: Wed, 29 Apr 2020 08:02:56 +0200
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




This bug report was last modified 1 year and 308 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.