diff --git a/pkgs/by-name/ca/castero/package.nix b/pkgs/by-name/ca/castero/package.nix new file mode 100644 index 000000000000..6359c5c69536 --- /dev/null +++ b/pkgs/by-name/ca/castero/package.nix @@ -0,0 +1,67 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "castero"; + version = "0.9.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "xgi"; + repo = "castero"; + rev = "v${version}"; + hash = "sha256-6/7oCKBMEcQeJ8PaFP15Xef9sQRYCpigtzINv2M6GUY="; + }; + + nativeBuildInputs = with python3.pkgs; [ + setuptools + wheel + ]; + + propagatedBuildInputs = with python3.pkgs; [ + requests + grequests + cjkwrap + pytz + beautifulsoup4 + lxml + mpv + python-vlc + ]; + + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "tests" + ]; + + disabledTests = [ "test_datafile_download" ]; + + pythonImportCheck = [ + "castero" + ]; + + # Resolve configuration tests, which access $HOME + preCheck = '' + export HOME=$(mktemp -d) + ''; + + # Satisfy the python-mpv depedency, which is mpv within NixOS + postPatch = '' + substituteInPlace setup.py --replace-fail "python-mpv" "mpv" + ''; + + # VLC currently doesn't support Darwin on NixOS + meta = with lib; { + mainProgram = "castero"; + description = "TUI podcast client for the terminal"; + homepage = "https://github.com/xgi/castero"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ keto ]; + }; +}