mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
quodlibet: 2.6.3 -> 3.9.1
This commit is contained in:
parent
a5f5bee85f
commit
7486ae8e7c
3 changed files with 57 additions and 72 deletions
|
@ -1,64 +1,44 @@
|
|||
{ stdenv, fetchurl, python2Packages, intltool
|
||||
, gst-python, withGstPlugins ? false, gst-plugins-base ? null
|
||||
, gst-plugins-good ? null, gst-plugins-ugly ? null, gst-plugins-bad ? null }:
|
||||
{ stdenv, fetchurl, python2Packages, wrapGAppsHook, gettext, intltool, libsoup, gnome3,
|
||||
tag ? "",
|
||||
gst_all_1, withGstPlugins ? true,
|
||||
xineBackend ? false, xineLib,
|
||||
withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
|
||||
webkitgtk ? null,
|
||||
keybinder3 ? null, gtksourceview ? null, libmodplug ? null, kakasi ? null, libappindicator-gtk3 ? 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}";
|
||||
let optionals = stdenv.lib.optionals; in
|
||||
python2Packages.buildPythonApplication rec {
|
||||
name = "quodlibet${tag}-${version}";
|
||||
version = "3.9.1";
|
||||
|
||||
# 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";
|
||||
})
|
||||
];
|
||||
src = fetchurl {
|
||||
url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
|
||||
sha256 = "d2b42df5d439213973dc97149fddc779a6c90cec389c24baf1c0bdcc39ffe591";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
# TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
|
||||
sed -i /distclass/d setup.py
|
||||
'';
|
||||
nativeBuildInputs = [ wrapGAppsHook gettext intltool ];
|
||||
# ++ (with python2Packages; [ pytest pyflakes pycodestyle polib ]); # test deps
|
||||
|
||||
sourceRoot = "quodlibet-${version}";
|
||||
buildInputs = [ gnome3.defaultIconTheme libsoup webkitgtk keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi ]
|
||||
++ (if xineBackend then [ xineLib ] else with gst_all_1;
|
||||
[ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
|
||||
|
||||
postUnpack = ''
|
||||
# the patch searches for plugins in directory ../plugins
|
||||
# so link the appropriate directory there
|
||||
ln -sf quodlibet-plugins-${version} plugins
|
||||
'';
|
||||
propagatedBuildInputs = with python2Packages;
|
||||
[ pygobject3 pycairo mutagen pygtk gst-python feedparser faulthandler futures ]
|
||||
++ optionals withDbusPython [ dbus-python ]
|
||||
++ optionals withPyInotify [ pyinotify ]
|
||||
++ optionals withMusicBrainzNgs [ musicbrainzngs ]
|
||||
++ optionals stdenv.isDarwin [ pyobjc ]
|
||||
++ optionals withPahoMqtt [ paho-mqtt ];
|
||||
|
||||
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" \
|
||||
'';
|
||||
makeWrapperArgs = optionals (kakasi != null) [ "--prefix PATH : ${kakasi}/bin" ];
|
||||
|
||||
meta = {
|
||||
description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
|
||||
longDescription = ''
|
||||
Quod Libet is a GTK+-based audio player written in Python, using
|
||||
|
@ -74,7 +54,7 @@ in buildPythonApplication {
|
|||
& internet radio, and all major audio formats.
|
||||
'';
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.coroa ];
|
||||
maintainers = with stdenv.lib.maintainers; [ coroa sauyon ];
|
||||
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
diff -Naur quodlibet-2.5.orig/setup.py quodlibet-2.5.new/setup.py
|
||||
--- quodlibet-2.5.orig/setup.py 2012-12-19 08:47:41.000000000 +0000
|
||||
+++ quodlibet-2.5.new/setup.py 2013-04-22 19:27:07.152631051 +0000
|
||||
@@ -337,5 +338,14 @@
|
||||
}
|
||||
}
|
||||
})
|
||||
+ else:
|
||||
+ from os.path import join
|
||||
+
|
||||
+ data_files = []
|
||||
+ for type in ["playorder", "songsmenu", "editing", "events", "gstreamer"]:
|
||||
+ data_files.append((join('quodlibet', 'plugins', type),
|
||||
+ glob.glob(join('..', 'plugins', type, '*.py'))))
|
||||
+ setup_kwargs.update({ 'data_files': data_files });
|
||||
+
|
||||
setup(**setup_kwargs)
|
||||
|
|
@ -16272,14 +16272,37 @@ with pkgs;
|
|||
|
||||
quiterss = libsForQt5.callPackage ../applications/networking/newsreaders/quiterss {};
|
||||
|
||||
quodlibet-without-gst-plugins = callPackage ../applications/audio/quodlibet { };
|
||||
falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
|
||||
|
||||
quodlibet = callPackage ../applications/audio/quodlibet {
|
||||
withGstPlugins = true;
|
||||
gst-plugins-bad = null;
|
||||
keybinder3 = null;
|
||||
libmodplug = null;
|
||||
kakasi = null;
|
||||
libappindicator-gtk3 = null;
|
||||
};
|
||||
|
||||
falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
|
||||
quodlibet-without-gst-plugins = quodlibet.override {
|
||||
withGstPlugins = false;
|
||||
tag = "-without-gst-plugins";
|
||||
};
|
||||
|
||||
quodlibet-xine = quodlibet.override { xineBackend = true; tag = "-xine"; };
|
||||
|
||||
quodlibet-full = callPackage ../applications/audio/quodlibet {
|
||||
inherit (gnome2) gtksourceview;
|
||||
withDbusPython = true;
|
||||
withPyInotify = true;
|
||||
withMusicBrainzNgs = true;
|
||||
withPahoMqtt = true;
|
||||
keybinder3 = keybinder3;
|
||||
libmodplug = libmodplug;
|
||||
kakasi = kakasi;
|
||||
webkitgtk = webkitgtk24x-gtk3;
|
||||
libappindicator-gtk3 = libappindicator-gtk3;
|
||||
tag = "-full";
|
||||
};
|
||||
|
||||
quodlibet-xine-full = quodlibet-full.override { xineBackend = true; tag = "-xine-full"; };
|
||||
|
||||
qutebrowser = libsForQt5.callPackage ../applications/networking/browsers/qutebrowser {
|
||||
inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils pyopengl attrs;
|
||||
|
|
Loading…
Reference in a new issue