about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/networking/persepolis/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-04-22 21:15:06 +0000
committerAlyssa Ross <hi@alyssa.is>2019-04-22 21:18:23 +0000
commitb935ae5f3cfb2bb4f9a3746d284f156a6dece505 (patch)
tree5efe4e2e7a7723a737d0130a333b057c5e76df40 /nixpkgs/pkgs/tools/networking/persepolis/default.nix
parentdc9566e91c9453378c24e98b5737234364670df5 (diff)
parentd26027792812fbfad4d0f451b5f47fdabf7fdeb9 (diff)
downloadnixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar.gz
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar.bz2
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar.lz
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar.xz
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.tar.zst
nixlib-b935ae5f3cfb2bb4f9a3746d284f156a6dece505.zip
Merge commit 'd26027792812fbfad4d0f451b5f47fdabf7fdeb9'
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/persepolis/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/networking/persepolis/default.nix60
1 files changed, 60 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/networking/persepolis/default.nix b/nixpkgs/pkgs/tools/networking/persepolis/default.nix
new file mode 100644
index 000000000000..bfa309f79df2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/persepolis/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, buildPythonApplication, fetchFromGitHub, makeDesktopItem, makeWrapper
+, aria
+, libnotify
+, pulseaudio
+, psutil
+, pyqt5
+, requests
+, setproctitle
+, sound-theme-freedesktop
+, youtube-dl
+}:
+
+buildPythonApplication rec {
+  pname = "persepolis";
+  version = "3.1.0";
+
+  src = fetchFromGitHub {
+    owner = "persepolisdm";
+    repo = "persepolis";
+    rev = "${version}";
+    sha256 = "0xngk8wgj5k27mh3bcrf2wwzqr8a3g0d4pc5i5vcavnnaj03j44m";
+  };
+
+  # see: https://github.com/persepolisdm/persepolis/blob/3.1.0/setup.py#L130
+  doCheck = false;
+
+  preBuild=''
+    substituteInPlace setup.py --replace "answer = input(" "answer = 'y'#"
+  '';
+
+  postPatch = ''
+    sed -i 's|/usr/share/sounds/freedesktop/stereo/|${sound-theme-freedesktop}/share/sounds/freedesktop/stereo/|' setup.py
+    sed -i "s|'persepolis = persepolis.__main__'|'persepolis = persepolis.scripts.persepolis:main'|" setup.py
+  '';
+
+  postInstall = ''
+     mkdir -p $out/share/applications
+     cp $src/xdg/com.github.persepolisdm.persepolis.desktop $out/share/applications
+     wrapProgram $out/bin/persepolis --prefix PATH : "${lib.makeBinPath [aria libnotify ]}"
+  '';
+
+  buildInputs = [ makeWrapper ];
+
+  propagatedBuildInputs = [
+    pulseaudio
+    psutil
+    pyqt5
+    requests
+    setproctitle
+    sound-theme-freedesktop
+    youtube-dl
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Persepolis Download Manager is a GUI for aria2.";
+    homepage = https://persepolisdm.github.io/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.linarcx ];
+  };
+}