[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
importers and input package lookup
From: |
Attila Lendvai |
Subject: |
importers and input package lookup |
Date: |
Mon, 20 Dec 2021 21:14:11 +0000 |
dear Guixers,
there are two, independent namespaces:
1) the scheme one, and
2) the guix package repository.
when i work on an importer (golang), it skips the packages that are already
available in 2), but then it has no clue under what variable name they are
stored in 1), and in which scheme module.
should the dependency lists in the package forms be emitted as
(specification->package "pkgname@0.1.0") forms?
in the current codebase this emission is done in the shared
guix/import/utils.scm, in package-names->package-inputs. if i change this,
it'll affect every other importer (BTW, i have converted it to use the new
format).
is specification->package fast enough that it all doesn't matter?
a bit of a tangent here, and a higher-level perspective, but... shouldn't the
package definition DSL have support for this? then most package descriptions
could be using package specifications instead of scheme variables, and 1) could
be phased out. or would that be more error prone? maybe with a tool that warns
for the equivalent of undefined variable warnings?
background:
the reason i'm facing this is that i'm using the machinery in an idiosyncratic
way: i want to have an isolated module where a --recursive --pin-versions of
the entire transitive closure of a project is captured. when some
package/version is available already in guix, the importer skips it, but then
refers to it through a missing variable reference. and if i want to have two of
such golang packages (Swarm's bee, and geth) that share many of the
dependencies/versions...
i know the arguments why it's considered a bad idea from the perspective of
Guix, but then miscompiling the ethereum client can lead to losing money.
- attila
PGP: 5D5F 45C7 DFCD 0A39
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- importers and input package lookup,
Attila Lendvai <=