diff options
author | Cole Helbling <cole.e.helbling@outlook.com> | 2020-09-08 11:03:12 -0700 |
---|---|---|
committer | Cole Helbling <cole.e.helbling@outlook.com> | 2020-09-08 11:03:12 -0700 |
commit | fca7cc57ad7ff3f72324636ed3a48d51ed29019f (patch) | |
tree | 978b05475be4745340d098688260d2d2fe0a9f33 | |
parent | e6cbcc2ac1f042e13d36a5c8f5c89777dad128b5 (diff) |
cantata: add perl for dynamic playlists
Cantata wants to check if perl is available at runtime, but we already patch the script shebangs, making it unnecessary to be available at runtime -- thus, patch out this check.
-rw-r--r-- | pkgs/applications/audio/cantata/default.nix | 17 | ||||
-rw-r--r-- | pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff | 17 |
2 files changed, 32 insertions, 2 deletions
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix index e5d62b15f450b..95b7dd18425b1 100644 --- a/pkgs/applications/audio/cantata/default.nix +++ b/pkgs/applications/audio/cantata/default.nix @@ -1,5 +1,5 @@ { mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig -, qtbase, qtsvg, qttools +, qtbase, qtsvg, qttools, perl # Cantata doesn't build with cdparanoia enabled so we disable that # default for now until I (or someone else) figure it out. @@ -38,6 +38,8 @@ let withUdisks = (withTaglib && withDevices); + perl' = perl.withPackages (ppkgs: [ ppkgs.URI ]); + in mkDerivation { name = "${pname}-${version}"; @@ -48,7 +50,18 @@ in mkDerivation { sha256 = "0ix7xp352bziwz31mw79y7wxxmdn6060p8ry2px243ni1lz1qx1c"; }; - buildInputs = [ qtbase qtsvg ] + patches = [ + # Cantata wants to check if perl is in the PATH at runtime, but we + # patchShebangs the playlists scripts, making that unnecessary (perl will + # always be available because it's a dependency) + ./dont-check-for-perl-in-PATH.diff + ]; + + postPatch = '' + patchShebangs playlists + ''; + + buildInputs = [ qtbase qtsvg perl' ] ++ lib.optionals withTaglib [ taglib taglib_extras ] ++ lib.optionals withReplaygain [ ffmpeg_3 speex mpg123 ] ++ lib.optional withHttpStream qtmultimedia diff --git a/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff b/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff new file mode 100644 index 0000000000000..effb0f3b502cf --- /dev/null +++ b/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff @@ -0,0 +1,17 @@ +diff --git a/playlists/dynamicplaylists.cpp b/playlists/dynamicplaylists.cpp +index 07b6dce3..6a3f97c9 100644 +--- a/playlists/dynamicplaylists.cpp ++++ b/playlists/dynamicplaylists.cpp +@@ -211,11 +211,6 @@ void DynamicPlaylists::start(const QString &name) + return; + } + +- if (Utils::findExe("perl").isEmpty()) { +- emit error(tr("You need to install \"perl\" on your system in order for Cantata's dynamic mode to function.")); +- return; +- } +- + QString fName(Utils::dataDir(rulesDir, false)+name+constExtension); + + if (!QFile::exists(fName)) { + |