python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / admin / elasticsearch-curator / default.nix
blob576df67ad5fd0bc596f190d7d2f42cbbf54e4b6e
1 { lib, fetchFromGitHub, python3 }:
3 let
4   python = python3.override {
5     packageOverrides = self: super: {
6       click = super.click.overridePythonAttrs (old: rec {
7         version = "7.1.2";
8         src = old.src.override {
9           inherit version;
10           sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
11         };
12       });
13       requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
14         doCheck = false; # requires click>=8.0
15       });
16     };
17   };
18 in python.pkgs.buildPythonApplication rec {
19   pname   = "elasticsearch-curator";
20   version = "5.8.4";
22   format = "setuptools";
24   src = fetchFromGitHub {
25     owner = "elastic";
26     repo = "curator";
27     rev = "v${version}";
28     hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
29   };
31   postPatch = ''
32     substituteInPlace setup.cfg \
33       --replace "urllib3==1.26.4" "urllib3"
34     substituteInPlace setup.py \
35       --replace "urllib3==1.26.4" "urllib3" \
36       --replace "pyyaml==5.4.1" "pyyaml"
37   '';
39   propagatedBuildInputs = with python.pkgs; [
40     elasticsearch
41     urllib3
42     requests
43     boto3
44     requests-aws4auth
45     click
46     pyyaml
47     voluptuous
48     certifi
49     six
50   ];
52   checkInputs = with python.pkgs; [
53     mock
54     pytestCheckHook
55   ];
57   disabledTestPaths = [
58     "test/integration" # requires running elasticsearch
59   ];
61   disabledTests = [
62     # access network
63     "test_api_key_not_set"
64     "test_api_key_set"
65   ];
67   meta = with lib; {
68     homepage = "https://github.com/elastic/curator";
69     description = "Curate, or manage, your Elasticsearch indices and snapshots";
70     license = licenses.asl20;
71     longDescription = ''
72       Elasticsearch Curator helps you curate, or manage, your Elasticsearch
73       indices and snapshots by:
75       * Obtaining the full list of indices (or snapshots) from the cluster, as the
76         actionable list
78       * Iterate through a list of user-defined filters to progressively remove
79         indices (or snapshots) from this actionable list as needed.
81       * Perform various actions on the items which remain in the actionable list.
82     '';
83     maintainers = with maintainers; [ basvandijk ];
84   };