diff options
Diffstat (limited to 'pkgs/development/python-modules/skein/default.nix')
-rw-r--r-- | pkgs/development/python-modules/skein/default.nix | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/pkgs/development/python-modules/skein/default.nix b/pkgs/development/python-modules/skein/default.nix index 56e853f73e2e2..8dc3391e9e97a 100644 --- a/pkgs/development/python-modules/skein/default.nix +++ b/pkgs/development/python-modules/skein/default.nix @@ -2,26 +2,29 @@ , callPackage , fetchPypi , isPy27 -, jre , lib -, pythonPackages - +, cryptography +, grpcio +, pyyaml +, grpcio-tools +, hadoop +, pytestCheckHook +, python }: -let +buildPythonPackage rec { pname = "skein"; version = "0.8.1"; src = fetchPypi { inherit pname version; sha256 = "04208b4be9df2dc68ac5b3e3ae51fd9b589add95ea1b67222a8de754d17b1efa"; }; - skeinJar = callPackage ./skeinjar.nix { inherit src version; }; -in -buildPythonPackage rec { - inherit pname version src; - disabled = isPy27; + # Update this hash if bumping versions + jarHash = "sha256-UGiEoTZ17IhLG72FZ18Zb+Ej4T8z9rMIMDUxzSZGZyY="; + skeinJar = callPackage ./skeinjar.nix { inherit pname version jarHash; }; - propagatedBuildInputs = with pythonPackages; [ cryptography grpcio grpcio-tools jupyter pytest pyyaml requests jre ]; + propagatedBuildInputs = [ cryptography grpcio pyyaml ]; + buildInputs = [ grpcio-tools ]; preBuild = '' # Ensure skein.jar exists skips the maven build in setup.py @@ -29,12 +32,30 @@ buildPythonPackage rec { ln -s ${skeinJar} skein/java/skein.jar ''; + postPatch = '' + substituteInPlace skein/core.py --replace "'yarn'" "'${hadoop}/bin/yarn'" \ + --replace "else 'java'" "else '${hadoop.jdk}/bin/java'" + ''; + + pythonImportsCheck = [ "skein" ]; + + checkInputs = [ pytestCheckHook ]; + # These tests require connecting to a YARN cluster. They could be done through NixOS tests later. + disabledTests = [ + "test_ui" + "test_tornado" + "test_kv" + "test_core" + "test_cli" + ]; + meta = with lib; { homepage = "https://jcristharif.com/skein"; description = "A tool and library for easily deploying applications on Apache YARN"; license = licenses.bsd3; - maintainers = with maintainers; [ alexbiehl ]; - broken = true; # maven repo src isn't stable + maintainers = with maintainers; [ alexbiehl illustris ]; + # https://github.com/NixOS/nixpkgs/issues/48663#issuecomment-1083031627 + # replace with https://github.com/NixOS/nixpkgs/pull/140325 once it is merged + broken = lib.traceIf isPy27 "${pname} not supported on ${python.executable}" isPy27; }; - } |