quodlibet: 2.6.3 -> 3.9.1

authored by Sauyon Lee and committed by Robert Helgesson 7486ae8e a5f5bee8

+57 -72
+30 -50
pkgs/applications/audio/quodlibet/default.nix
··· 1 - { stdenv, fetchurl, python2Packages, intltool 2 - , gst-python, withGstPlugins ? false, gst-plugins-base ? null 3 - , gst-plugins-good ? null, gst-plugins-ugly ? null, gst-plugins-bad ? null }: 4 - 5 - assert withGstPlugins -> gst-plugins-base != null 6 - || gst-plugins-good != null 7 - || gst-plugins-ugly != null 8 - || gst-plugins-bad != null; 1 + { stdenv, fetchurl, python2Packages, wrapGAppsHook, gettext, intltool, libsoup, gnome3, 2 + tag ? "", 3 + gst_all_1, withGstPlugins ? true, 4 + xineBackend ? false, xineLib, 5 + withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false, 6 + webkitgtk ? null, 7 + keybinder3 ? null, gtksourceview ? null, libmodplug ? null, kakasi ? null, libappindicator-gtk3 ? null }: 9 8 10 - let 11 - version = "2.6.3"; 12 - inherit (python2Packages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python; 13 - in buildPythonApplication { 14 - # call the package quodlibet and just quodlibet 15 - name = "quodlibet${stdenv.lib.optionalString (!withGstPlugins) "-without-gst-plugins"}-${version}"; 9 + let optionals = stdenv.lib.optionals; in 10 + python2Packages.buildPythonApplication rec { 11 + name = "quodlibet${tag}-${version}"; 12 + version = "3.9.1"; 16 13 17 14 # XXX, tests fail 18 15 doCheck = false; 19 16 20 - srcs = [ 21 - (fetchurl { 22 - url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz"; 23 - sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z"; 24 - }) 25 - (fetchurl { 26 - url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz"; 27 - sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc"; 28 - }) 29 - ]; 30 - 31 - preConfigure = '' 32 - # TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc 33 - sed -i /distclass/d setup.py 34 - ''; 35 - 36 - sourceRoot = "quodlibet-${version}"; 37 - 38 - postUnpack = '' 39 - # the patch searches for plugins in directory ../plugins 40 - # so link the appropriate directory there 41 - ln -sf quodlibet-plugins-${version} plugins 42 - ''; 17 + src = fetchurl { 18 + url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz"; 19 + sha256 = "d2b42df5d439213973dc97149fddc779a6c90cec389c24baf1c0bdcc39ffe591"; 20 + }; 43 21 44 - patches = [ ./quodlibet-package-plugins.patch ]; 22 + nativeBuildInputs = [ wrapGAppsHook gettext intltool ]; 23 + # ++ (with python2Packages; [ pytest pyflakes pycodestyle polib ]); # test deps 45 24 46 - buildInputs = stdenv.lib.optionals withGstPlugins [ 47 - gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad 48 - ]; 25 + buildInputs = [ gnome3.defaultIconTheme libsoup webkitgtk keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi ] 26 + ++ (if xineBackend then [ xineLib ] else with gst_all_1; 27 + [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]); 49 28 50 - propagatedBuildInputs = [ 51 - mutagen pygtk pygobject2 dbus-python gst-python intltool 52 - ]; 29 + propagatedBuildInputs = with python2Packages; 30 + [ pygobject3 pycairo mutagen pygtk gst-python feedparser faulthandler futures ] 31 + ++ optionals withDbusPython [ dbus-python ] 32 + ++ optionals withPyInotify [ pyinotify ] 33 + ++ optionals withMusicBrainzNgs [ musicbrainzngs ] 34 + ++ optionals stdenv.isDarwin [ pyobjc ] 35 + ++ optionals withPahoMqtt [ paho-mqtt ]; 53 36 54 - postInstall = stdenv.lib.optionalString withGstPlugins '' 55 - # Wrap quodlibet so it finds the GStreamer plug-ins 56 - wrapProgram "$out/bin/quodlibet" --prefix \ 57 - GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" \ 58 - ''; 37 + makeWrapperArgs = optionals (kakasi != null) [ "--prefix PATH : ${kakasi}/bin" ]; 59 38 60 39 meta = { 61 40 description = "GTK+-based audio player written in Python, using the Mutagen tagging library"; 41 + license = stdenv.lib.licenses.gpl2; 62 42 63 43 longDescription = '' 64 44 Quod Libet is a GTK+-based audio player written in Python, using ··· 74 54 & internet radio, and all major audio formats. 75 55 ''; 76 56 77 - maintainers = [ stdenv.lib.maintainers.coroa ]; 57 + maintainers = with stdenv.lib.maintainers; [ coroa sauyon ]; 78 58 homepage = https://quodlibet.readthedocs.io/en/latest/; 79 59 }; 80 60 }
-18
pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch
··· 1 - diff -Naur quodlibet-2.5.orig/setup.py quodlibet-2.5.new/setup.py 2 - --- quodlibet-2.5.orig/setup.py 2012-12-19 08:47:41.000000000 +0000 3 - +++ quodlibet-2.5.new/setup.py 2013-04-22 19:27:07.152631051 +0000 4 - @@ -337,5 +338,14 @@ 5 - } 6 - } 7 - }) 8 - + else: 9 - + from os.path import join 10 - + 11 - + data_files = [] 12 - + for type in ["playorder", "songsmenu", "editing", "events", "gstreamer"]: 13 - + data_files.append((join('quodlibet', 'plugins', type), 14 - + glob.glob(join('..', 'plugins', type, '*.py')))) 15 - + setup_kwargs.update({ 'data_files': data_files }); 16 - + 17 - setup(**setup_kwargs) 18 -
+27 -4
pkgs/top-level/all-packages.nix
··· 16272 16272 16273 16273 quiterss = libsForQt5.callPackage ../applications/networking/newsreaders/quiterss {}; 16274 16274 16275 - quodlibet-without-gst-plugins = callPackage ../applications/audio/quodlibet { }; 16275 + falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { }; 16276 16276 16277 16277 quodlibet = callPackage ../applications/audio/quodlibet { 16278 - withGstPlugins = true; 16279 - gst-plugins-bad = null; 16278 + keybinder3 = null; 16279 + libmodplug = null; 16280 + kakasi = null; 16281 + libappindicator-gtk3 = null; 16282 + }; 16283 + 16284 + quodlibet-without-gst-plugins = quodlibet.override { 16285 + withGstPlugins = false; 16286 + tag = "-without-gst-plugins"; 16287 + }; 16288 + 16289 + quodlibet-xine = quodlibet.override { xineBackend = true; tag = "-xine"; }; 16290 + 16291 + quodlibet-full = callPackage ../applications/audio/quodlibet { 16292 + inherit (gnome2) gtksourceview; 16293 + withDbusPython = true; 16294 + withPyInotify = true; 16295 + withMusicBrainzNgs = true; 16296 + withPahoMqtt = true; 16297 + keybinder3 = keybinder3; 16298 + libmodplug = libmodplug; 16299 + kakasi = kakasi; 16300 + webkitgtk = webkitgtk24x-gtk3; 16301 + libappindicator-gtk3 = libappindicator-gtk3; 16302 + tag = "-full"; 16280 16303 }; 16281 16304 16282 - falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { }; 16305 + quodlibet-xine-full = quodlibet-full.override { xineBackend = true; tag = "-xine-full"; }; 16283 16306 16284 16307 qutebrowser = libsForQt5.callPackage ../applications/networking/browsers/qutebrowser { 16285 16308 inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils pyopengl attrs;