biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / isso / default.nix
blobf7cedae7cf1c392804e14c374b3124df7ffdfecf
1 { pkgs, nodejs, lib, python3Packages, fetchFromGitHub, nixosTests, fetchNpmDeps, npmHooks }:
3 with python3Packages;
5 buildPythonApplication rec {
6   pname = "isso";
7   version = "0.13.0";
9   src = fetchFromGitHub {
10     owner = "posativ";
11     repo = pname;
12     rev = "refs/tags/${version}";
13     sha256 = "sha256-kZNf7Rlb1DZtQe4dK1B283OkzQQcCX+pbvZzfL65gsA=";
14   };
16   npmDeps = fetchNpmDeps {
17     inherit src;
18     hash = "sha256-RBpuhFI0hdi8bB48Pks9Ac/UdcQ/DJw+WFnNj5f7IYE=";
19   };
21   outputs = [
22     "out"
23     "doc"
24   ];
26   postPatch = ''
27     # Remove when https://github.com/posativ/isso/pull/973 is available.
28     substituteInPlace isso/tests/test_comments.py \
29       --replace "self.client.delete_cookie('localhost.local', '1')" "self.client.delete_cookie(key='1', domain='localhost')"
30   '';
32   propagatedBuildInputs = [
33     itsdangerous
34     jinja2
35     misaka
36     html5lib
37     werkzeug
38     bleach
39     flask-caching
40   ];
42   nativeBuildInputs = [
43     cffi
44     sphinxHook
45     sphinx
46     nodejs
47     npmHooks.npmConfigHook
48   ];
50   NODE_PATH = "$npmDeps";
52   preBuild = ''
53     ln -s ${npmDeps}/node_modules ./node_modules
54     export PATH="${npmDeps}/bin:$PATH"
56     make js
57   '';
59   nativeCheckInputs = [
60     pytest
61     pytest-cov
62   ];
64   checkPhase = ''
65     pytest
66   '';
68   passthru.tests = { inherit (nixosTests) isso; };
70   meta = with lib; {
71     description = "A commenting server similar to Disqus";
72     mainProgram = "isso";
73     homepage = "https://posativ.org/isso/";
74     license = licenses.mit;
75     maintainers = with maintainers; [ fgaz ];
76   };