2 description = "The continuous integration framework";
3 inputs.flake-utils.url = "github:numtide/flake-utils";
5 url = "github:NixOS/nixpkgs/840c782d507d60aaa49aa9e3f6d0b0e780912742";
9 url = "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist";
13 outputs = { self, nixpkgs, flake-utils, buildslist }: flake-utils.lib.eachSystem ["x86_64-linux"] (system:
15 pkgs = import nixpkgs { inherit system; overlays = []; };
16 python = pkgs.python38;
17 wokkel = python.pkgs.buildPythonPackage rec {
20 src = python.pkgs.fetchPypi {
21 inherit pname version;
22 sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016";
24 propagatedBuildInputs = with python.pkgs; [ twisted.extras.tls twisted incremental dateutil ];
27 buildbot_common = python.pkgs.buildPythonPackage {
28 name = "buildbot_common";
29 src = ../../../modules/private/buildbot/common;
32 mkdir -p $out/${python.sitePackages}
33 cp -a $src $out/${python.sitePackages}/buildbot_common
36 buildbot-full = python.pkgs.buildbot-full.withPlugins [ buildslist-plugin ] // {
37 inherit buildbot_common;
38 buildbot_config = project: python.pkgs.buildPythonPackage (rec {
39 name = "buildbot_config-${project.name}";
40 src = ../../../modules/private/buildbot/projects + "/${project.name}";
43 mkdir -p $out/${python.sitePackages}
44 cp -a $src $out/${python.sitePackages}/buildbot_config
47 common_packages = pkgs: [
48 pkgs.libvirt pkgs.treq pkgs.ldap3 buildbot-full
49 pkgs.buildbot-worker pkgs.pip buildbot_common wokkel
52 buildslist-plugin = pkgs.callPackage ./buildslist {
53 pythonPackages = python.pkgs;
54 buildslist_src = buildslist;
58 buildslist = buildslist-plugin;
59 buildbot-full = buildbot-full;
60 buildbot_common = buildbot_common;
62 defaultPackage = packages.buildbot-full;
63 legacyPackages = packages;
67 immae-buildbot = final: prev: {
68 immae-buildbot = self.defaultPackage."${final.system}";
71 overlay = overlays.immae-buildbot;