diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix new file mode 100644 index 00000000000..d0c54c1acfb --- /dev/null +++ b/pkgs/development/python-modules/pytest-subprocess/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytest +, pytestCheckHook +, docutils +, pygments +}: + +buildPythonPackage rec { + pname = "pytest-subprocess"; + version = "1.0.1"; + + disabled = pythonOlder "3.4"; + + src = fetchFromGitHub { + owner = "aklajnert"; + repo = "pytest-subprocess"; + rev = version; + sha256 = "16ghwyv1vy45dd9cysjvcvvpm45958x071id2qrvgaziy2j6yx3j"; + }; + + buildInputs = [ + pytest + ]; + + checkInputs = [ + pytestCheckHook + docutils + pygments + ]; + + disabledTests = [ + "test_multiple_wait" # https://github.com/aklajnert/pytest-subprocess/issues/36 + ]; + + meta = with lib; { + description = "A plugin to fake subprocess for pytest"; + homepage = "https://github.com/aklajnert/pytest-subprocess"; + changelog = "https://github.com/aklajnert/pytest-subprocess/blob/${version}/HISTORY.rst"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix index 520af8404ae..5dc6e39f8d2 100644 --- a/pkgs/tools/audio/spotdl/default.nix +++ b/pkgs/tools/audio/spotdl/default.nix @@ -1,20 +1,30 @@ { lib , python3 , fetchFromGitHub +, fetchpatch , ffmpeg }: python3.pkgs.buildPythonApplication rec { pname = "spotdl"; - version = "3.5.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "v${version}"; - sha256 = "1nxf911hi578jw24hlcvyy33z1pkvr41pfrywbs3157rj1fj2vfi"; + sha256 = "sha256-Mc0aODyt0rwmBhkvY/gH1ODz4k8LOxyU5xXglSb6sPs="; }; + patches = [ + # https://github.com/spotDL/spotify-downloader/pull/1254 + (fetchpatch { + name = "subprocess-dont-use-shell.patch"; + url = "https://github.com/spotDL/spotify-downloader/commit/fe9848518900577776b463ef0798796201e226ac.patch"; + sha256 = "1kqq3y31dcx1zglywr564hkd2px3qx6sk3rkg7yz8n5hnfjhp6fn"; + }) + ]; + propagatedBuildInputs = with python3.pkgs; [ spotipy pytube @@ -32,6 +42,7 @@ python3.pkgs.buildPythonApplication rec { pytest-mock pytest-vcr pyfakefs + pytest-subprocess ]; makeWrapperArgs = [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8b67ba192c7..6fc8843a07d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5226,6 +5226,8 @@ in { pyshark = callPackage ../development/python-modules/pyshark { }; + pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { }; + python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; python-csxcad = callPackage ../development/python-modules/python-csxcad { };