-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] systemd: patch to build on musl #37715
Conversation
Patches largely from OE which just updated to 237, few needed rebasing but nothing major.
cc NixOS/rfcs#23 . This targets staging since that's where the latest systemd is (v238), not because it introduces any breakage (to supported platforms or otherwise). |
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: systemd Partial log (click to expand)
|
Failure on x86_64-linux (full log) Attempted: systemd Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: systemd Partial log (click to expand)
|
@dtzWill May I ask you if we have any update on this? I would love to see it in. |
Any updates on this? |
there are some parts in musl lacking that we really need in order to make it work on NixOS as far as I know. Most importantly; the ability to dispatch calls to Systemd is heavily dependend on Given the We have recently been trying really hard to reduce the custom amount of patches that we carry to below 10 and preferably to 0; so that we can keep up with I'm not opposed to merging this under some alternative package name; but I will not be putting time in maintaining this myself. |
Maybe there could be a libsystemd/libudev alternative so that more musl packages can be built at least. |
Hmm... and I suppose those build targets should also be easier to build than the entirety of systemd no? I think |
@Mic92 both |
For packages only using libudev and not libsystemd, there is eudev (project page), the Gentoo fork of udev which is already in nixpkgs. Maybe it can be used as a drop-in for systemd-udev. The Gentoo wiki (almost?) suggests this (https://wiki.gentoo.org/wiki/Eudev#Migrating_from_udev_to_eudev), but it is unclear whether it's outdated. From the above linked project page:
@arianvp you said
Can they be built statically with musl or only glibc? |
It might be worth to set |
Closing as systemd has evolved in last 2 years. |
Patches largely from OE which just updated to 237,
few needed rebasing but nothing major.
NixOS uses systemd, and until now using musl
meant many things were not possible.
There are some org issues (I think?) to tackle
before it's possible to instantiate an NixOS config
using a custom localSystem parameter (aka using musl)
so I've yet to really test this in "action"
yet (container, VM).
Even so, this is a giant step for musl support!
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)I was unsure how to best apply all of the patches-- you can see
previous approaches in commit history for things like:
To keep this less crazy-looking I've instead combined the patches
(well, github combines them for us) which we fetch and apply as a single
"musl support patch".
Note that patch is actually against v238-stable, not our fork,
to keep it orthogonal to our NixOS changes.