Skip to content
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

mpd: 0.20.13 -> 0.21.16 #57608

Merged
merged 17 commits into from Nov 13, 2019
Merged

mpd: 0.20.13 -> 0.21.16 #57608

merged 17 commits into from Nov 13, 2019

Conversation

tobim
Copy link
Contributor

@tobim tobim commented Mar 13, 2019

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@tobim
Copy link
Contributor Author

tobim commented Mar 13, 2019

The first commit removes the xSupport flags from the parameter attribute set and puts the platform specific switches into a single place. The second does the actual update and switch to meson.

@tobim
Copy link
Contributor Author

tobim commented Mar 14, 2019

@GrahamcOfBorg build mpd

@tobim tobim changed the title mpd: 0.20.13 -> 0.21.5 mpd: 0.20.13 -> 0.21.6 Mar 29, 2019
@tobim
Copy link
Contributor Author

tobim commented Mar 29, 2019

Added an alternative mpd-small attribute for users who want to avoid xorg dependencies.
Closure sizes are:

mpd: 352.5M
mpd-small: 60.9M

@tobim tobim marked this pull request as ready for review March 29, 2019 11:35
@tobim
Copy link
Contributor Author

tobim commented Mar 29, 2019

maintainer cc: @astsmtl @Fuuzetsu @ehmry @fpletz

@immae
Copy link
Contributor

immae commented Apr 22, 2019

This derivation outputs a directory $(out)/etc/systemd as is (with $(out) not expanded), not critical bug but I think there is a typo somewhere :)

@immae
Copy link
Contributor

immae commented Apr 22, 2019

I suggest this change about above issue and a new flag for better compatibility (I have no opinion whether syslog should be in the list of features or not, but it should definitely be supported)

118a119
>         ++ [ "-Dsyslog=enabled" ]
122c123
<           "-Dsystemd_system_unit_dir=$(out)/etc/systemd/system";
---
>           "-Dsystemd_system_unit_dir=etc/systemd/system";

Also, 0.21.7 is released now

@tobim
Copy link
Contributor Author

tobim commented May 12, 2019

Thanks, fixed the path and updated to 0.21.8.
I don't think syslog should be enabled, since the logs are ingested by jounald.

@tobim tobim changed the title mpd: 0.20.13 -> 0.21.6 mpd: 0.20.13 -> 0.21.8 May 12, 2019
@immae
Copy link
Contributor

immae commented May 12, 2019

@tobim: no, the choice is only between syslog and /var/log, so the feature should definitely be switchable in the configuration like the over features available in the derivation

@immae
Copy link
Contributor

immae commented May 12, 2019

Sorry, I’ll rephrase: without "-Dsyslog=enabled" you can only store logs as a plain file. With the option enabled, you can chose between a file and syslog.
Nevermind, this changed in 0.21.3, now systemd is taken into account so this option isn’t needed.

@Ekleog
Copy link
Member

Ekleog commented Jun 15, 2019

@GrahamcOfBorg build mpd mpd-small nixosTests.mpd

Ekleog
Ekleog previously requested changes Jun 15, 2019
Copy link
Member

@Ekleog Ekleog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This refactor looks pretty neat to me! A few comments below, though

pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Outdated Show resolved Hide resolved
pkgs/servers/mpd/default.nix Show resolved Hide resolved
@tobim tobim changed the title mpd: 0.20.13 -> 0.21.8 mpd: 0.20.13 -> 0.21.10 Jun 16, 2019
@aanderse
Copy link
Member

@Ekleog ping (triage)

@Ekleog
Copy link
Member

Ekleog commented Jul 19, 2019

@aanderse I don't particularly know mpd (or even use it myself), just came across this PR while doing triage too. All the comments I could find have been addressed, but I don't feel ready to merge unless someone else reviews it, as it's a pretty big refactor of a derivation for a package I know basically nothing about :)

@tobim
Copy link
Contributor Author

tobim commented Jul 24, 2019

I'm not sure this refactor is still the right approach after the meson builder was changed to enable feature auto-detection. I think this can be simplified considerably now.
Nevermind, it seems the auto-detection is synonymous with enabling everything. It complains about missing dependencies.

@tobim tobim changed the title mpd: 0.20.13 -> 0.21.10 mpd: 0.20.13 -> 0.21.11 Jul 25, 2019
@tobim
Copy link
Contributor Author

tobim commented Jul 25, 2019

Updated to 0.21.11 and rebased.

@fpletz fpletz self-assigned this Nov 13, 2019
@fpletz fpletz changed the title mpd: 0.20.13 -> 0.21.15 mpd: 0.20.13 -> 0.21.16 Nov 13, 2019
Copy link
Member

@fpletz fpletz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I haven't commented so far because I'm not a big fan of changing these feature flags because it breaks peoples' nix expressions. It would be nice if there was a standard we would follow but currently there isn't.

Since you're obviously committed and keen on maintaining mpd - more so than the old maintainers - I see no real reason why we shouldn't merge this now. Thanks a lot for your work on this!

@fpletz fpletz dismissed Ekleog’s stale review November 13, 2019 15:19

All comments were addressed.

@fpletz fpletz merged commit 4a9d549 into NixOS:master Nov 13, 2019
@arcnmx
Copy link
Member

arcnmx commented Nov 13, 2019

It would be nice if there was a standard we would follow but currently there isn't.

As someone who is currently maintaining a branch/patchset that adds a feature to mpd, this would be nice, particularly if it also enabled some way to add to the list via overrides.

@fpletz
Copy link
Member

fpletz commented Nov 13, 2019

Also fixed the mpd NixOS test (which was broken even before this PR): 4d9899e

@tobim tobim deleted the mpd-0.21 branch November 13, 2019 23:11
dtzWill pushed a commit to dtzWill/nixpkgs that referenced this pull request Jan 19, 2020
* Refactor mpd

* mpd: 0.20.13 -> 0.21.5

Switch to meson based build, following upstream.

* Fix mpd on darwin

* mpd: 0.21.5 -> 0.21.6

* mpd-small: init add 0.21.6

* Update to 0.21.8 & fix ouput path

Also use pname instead of name.

* Update to 0.21.9

* Integrate review suggestions

- Expose run function as mpdWithFeatures.
- Throw on invalid feature requests.
- Drop major/minor version variables.
- Cosmetic improvements.

* Update to 0.21.10

* mpd: 0.21.10 -> 0.21.11

* mpd: 0.21.11 -> 0.21.12

* mpd: log to journal

* mpd: 0.21.12 -> 0.21.14

* mpd: add tobim to maintainers

* mpd: reenable syslog support

* mpd: 0.21.14 -> 0.21.15

* mpd: 0.21.15 -> 0.21.16

(cherry picked from commit 4a9d549)
jorsn pushed a commit to jorsn/home-manager that referenced this pull request Apr 25, 2020
MPD is using syslog for its logging output, while it could directly
log to systemd's journal, as this daemon is primarily used as a
systemd user service. This change makes MPD log to standard output,
which is captured by systemd.

See NixOS/nixpkgs#57608, which does the same
thing to NixOS's MPD service.
jorsn pushed a commit to jorsn/home-manager that referenced this pull request Apr 25, 2020
MPD is using syslog for its logging output, while it could directly
log to systemd's journal, as this daemon is primarily used as a
systemd user service. This change makes MPD log to standard output,
which is captured by systemd.

See NixOS/nixpkgs#57608, which does the same
thing to NixOS's MPD service.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet