guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: native-inputs: Go for completeness or minimalism?


From: Maxime Devos
Subject: Re: native-inputs: Go for completeness or minimalism?
Date: Wed, 20 Jul 2022 11:03:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0


On 20-07-2022 10:33, Hartmut Goebel wrote:
Hi,

shall native-inputs be as complete as possible or as minimal as possible?

Background: I just stepped over a couple of packages where upstream requires a lot of code-quality checkers which are not actually run when running the tests. (More specific: These are Python packages demanding tools like flake8, flake8-docstring, black, bandit.)
Now when going for minimal dependencies and minimal native-inputs,

Pro: Less dependencies, simpler dependency tree, thus less computation, faster, less power consumption.

Con: Might need phase to remove dependencies, 'guix shell -D' will not provide every development requirement.

Personally I tend to minimal.

WDYT?
I would go for only the dependencies actually used in the build process (including the test process), for less dependencies (we don't include, say, 'git' for every package that has a Git repo, only if the package actually uses Git in some fashion). For the "guix shell -D" for developing on the software, a "guix.scm" or "manifest.scm" can be written and included in the source code repo that contains the extra dependencies, though I have no idea what percentage of upstreams would actually include those.

Alternatively, packages could have an additional set of inputs (development-inputs?) for this use case, only added for "guix shell -D" and "guix environment", though then the build environment and "guix shell -D the-package" would diverge further.

Greetings,
Maxime.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]