Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions pkgs/applications/audio/quodlibet/default.nix
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:

let version = "2.5"; in
assert withGstPlugins -> gst_plugins_base != null
|| gst_plugins_good != null
|| gst_plugins_ugly != null
|| gst_plugins_bad != null;

let version = "2.6.3"; in

buildPythonPackage {
# call the package quodlibet and just quodlibet
name = "quodlibet-${version}";
name = "quodlibet-${version}"
+ stdenv.lib.optionalString withGstPlugins "-with-gst-plugins";
namePrefix = "";

# XXX, tests fail
doCheck = false;

src = [
(fetchurl {
url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
})
(fetchurl {
url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
})
];

Expand All @@ -30,19 +37,23 @@ buildPythonPackage {
'';
patches = [ ./quodlibet-package-plugins.patch ];

buildInputs = [
gst_plugins_base gst_plugins_good gst_plugins_ugly
buildInputs = stdenv.lib.optionals withGstPlugins [
gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
];

propagatedBuildInputs = [
mutagen pygtk pygobject pythonDBus gst_python
];

postInstall = ''
postInstall = stdenv.lib.optionalString withGstPlugins ''
# Wrap quodlibet so it finds the GStreamer plug-ins
wrapProgram "$out/bin/quodlibet" --prefix \
GST_PLUGIN_PATH ":" \
"${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_plugins_ugly}/lib/gstreamer-0.10"
${ stdenv.lib.concatStringsSep ":"
(map (s: s+"/lib/gstreamer-0.10")
(stdenv.lib.filter (s: s != null) [
gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
])) }
'';

meta = {
Expand All @@ -62,6 +73,7 @@ buildPythonPackage {
& internet radio, and all major audio formats.
'';

maintainer = [ stdenv.lib.maintainers.coroa ];
homepage = http://code.google.com/p/quodlibet/;
};
}
6 changes: 6 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8562,6 +8562,12 @@ let
inherit (pythonPackages) mutagen;
};

quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet {
inherit (pythonPackages) mutagen;
withGstPlugins = true;
gst_plugins_bad = null;
};

rakarrack = callPackage ../applications/audio/rakarrack {
inherit (xorg) libXpm libXft;
fltk = fltk13;
Expand Down