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] mpd: 0.20.23 -> 0.21.3 #51766
[WIP] mpd: 0.20.23 -> 0.21.3 #51766
Conversation
@GrahamcOfBorg build mpd |
@@ -144,6 +146,7 @@ in { | |||
###### implementation | |||
|
|||
config = mkIf cfg.enable { | |||
environment.systemPackages = [ pkgs.mpd ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not strictly required but it installs the man pages and the documentation which I thought might be useful.
@GrahamcOfBorg build mpd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tbh I'm not a big fan of having a hundred options for configuring packages. Why not just have a minimal and a full version? Nix doesn't need to reproduce every possible option in the build system. I know other (popular?) nixpkgs packages do this too and I wonder why.
Yeah it should be possible to use |
@infinisil I'm not too fond of that either but stuck with the existing style / convention of the existing expression. Personally I wouldn't be even opposed to removing them all and just providing
I have not tested every possible permutation but for each flag I checked that at least the configure phase finds the required dependencies and proceeds to build. Enabling all of the features does result in a build failure ( |
https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.3/NEWS
Motivation for this change
Update to the latest release.
(Among other changes) upstream switched the build system to meson, and as neither the flag names nor semantics of enabling / disabling flags match the autoconf build this makes the diff rather large.
Also since I had to go through meson build options anyway to map the current features to their new flag names I added a bunch of new flags. Probably doesn't make sense to keep all of them but figured might show what's available in the new build system. Feature-wise this build should match the current derivation and shouldn't enable / disable any new features.
I also may have inadvertently broken support for platforms other that x86_64-linux as I'm unable to test outside that platform.
Finally, this isn't tested heavily. My own personal setup is extremely simple and I'm not even sure how to check many of the features (that are enabled by default).
Anyway, had these changes sitting around for a while so figured might open a PR in case it's helpful at all and helps with the update. Should at least take care of the tediousness of mapping things to the new build system.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)