diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/audio/cantata')
-rw-r--r-- | nixpkgs/pkgs/applications/audio/cantata/default.nix | 21 | ||||
-rw-r--r-- | nixpkgs/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff | 17 |
2 files changed, 34 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/applications/audio/cantata/default.nix b/nixpkgs/pkgs/applications/audio/cantata/default.nix index 799cefc7819..95b7dd18425 100644 --- a/nixpkgs/pkgs/applications/audio/cantata/default.nix +++ b/nixpkgs/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. @@ -10,7 +10,7 @@ , withTaglib ? true, taglib, taglib_extras , withHttpStream ? true, qtmultimedia -, withReplaygain ? true, ffmpeg, speex, mpg123 +, withReplaygain ? true, ffmpeg_3, speex, mpg123 , withMtp ? true, libmtp , withOnlineServices ? true , withDevices ? true, udisks2 @@ -38,6 +38,8 @@ let withUdisks = (withTaglib && withDevices); + perl' = perl.withPackages (ppkgs: [ ppkgs.URI ]); + in mkDerivation { name = "${pname}-${version}"; @@ -48,9 +50,20 @@ 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 speex mpg123 ] + ++ lib.optionals withReplaygain [ ffmpeg_3 speex mpg123 ] ++ lib.optional withHttpStream qtmultimedia ++ lib.optional withCdda cdparanoia ++ lib.optional withCddb libcddb diff --git a/nixpkgs/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff b/nixpkgs/pkgs/applications/audio/cantata/dont-check-for-perl-in-PATH.diff new file mode 100644 index 00000000000..effb0f3b502 --- /dev/null +++ b/nixpkgs/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)) { + |