15 buildPythonPackage rec {
18 format = "setuptools";
20 inherit pname version;
21 hash = "sha256-nXTqsJNX/LwAglPcPZkmdYPfF+vDLN+nNdZaDFTrHzE=";
24 # Update this hash if bumping versions
25 jarHash = "sha256-x2KH6tnoG7sogtjrJvUaxy0PCEA8q/zneuI969oBOKo=";
26 skeinJar = callPackage ./skeinjar.nix { inherit pname version jarHash; };
28 propagatedBuildInputs = [ cryptography grpcio pyyaml ];
29 buildInputs = [ grpcio-tools ];
32 # Ensure skein.jar exists skips the maven build in setup.py
34 ln -s ${skeinJar} skein/java/skein.jar
38 substituteInPlace skein/core.py --replace "'yarn'" "'${hadoop}/bin/yarn'" \
39 --replace "else 'java'" "else '${hadoop.jdk}/bin/java'"
42 pythonImportsCheck = [ "skein" ];
44 nativeCheckInputs = [ pytestCheckHook ];
45 # These tests require connecting to a YARN cluster. They could be done through NixOS tests later.
55 homepage = "https://jcristharif.com/skein";
56 description = "A tool and library for easily deploying applications on Apache YARN";
57 mainProgram = "skein";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ alexbiehl illustris ];
60 # https://github.com/NixOS/nixpkgs/issues/48663#issuecomment-1083031627
61 # replace with https://github.com/NixOS/nixpkgs/pull/140325 once it is merged
62 broken = lib.traceIf isPy27 "${pname} not supported on ${python.executable}" isPy27;