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

cantata: dynamic playlists broken due to removal of perl from default system packages #97402

Closed
cole-h opened this issue Sep 7, 2020 · 2 comments · Fixed by #97464
Closed

Comments

@cole-h
Copy link
Member

cole-h commented Sep 7, 2020

Describe the bug
When trying to start a dynamic playlist, the user is greeted by an error banner stating the following: You need to install "perl" on your system in order for Cantata's dynamic mode to function.

To Reproduce
Steps to reproduce the behavior:

  1. Open Cantata
  2. Create dynamic playlist
  3. Attempt to play dynamic playlist

Expected behavior
I expected Cantata to start the dynamic playlist.

Screenshots
image

Additional context
This is likely fallout from perl's removal in #91213. However, this exposed something impure about Cantata's packaging, so it's a good thing! I tried simply patching the shebang to point to ${perl}/bin/perl (as well as changing this if condition to never return true: https://github.com/CDrummond/cantata/blob/b8645d135817ba893beb8a384f1ae330e1db3019/playlists/dynamicplaylists.cpp#L214), but to no avail.

EDIT: Even adding perl to my environment.systemPackages does nothing -- when I click on the play button by the dynamic playlist, it turns to the red stop button, and then back to the play button without ever playing or queuing any songs. Seems like this might need more work.

Notify maintainers
@peterhoeg

Metadata

  • system: "x86_64-linux"
  • host os: Linux 5.7.9-zen1, NixOS, 20.09.20200906.bcce737-cosmere (Nightingale)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 3.0pre20200903_8a945d6
  • channels(root): ""
  • nixpkgs: /home/vin/.config/nixpkgs/compat

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: cantata
# a list of nixos modules affected by the problem
module:
@peterhoeg
Copy link
Member

If you have the time to give it go, I think this should do the trick:

postPatch = ''
  patchShebangs playlists
'';

And then add perl to buildInputs.

@cole-h
Copy link
Member Author

cole-h commented Sep 8, 2020

Thanks for the tip.

It was slightly more involved than that, but fixed in this PR: #97464.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants