summary refs log tree commit diff
path: root/pkgs/tools/misc/bonfire/default.nix
blob: f71d8a8b8ef3f5bd5b47931d71492f5a9ad79478 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{ lib, python3Packages, fetchFromGitHub }:

with python3Packages;

buildPythonApplication rec {
  pname = "bonfire";
  version = "unstable-2017-01-19";

  # use latest git version with --endpoint flag
  # https://github.com/blue-yonder/bonfire/pull/18
  src = fetchFromGitHub {
    owner = "blue-yonder";
    repo = pname;
    rev = "d0af9ca10394f366cfa3c60f0741f1f0918011c2";
    sha256 = "193zcvzbhxwwkwbgmnlihhhazwkajycxf4r71jz1m12w301sjhq5";
  };

  postPatch = ''
    # https://github.com/blue-yonder/bonfire/pull/24
    substituteInPlace requirements.txt \
      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4" \
      --replace "keyring>=9,<10"    "keyring>=9" \
      --replace "click>=3.3,<7"     "click>=3.3"
    # pip fails when encountering the git hash for the package version
    substituteInPlace setup.py \
      --replace "version=version," "version='${version}',"
    # remove extraneous files
    substituteInPlace setup.cfg \
      --replace "data_files = *.rst, *.txt" ""
  '';

  buildInputs = [ httpretty pytest pytest-cov ];

  preCheck = ''
    # fix compatibility with pytest 4
    substituteInPlace setup.cfg --replace "[pytest]" "[tool:pytest]"
  '';

  propagatedBuildInputs = [ arrow click keyring parsedatetime requests six termcolor ];

  meta = with lib; {
    homepage = "https://pypi.python.org/pypi/bonfire";
    description = "CLI Graylog Client with Follow Mode";
    license = licenses.bsd3;
    maintainers = [ maintainers.womfoo ];
    platforms = platforms.linux;
    broken = true; # no longer compatible with new arrow package
  };
}