guix-devel
[Top][All Lists]
Advanced

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

Re: Discussion on Parameterized Packages


From: Csepp
Subject: Re: Discussion on Parameterized Packages
Date: Thu, 11 May 2023 20:04:52 +0200

Sarthak Shah <shahsarthakw@gmail.com> writes:

> Hello Guix!
> I'll be working on bringing Parameterized Packages to Guix for GSoC 2023 
> under the guidance of Gábor and Pjotr. I've been a Guix user for a
> few years now as it works great for Common Lisp and Scheme projects, and I've 
> always wanted to contribute to it as it has one of the best
> codebases I've seen. Parameterized Packages will serve as an awesome feature 
> that leverages Guix's dedication to ensuring that all packages
> can be compiled from source.
> Parameterized Packages will introduce functionality similar to Gentoo's USE 
> flags, making it possible to change compile-time options for
> packages. This will provide users with a lot more freedom over what features 
> they'd like to include or exclude from packages, and also aid
> with reducing the size of binaries.
> I have provided a detailed outline of parameterized packages and the proposed 
> user interface for interacting with them (for both users and
> maintainers) in this post on my blog: 
> https://blog.lispy.tech/2023/05/parameterized-packages.html
> I would really appreciate feedback on
> (1) parameters you'd like to see in Guix

A hardening flag would be very welcome, I think Guix definitely needs to
be much more serious about this if we want it to be used widely for
hosting internet facing services.
NixOS already has hardening by deafult as far as I know.

Also I think a lot of flags you mentioned would be better expressed as
outputs, both to avoid combinatorial explosion for testing, and so
people don't have to re-build everything.  Or at least they should be
implemented with outputs underneath.

I think Alpine solve this very well, they split packages up by
functionality, and also make it very easy to install certain subpackages
of all packages by just installing a virtual package, like "doc".

The idea of using flags to reduce package sizes is good, but let's not
do it at the expense of CPU hours.

TLDR: we should avoid big recompiles when changing flags.



reply via email to

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