diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d15322cf497..f804cf83bf6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10904,6 +10904,12 @@ githubId = 137805; name = "Alexander Tsvyashchenko"; }; + ne9z = { + email = "yuchen@apvc.uk"; + github = "ne9z"; + githubId = 77314501; + name = "Maurice Zhou"; + }; nebulka = { email = "arapun@proton.me"; github = "nebulka1"; diff --git a/pkgs/applications/networking/p2p/pyrosimple/default.nix b/pkgs/applications/networking/p2p/pyrosimple/default.nix new file mode 100644 index 00000000000..15a9ce266e0 --- /dev/null +++ b/pkgs/applications/networking/p2p/pyrosimple/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, python3Packages +, nix-update-script +, pyrosimple +, testers +, fetchPypi +, buildPythonPackage +, bencode-py +, apscheduler +, jinja2 +, python-daemon +, importlib-resources +, parsimonious +, prometheus-client +, prompt-toolkit +, requests +, shtab +, inotify +, withInotify ? stdenv.isLinux +, python-box +, tomli +, tomli-w +}: + +let + pname = "pyrosimple"; + version = "2.7.0"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-SMqzvTbWFHwnbMQ+6K0m1v+PybceQK5EHEuN8FB6SaU="; + }; + + propagatedBuildInputs = [ + bencode-py + apscheduler + jinja2 + python-daemon + importlib-resources + parsimonious + prometheus-client + prompt-toolkit + requests + shtab + python-box + tomli + tomli-w + ] ++ lib.optional withInotify inotify; + +in buildPythonPackage { + inherit pname version src propagatedBuildInputs; + + passthru = { + updateScript = nix-update-script { }; + tests = testers.testVersion { + package = pyrosimple; + command = "pyroadmin --version"; + }; + }; + + meta = let inherit (lib) licenses platforms maintainers; + in { + homepage = "https://kannibalox.github.io/pyrosimple/"; + description = "A rTorrent client and Python 3 fork of the pyrocore tools"; + license = licenses.gpl3Plus; + changelog = "https://github.com/kannibalox/pyrosimple/blob/v${version}/CHANGELOG.md"; + platforms = platforms.all; + maintainers = builtins.attrValues { inherit (maintainers) ne9z; }; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8aca756206a..e9355cb9c78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33204,6 +33204,8 @@ with pkgs; pwdsafety = callPackage ../tools/security/pwdsafety { }; + pyrosimple = python3Packages.callPackage ../applications/networking/p2p/pyrosimple { }; + qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { }; qbittorrent-nox = qbittorrent.override { guiSupport = false;