mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-21 19:44:09 +00:00
quodlibet: 2.6.3 -> 3.9.1
This commit is contained in:
parent
a5f5bee85f
commit
7486ae8e7c
@ -1,64 +1,44 @@
|
|||||||
{ stdenv, fetchurl, python2Packages, intltool
|
{ stdenv, fetchurl, python2Packages, wrapGAppsHook, gettext, intltool, libsoup, gnome3,
|
||||||
, gst-python, withGstPlugins ? false, gst-plugins-base ? null
|
tag ? "",
|
||||||
, gst-plugins-good ? null, gst-plugins-ugly ? null, gst-plugins-bad ? null }:
|
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
|
let optionals = stdenv.lib.optionals; in
|
||||||
|| gst-plugins-good != null
|
python2Packages.buildPythonApplication rec {
|
||||||
|| gst-plugins-ugly != null
|
name = "quodlibet${tag}-${version}";
|
||||||
|| gst-plugins-bad != null;
|
version = "3.9.1";
|
||||||
|
|
||||||
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
|
# XXX, tests fail
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
srcs = [
|
src = fetchurl {
|
||||||
(fetchurl {
|
url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
|
||||||
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
|
sha256 = "d2b42df5d439213973dc97149fddc779a6c90cec389c24baf1c0bdcc39ffe591";
|
||||||
sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
|
};
|
||||||
})
|
|
||||||
(fetchurl {
|
|
||||||
url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
|
|
||||||
sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
preConfigure = ''
|
nativeBuildInputs = [ wrapGAppsHook gettext intltool ];
|
||||||
# TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
|
# ++ (with python2Packages; [ pytest pyflakes pycodestyle polib ]); # test deps
|
||||||
sed -i /distclass/d setup.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
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 = ''
|
propagatedBuildInputs = with python2Packages;
|
||||||
# the patch searches for plugins in directory ../plugins
|
[ pygobject3 pycairo mutagen pygtk gst-python feedparser faulthandler futures ]
|
||||||
# so link the appropriate directory there
|
++ optionals withDbusPython [ dbus-python ]
|
||||||
ln -sf quodlibet-plugins-${version} plugins
|
++ optionals withPyInotify [ pyinotify ]
|
||||||
'';
|
++ optionals withMusicBrainzNgs [ musicbrainzngs ]
|
||||||
|
++ optionals stdenv.isDarwin [ pyobjc ]
|
||||||
|
++ optionals withPahoMqtt [ paho-mqtt ];
|
||||||
|
|
||||||
patches = [ ./quodlibet-package-plugins.patch ];
|
makeWrapperArgs = optionals (kakasi != null) [ "--prefix PATH : ${kakasi}/bin" ];
|
||||||
|
|
||||||
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 = {
|
meta = {
|
||||||
description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
|
description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
|
||||||
|
license = stdenv.lib.licenses.gpl2;
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Quod Libet is a GTK+-based audio player written in Python, using
|
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.
|
& 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/;
|
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 {};
|
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 {
|
quodlibet = callPackage ../applications/audio/quodlibet {
|
||||||
withGstPlugins = true;
|
keybinder3 = null;
|
||||||
gst-plugins-bad = 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 {
|
qutebrowser = libsForQt5.callPackage ../applications/networking/browsers/qutebrowser {
|
||||||
inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils pyopengl attrs;
|
inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils pyopengl attrs;
|
||||||
|
Loading…
Reference in New Issue
Block a user