2eacddf0dc
* pgadmin: use https homepage * msn-pecan: move homepage to github google code is now unavailable * pidgin-latex: use https for homepage * pidgin-opensteamworks: use github for homepage google code is unavailable * putty: use https for homepage * ponylang: use https for homepage * picolisp: use https for homepage * phonon: use https for homepage * pugixml: use https for homepage * pioneer: use https for homepage * packer: use https for homepage * pokerth: usee https for homepage * procps-ng: use https for homepage * pycaml: use https for homepage * proot: move homepage to .github.io * pius: use https for homepage * pdfread: use https for homepage * postgresql: use https for homepage * ponysay: move homepage to new site * prometheus: use https for homepage * powerdns: use https for homepage * pm-utils: use https for homepage * patchelf: move homepage to https * tesseract: move homepage to github * quodlibet: move homepage from google code * jbrout: move homepage from google code * eiskaltdcpp: move homepage to github * nodejs: use https to homepage * nix: use https for homepage * pdf2djvu: move homepage from google code * game-music-emu: move homepage from google code * vacuum: move homepae from google code
80 lines
3 KiB
Nix
80 lines
3 KiB
Nix
{ stdenv, fetchurl, python2Packages, intltool
|
|
, gst-python, withGstPlugins ? false, gst-plugins-base ? null
|
|
, gst-plugins-good ? null, gst-plugins-ugly ? null, gst-plugins-bad ? null }:
|
|
|
|
assert withGstPlugins -> gst-plugins-base != null
|
|
|| gst-plugins-good != null
|
|
|| gst-plugins-ugly != null
|
|
|| gst-plugins-bad != null;
|
|
|
|
let
|
|
version = "2.6.3";
|
|
inherit (python2Packages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python;
|
|
in buildPythonApplication {
|
|
# call the package quodlibet and just quodlibet
|
|
name = "quodlibet${stdenv.lib.optionalString (!withGstPlugins) "-without-gst-plugins"}-${version}";
|
|
|
|
# XXX, tests fail
|
|
doCheck = false;
|
|
|
|
srcs = [
|
|
(fetchurl {
|
|
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
|
|
sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
|
|
})
|
|
(fetchurl {
|
|
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
|
|
sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
|
|
})
|
|
];
|
|
|
|
preConfigure = ''
|
|
# TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
|
|
sed -i /distclass/d setup.py
|
|
'';
|
|
|
|
sourceRoot = "quodlibet-${version}";
|
|
|
|
postUnpack = ''
|
|
# the patch searches for plugins in directory ../plugins
|
|
# so link the appropriate directory there
|
|
ln -sf quodlibet-plugins-${version} plugins
|
|
'';
|
|
|
|
patches = [ ./quodlibet-package-plugins.patch ];
|
|
|
|
buildInputs = stdenv.lib.optionals withGstPlugins [
|
|
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
mutagen pygtk pygobject2 dbus-python gst-python intltool
|
|
];
|
|
|
|
postInstall = stdenv.lib.optionalString withGstPlugins ''
|
|
# Wrap quodlibet so it finds the GStreamer plug-ins
|
|
wrapProgram "$out/bin/quodlibet" --prefix \
|
|
GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" \
|
|
'';
|
|
|
|
meta = {
|
|
description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
|
|
|
|
longDescription = ''
|
|
Quod Libet is a GTK+-based audio player written in Python, using
|
|
the Mutagen tagging library. It's designed around the idea that
|
|
you know how to organize your music better than we do. It lets
|
|
you make playlists based on regular expressions (don't worry,
|
|
regular searches work too). It lets you display and edit any
|
|
tags you want in the file. And it lets you do this for all the
|
|
file formats it supports. Quod Libet easily scales to libraries
|
|
of thousands (or even tens of thousands) of songs. It also
|
|
supports most of the features you expect from a modern media
|
|
player, like Unicode support, tag editing, Replay Gain, podcasts
|
|
& internet radio, and all major audio formats.
|
|
'';
|
|
|
|
maintainers = [ stdenv.lib.maintainers.coroa ];
|
|
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
|
};
|
|
}
|