Unverified Commit 41948203 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #250955 from paveloom/quodlibet

quodlibet: 4.5.0 -> 4.6.0
parents 67160d51 acccb8f0
Loading
Loading
Loading
Loading
+27 −41
Original line number Diff line number Diff line
{ lib
, fetchFromGitHub
, fetchpatch
, tag ? ""

  # build time
@@ -25,16 +24,18 @@

  # optional features
, withDbusPython ? false
, withPypresence ? false
, withPyInotify ? false
, withMusicBrainzNgs ? false
, withPahoMqtt ? false
, withPyInotify ? false
, withPypresence ? false
, withSoco ? false

  # backends
, withGstreamerBackend ? true, gst_all_1
, withGstPlugins ? withGstreamerBackend
, withXineBackend ? true, xine-lib
, withGstreamerBackend ? true
, gst_all_1
, withXineBackend ? true
, xine-lib

  # tests
, dbus
@@ -46,36 +47,25 @@

python3.pkgs.buildPythonApplication rec {
  pname = "quodlibet${tag}";
  version = "4.5.0";
  version = "4.6.0";
  format = "pyproject";

  outputs = [ "out" "doc" ];

  src = fetchFromGitHub {
    owner = "quodlibet";
    repo = "quodlibet";
    rev = "refs/tags/release-${version}";
    hash = "sha256-G6zcdnHkevbVCrMoseWoSia5ajEor8nZhee6NeZIs8Q=";
    hash = "sha256-dkO/CFN7Dk72xhtmcSDcwUciOPMeEjQS2mch+jSfiII=";
  };

  patches = [
    (fetchpatch {
      # Fixes cover globbing under python 3.10.5+
      url = "https://github.com/quodlibet/quodlibet/commit/5eb7c30766e1dcb30663907664855ee94a3accc0.patch";
      hash = "sha256-bDyEOE7Vs4df4BeN4QMvt6niisVEpvc1onmX5rtoAWc=";
    })
  ];

  outputs = [
    "out"
    "doc"
  ];

  nativeBuildInputs = [
    gettext
    gobject-introspection
    wrapGAppsHook
  ] ++ (with python3.pkgs; [
    sphinxHook
    sphinx-rtd-theme
    sphinxHook
  ]);

  buildInputs = [
@@ -111,14 +101,12 @@ python3.pkgs.buildPythonApplication rec {
    pygobject3
  ]
  ++ lib.optionals withDbusPython [ dbus-python ]
  ++ lib.optionals withPypresence [ pypresence ]
  ++ lib.optionals withPyInotify [ pyinotify ]
  ++ lib.optionals withMusicBrainzNgs [ musicbrainzngs ]
  ++ lib.optionals withPahoMqtt [ paho-mqtt ]
  ++ lib.optionals withPyInotify [ pyinotify ]
  ++ lib.optionals withPypresence [ pypresence ]
  ++ lib.optionals withSoco [ soco ];

  LC_ALL = "en_US.UTF-8";

  nativeCheckInputs = [
    dbus
    gdk-pixbuf
@@ -132,23 +120,23 @@ python3.pkgs.buildPythonApplication rec {
  ]);

  pytestFlags = [
    # requires networking
    "--deselect=tests/test_browsers_iradio.py::TIRFile::test_download_tags"
    # missing translation strings in potfiles
    "--deselect=tests/test_po.py::TPOTFILESIN::test_missing"
    # require networking
    "--deselect=tests/plugin/test_covers.py::test_live_cover_download"
    "--deselect=tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station"
    # upstream does actually not enforce source code linting
    "--ignore=tests/quality"
    # build failure on Arch Linux
    # https://github.com/NixOS/nixpkgs/pull/77796#issuecomment-575841355
    "--ignore=tests/test_operon.py"
  ] ++ lib.optionals (withXineBackend || !withGstPlugins) [
    "--ignore=tests/plugin/test_replaygain.py"
  ];

  env.LC_ALL = "en_US.UTF-8";

  preCheck = ''
    export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
    export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
    export HOME=$(mktemp -d)
    export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
  '';

  checkPhase = ''
@@ -167,8 +155,6 @@ python3.pkgs.buildPythonApplication rec {

  meta = with lib; {
    description = "GTK-based audio player written in Python, using the Mutagen tagging library";
    license = licenses.gpl2Plus;

    longDescription = ''
      Quod Libet is a GTK-based audio player written in Python, using
      the Mutagen tagging library. It's designed around the idea that
@@ -182,8 +168,8 @@ python3.pkgs.buildPythonApplication rec {
      player, like Unicode support, tag editing, Replay Gain, podcasts
      & internet radio, and all major audio formats.
    '';

    maintainers = with maintainers; [ coroa pbogdan ];
    homepage = "https://quodlibet.readthedocs.io/en/latest/";
    homepage = "https://quodlibet.readthedocs.io/en/latest";
    license = licenses.gpl2Plus;
    maintainers = with maintainers; [ coroa paveloom pbogdan ];
  };
}
+5 −0
Original line number Diff line number Diff line
@@ -35141,14 +35141,17 @@ with pkgs;
    keybinder3 = null;
    libappindicator-gtk3 = null;
    libmodplug = null;
    libsoup = libsoup_3;
  };
  quodlibet-without-gst-plugins = quodlibet.override {
    libsoup = libsoup_3;
    tag = "-without-gst-plugins";
    withGstPlugins = false;
  };
  quodlibet-xine = quodlibet.override {
    libsoup = libsoup_3;
    tag = "-xine";
    withGstreamerBackend = false;
    withXineBackend = true;
@@ -35160,6 +35163,7 @@ with pkgs;
    keybinder3 = keybinder3;
    libappindicator-gtk3 = libappindicator-gtk3;
    libmodplug = libmodplug;
    libsoup = libsoup_3;
    tag = "-full";
    withDbusPython = true;
    withMusicBrainzNgs = true;
@@ -35170,6 +35174,7 @@ with pkgs;
  };
  quodlibet-xine-full = quodlibet-full.override {
    libsoup = libsoup_3;
    tag = "-xine-full";
    withGstreamerBackend = false;
    withXineBackend = true;