jenkins: 2.479.3 -> 2.492.1
[NixPkgs.git] / pkgs / applications / version-management / sourcehut / builds.nix
blobe4ef91162b11f7fd9ceb5171fe16da97dc9b9b52
2   lib,
3   fetchFromSourcehut,
4   buildGoModule,
5   buildPythonPackage,
6   srht,
7   redis,
8   celery,
9   pyyaml,
10   markdown,
11   ansi2html,
12   lxml,
13   python,
14   unzip,
15   pip,
16   pythonOlder,
17   setuptools,
19 let
20   version = "0.89.15";
21   gqlgen = import ./fix-gqlgen-trimpath.nix {
22     inherit unzip;
23     gqlgenVersion = "0.17.39";
24   };
26   src = fetchFromSourcehut {
27     owner = "~sircmpwn";
28     repo = "builds.sr.ht";
29     rev = version;
30     hash = "sha256-rmNaBnTPDDQO/ImkGkMwW8fyjQyBUBchTEnbtAK24pw=";
31   };
33   buildsrht-api = buildGoModule (
34     {
35       inherit src version;
36       pname = "buildsrht-api";
37       modRoot = "api";
38       vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q=";
39     }
40     // gqlgen
41   );
43   buildsrht-worker = buildGoModule (
44     {
45       inherit src version;
46       pname = "buildsrht-worker";
47       modRoot = "worker";
48       vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q=";
49     }
50     // gqlgen
51   );
53 buildPythonPackage rec {
54   inherit src version;
55   pname = "buildsrht";
56   pyproject = true;
58   disabled = pythonOlder "3.7";
60   postPatch = ''
61     substituteInPlace Makefile \
62       --replace "all: api worker" ""
63   '';
65   nativeBuildInputs = [
66     pip
67     setuptools
68   ];
70   propagatedBuildInputs = [
71     srht
72     redis
73     celery
74     pyyaml
75     markdown
76     # Unofficial dependencies
77     ansi2html
78     lxml
79   ];
81   preBuild = ''
82     export PKGVER=${version}
83     export SRHT_PATH=${srht}/${python.sitePackages}/srht
84   '';
86   postInstall = ''
87     mkdir -p $out/lib
88     mkdir -p $out/bin/builds.sr.ht
90     cp -r images $out/lib
91     cp contrib/submit_image_build $out/bin/builds.sr.ht
92     ln -s ${buildsrht-api}/bin/api $out/bin/buildsrht-api
93     ln -s ${buildsrht-worker}/bin/worker $out/bin/buildsrht-worker
94   '';
96   pythonImportsCheck = [ "buildsrht" ];
98   meta = with lib; {
99     homepage = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
100     description = "Continuous integration service for the sr.ht network";
101     license = licenses.agpl3Only;
102     maintainers = with maintainers; [
103       eadwu
104       christoph-heiss
105     ];
106   };