Hey!
On Wed, 2023-11-29 at 23:27 +0000, Zbigniew Jędrzejewski-Szmek wrote:
I looked [1], and I see some differences in packaging:
- I opted to put the libraries in /usr/lib64/nix/ and retain the
RUNPATH
so that they get loaded from there. My thinking was that the
libraries
are "private", i.e. they are used by the nix binaries and nothing
else.
But I see that you have a -devel subpackage… Is it actually useful
for anything?
(If there is no known user, then I'd prefer to not add the -devel
package
initially. If it turns out to be useful later on, it can always be
added.)
I think that's a better approach. I added the devel package because
headers and the pkg-config file exist. Potential clients may be Nix
Python or Go bindings. It's unlikely we would need them in Fedora
anytime soon. I would also vote to add a devel package when requested.
- for the users, I'd prefer to create a sysusers file and submit
it
upstream.
Looks good to me! Until accepted upstream, we can keep userfile as an
additional source.
I think the multi-user mode[1] of Nix would better fit Fedroa. It's
also how NixOS uses Nix. The multi-user mode requires the mentioned
users and Nix daemon.
- I see you have aws-sdk-cpp-devel. The build seemed to work fine
without.
Yes, we can build Nix without it. From AWS SDK for C++, the S3 and the
transfer APIs are helpful. They allow access to the Nix binary cache
via S3 "protocol".
I find the AWS SDK for C++ easy to build but quite challenging to
package. So maybe it is better to start without.
- I see you have '%undefine _hardened_build'. I didn't
see any issues
without
that… Maybe it's not needed anymore?
Probably, it's not needed. I'll try to build a newer version of Nix on
a more recent version of Fedora.
Regarding collaboration, we may prepare an initial SPEC file on a
public GitHub/GitLab repository, where we can work via Pull/Merge
Requests.
I would happily test the outputs of our work. We have quite a strong
Nix community at ESO :)
Cheers,
Piotr
[1]
https://nixos.org/manual/nix/stable/installation/multi-user