1{ stdenv
2, lib
3, antlr4_9-python3-runtime
4, buildPythonPackage
5, fetchFromGitHub
6, importlib-resources
7, jre_headless
8, omegaconf
9, pytestCheckHook
10, pythonOlder
11}:
12
13buildPythonPackage rec {
14 pname = "hydra";
15 version = "1.2.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromGitHub {
21 owner = "facebookresearch";
22 repo = pname;
23 rev = "refs/tags/v${version}";
24 hash = "sha256-4r0ZWW9SGl35Oupf0ejwL/s6Nas6RoSN2egiBrvFZIA=";
25 };
26
27 nativeBuildInputs = [
28 jre_headless
29 ];
30
31 propagatedBuildInputs = [
32 antlr4_9-python3-runtime
33 omegaconf
34 ] ++ lib.optionals (pythonOlder "3.9") [
35 importlib-resources
36 ];
37
38 checkInputs = [
39 pytestCheckHook
40 ];
41
42 # Test environment setup broken under Nix for a few tests:
43 disabledTests = [
44 "test_bash_completion_with_dot_in_path"
45 "test_install_uninstall"
46 "test_config_search_path"
47 ];
48
49 disabledTestPaths = [
50 "tests/test_hydra.py"
51 ];
52
53 pythonImportsCheck = [
54 "hydra"
55 ];
56
57 meta = with lib; {
58 broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
59 description = "A framework for configuring complex applications";
60 homepage = "https://hydra.cc";
61 license = licenses.mit;
62 maintainers = with maintainers; [ bcdarwin ];
63 };
64}