diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6f81c17e2b0b..67d7bbc206d4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13949,6 +13949,18 @@ githubId = 6931743; name = "pasqui23"; }; + passivelemon = { + email = "jeremyseber@gmail.com"; + github = "PassiveLemon"; + githubId = 72527881; + name = "PassiveLemon"; + }; + patricksjackson = { + email = "patrick@jackson.dev"; + github = "patricksjackson"; + githubId = 160646; + name = "Patrick Jackson"; + }; patryk27 = { email = "pwychowaniec@pm.me"; github = "Patryk27"; diff --git a/pkgs/applications/video/animdl/default.nix b/pkgs/applications/video/animdl/default.nix new file mode 100644 index 000000000000..3f1be6f5833a --- /dev/null +++ b/pkgs/applications/video/animdl/default.nix @@ -0,0 +1,63 @@ +{ lib, + buildPythonApplication, + fetchFromGitHub, + poetry-core, + anchor-kr, + anitopy, + click, + cssselect, + httpx, + lxml, + packaging, + pkginfo, + pycryptodomex, + pyyaml, + regex, + rich, + tqdm, + yarl +}: +buildPythonApplication { + pname = "animdl"; + version = "1.7.27"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "justfoolingaround"; + repo = "animdl"; + # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/animdl/issues/277 + rev = "c7c3b79198e66695e0bbbc576f9d9b788616957f"; + hash = "sha256-kn6vCCFhJNlruxoO+PTHVIwTf1E5j1aSdBhrFuGzUq4="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + propagatedBuildInputs = [ + anchor-kr + anitopy + click + cssselect + httpx + lxml + packaging + pkginfo + pycryptodomex + pyyaml + regex + rich + tqdm + yarl + ]; + + doCheck = true; + + meta = with lib; { + description = "A highly efficient, powerful and fast anime scraper"; + homepage = "https://github.com/justfoolingaround/animdl"; + license = licenses.gpl3Only; + mainProgram = "animdl"; + maintainers = with maintainers; [ passivelemon ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/python-modules/anchor-kr/default.nix b/pkgs/development/python-modules/anchor-kr/default.nix new file mode 100644 index 000000000000..32ce534e6b6b --- /dev/null +++ b/pkgs/development/python-modules/anchor-kr/default.nix @@ -0,0 +1,26 @@ +{ lib, + buildPythonPackage, + fetchFromGitHub +}: +buildPythonPackage { + pname = "anchor"; + version = "3"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "justfoolingaround"; + repo = "anchor"; + # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/anchor/issues/1 + rev = "4cedb6a51877ed3a292cad61eb19013382915e86"; + hash = "sha256-t75IFBSz6ncHRqXRxbrM9EQdr8xPXjSd9di+/y2LegE="; + }; + + pythonImportsCheck = [ "anchor" ]; + + meta = with lib; { + description = "Python library for scraping"; + homepage = "https://github.com/justfoolingaround/anchor"; + license = licenses.unfree; + maintainers = with maintainers; [ passivelemon ]; + }; +} diff --git a/pkgs/development/python-modules/anitopy/default.nix b/pkgs/development/python-modules/anitopy/default.nix new file mode 100644 index 000000000000..313f9631154e --- /dev/null +++ b/pkgs/development/python-modules/anitopy/default.nix @@ -0,0 +1,26 @@ +{ lib, + buildPythonPackage, + fetchFromGitHub +}: +buildPythonPackage rec { + pname = "anitopy"; + version = "2.1.1"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "igorcmoura"; + repo = "anitopy"; + rev = "v${version}"; + hash = "sha256-xXEf7AJKg7grDmkKfFuC4Fk6QYFJtezClyfA3vq8TfQ="; + }; + + pythonImportsCheck = [ "anitopy" ]; + doCheck = true; + + meta = with lib; { + description = "Python library for parsing anime video filenames"; + homepage = "https://github.com/igorcmoura/anitopy"; + license = licenses.mpl20; + maintainers = with maintainers; [ passivelemon ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 274e3bc36e98..b55bb7b37463 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -42132,4 +42132,6 @@ with pkgs; mdhtml = callPackage ../tools/text/mdhtml { }; insulator2 = callPackage ../applications/misc/insulator2 {}; + + animdl = python3Packages.callPackage ../applications/video/animdl { }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b40753d04196..d285a37393a6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -516,6 +516,8 @@ self: super: with self; { amqtt = callPackage ../development/python-modules/amqtt { }; + anchor-kr = callPackage ../development/python-modules/anchor-kr { }; + ancp-bids = callPackage ../development/python-modules/ancp-bids { }; android-backup = callPackage ../development/python-modules/android-backup { }; @@ -538,6 +540,8 @@ self: super: with self; { aniso8601 = callPackage ../development/python-modules/aniso8601 { }; + anitopy = callPackage ../development/python-modules/anitopy { }; + annexremote = callPackage ../development/python-modules/annexremote { }; annotated-types = callPackage ../development/python-modules/annotated-types { };