diff options
Diffstat (limited to 'pkgs/development/python-modules/ua-parser/default.nix')
-rw-r--r-- | pkgs/development/python-modules/ua-parser/default.nix | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/ua-parser/default.nix b/pkgs/development/python-modules/ua-parser/default.nix index d2fc2461a446b..ec55add71d69d 100644 --- a/pkgs/development/python-modules/ua-parser/default.nix +++ b/pkgs/development/python-modules/ua-parser/default.nix @@ -1,20 +1,44 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyyaml +, pytestCheckHook +}: buildPythonPackage rec { pname = "ua-parser"; version = "0.10.0"; - src = fetchPypi { - inherit pname version; - sha256 = "0csh307zfz666kkk5idrw3crj1x8q8vsqgwqil0r1n1hs4p7ica7"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "ua-parser"; + repo = "uap-python"; + rev = version; + fetchSubmodules = true; + hash = "sha256-kaTAfUtHj2vH7i7eIU61efuB4/XVHoc/z6o3ny+sgrQ="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace '"pyyaml"' "" + patches = [ + ./dont-fetch-submodule.patch + ]; + + nativeBuildInputs = [ + pyyaml + ]; + + preBuild = '' + mkdir -p build/lib/ua_parser ''; - doCheck = false; # requires files from uap-core + checkInputs = [ + pytestCheckHook + ]; + + preCheck = '' + # import from $out + rm ua_parser/__init__.py + ''; pythonImportsCheck = [ "ua_parser" ]; |