summary refs log tree commit diff
diff options
context:
space:
mode:
authorryneeverett <ryneeverett@gmail.com>2021-09-08 06:07:28 -0400
committerGitHub <noreply@github.com>2021-09-08 06:07:28 -0400
commit3e9f6d7e99806a16c6a2b76fcba11dca64091f6d (patch)
tree58d726a6e5369ded491fe819e49a9e7229bc0d82
parentc43a2609a30e5b81a7b81d59fdda36bcb137a382 (diff)
downloadnixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar.gz
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar.bz2
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar.lz
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar.xz
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.tar.zst
nixpkgs-3e9f6d7e99806a16c6a2b76fcba11dca64091f6d.zip
exaile: init at 4.1.1 (#120761)
-rw-r--r--pkgs/applications/audio/exaile/default.nix107
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/applications/audio/exaile/default.nix b/pkgs/applications/audio/exaile/default.nix
new file mode 100644
index 00000000000..220a7c4eb3e
--- /dev/null
+++ b/pkgs/applications/audio/exaile/default.nix
@@ -0,0 +1,107 @@
+{ stdenv, lib, fetchFromGitHub
+, gobject-introspection, makeWrapper, wrapGAppsHook
+, gtk3, gst_all_1, python3
+, gettext, gnome, help2man, keybinder3, libnotify, librsvg, streamripper, udisks, webkitgtk
+, iconTheme ? gnome.adwaita-icon-theme
+, deviceDetectionSupport ? true
+, documentationSupport ? true
+, notificationSupport ? true
+, scalableIconSupport ? true
+, translationSupport ? true
+, bpmCounterSupport ? false
+, ipythonSupport ? false
+, lastfmSupport ? false
+, lyricsManiaSupport ? false
+, lyricsWikiSupport ? false
+, multimediaKeySupport ? false
+, musicBrainzSupport ? false
+, podcastSupport ? false
+, streamripperSupport ? false
+, wikipediaSupport ? false
+, fetchpatch
+}:
+
+stdenv.mkDerivation rec {
+  pname = "exaile";
+  version = "4.1.1";
+
+  src = fetchFromGitHub {
+    owner = "exaile";
+    repo = pname;
+    rev = version;
+    sha256 = "0s29lm0i4slgaw5l5s9a2zx0b83xac43rnil5cvyi210dxm5s048";
+  };
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/exaile/exaile/pull/751.patch";
+      sha256 = "sha256-jCJh85Z3HQcyS4ntQP5HwYJgM7WNHcWzjf0BdNJitsM=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    makeWrapper
+    wrapGAppsHook
+  ] ++ lib.optionals documentationSupport [
+    help2man
+    python3.pkgs.sphinx
+    python3.pkgs.sphinx_rtd_theme
+  ] ++ lib.optional translationSupport gettext;
+
+  buildInputs = [
+    iconTheme
+    gtk3
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+  ]) ++ (with python3.pkgs; [
+    bsddb3
+    dbus-python
+    mutagen
+    pygobject3
+    pycairo
+    gst-python
+  ]) ++ lib.optional deviceDetectionSupport udisks
+  ++ lib.optional notificationSupport libnotify
+  ++ lib.optional scalableIconSupport librsvg
+  ++ lib.optional bpmCounterSupport gst_all_1.gst-plugins-bad
+  ++ lib.optional ipythonSupport python3.pkgs.ipython
+  ++ lib.optional lastfmSupport python3.pkgs.pylast
+  ++ lib.optional (lyricsManiaSupport || lyricsWikiSupport) python3.pkgs.lxml
+  ++ lib.optional lyricsWikiSupport python3.pkgs.beautifulsoup4
+  ++ lib.optional multimediaKeySupport keybinder3
+  ++ lib.optional musicBrainzSupport python3.pkgs.musicbrainzngs
+  ++ lib.optional podcastSupport python3.pkgs.feedparser
+  ++ lib.optional wikipediaSupport webkitgtk;
+
+  checkInputs = with python3.pkgs; [
+    mox3
+    pytest
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  doCheck = true;
+  preCheck = ''
+    substituteInPlace Makefile --replace "PYTHONPATH=$(shell pwd)" "PYTHONPATH=$PYTHONPATH:$(shell pwd)"
+    export PYTEST="py.test"
+    export XDG_CACHE_HOME=$(mktemp -d)
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/exaile \
+      --set PYTHONPATH $PYTHONPATH \
+      ${lib.optionalString streamripperSupport "--prefix PATH : ${lib.makeBinPath [ streamripper ]}"}
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.exaile.org/";
+    description = "A music player with a simple interface and powerful music management capabilities";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ ryneeverett ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 519ffa277a1..0a30b941f17 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24268,6 +24268,8 @@ with pkgs;
 
   evilpixie = libsForQt5.callPackage ../applications/graphics/evilpixie { };
 
+  exaile = callPackage ../applications/audio/exaile { };
+
   exercism = callPackage ../applications/misc/exercism { };
 
   expenses = callPackage ../applications/misc/expenses { };