From 7e658479f861ff08fc1d2230ac66ae5b06aba9d3 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Sun, 15 Dec 2024 00:05:41 -0600 Subject: [PATCH] qbit-manage wip --- pkgs/bencodepy.nix | 34 ++++++++++++++++++++++++++++++++ pkgs/qbit-manage.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 pkgs/bencodepy.nix create mode 100644 pkgs/qbit-manage.nix diff --git a/pkgs/bencodepy.nix b/pkgs/bencodepy.nix new file mode 100644 index 0000000..7c7eff0 --- /dev/null +++ b/pkgs/bencodepy.nix @@ -0,0 +1,34 @@ +{ + lib, + python3, + fetchPypi, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "bencodepy"; + version = "0.9.5"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-r0chNNc+pY7as8LLLyz2HrnXg5CChMPS1bHP0434ZLg="; + extension = "zip"; + }; + + build-system = [ + python3.pkgs.setuptools + python3.pkgs.wheel + ]; + + pythonImportsCheck = [ + "bencodepy" + ]; + + meta = { + description = "Bencode encoder/decoder written in Python 3 under the GPLv2"; + homepage = "https://pypi.org/project/bencodepy/"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ CaptainJawZ ]; + mainProgram = "bencodepy"; + }; +} diff --git a/pkgs/qbit-manage.nix b/pkgs/qbit-manage.nix new file mode 100644 index 0000000..ae4ef9c --- /dev/null +++ b/pkgs/qbit-manage.nix @@ -0,0 +1,46 @@ +{ + lib, + python3, + fetchFromGitHub, + callPackage, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "qbit-manage"; + version = "4.1.14"; + pyproject = true; + + src = fetchFromGitHub { + owner = "StuffAnThings"; + repo = "qbit_manage"; + rev = "v${version}"; + hash = "sha256-JTQZlJ2d0oOpT8lIf9mgQ/onTs5jiWfvzFx0XBjbCQo="; + }; + + build-system = [ + python3.pkgs.setuptools + python3.pkgs.wheel + ]; + + dependencies = with python3.pkgs; [ + croniter + gitpython + humanize + pytimeparse2 + qbittorrent-api + requests + retrying + ruamel-yaml + schedule + (callPackage ./bencodepy.nix { }) + ]; + + meta = { + description = "This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more"; + homepage = "https://github.com/StuffAnThings/qbit_manage"; + changelog = "https://github.com/StuffAnThings/qbit_manage/blob/${src.rev}/CHANGELOG"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ CaptainJawZ ]; + mainProgram = "qbit-manage"; + }; +}