nixpkgs/pkgs/development/tools/continuous-integration/buildbot/default.nix
Jade Lovelace ebf346ff04 buildbot: tie the knot through a scope to make it overridable
Currently it is impossible to overlay buildbot since all the references
between components are directly bound to the values in scope. Let's fix
this by introducing a scope so you can overrideScope parts of buildbot.

I also changed buildbot-worker to use our overridden python, which is no
functional change, but makes things more consistent.
2024-03-08 13:42:17 -08:00

32 lines
961 B
Nix

{ lib
, newScope
, python3
, recurseIntoAttrs
}:
# Take packages from self first, then python.pkgs (and secondarily pkgs)
lib.makeScope (self: newScope (self.python.pkgs // self)) (self: {
python = python3.override {
packageOverrides = self: super: {
sqlalchemy = super.sqlalchemy_1_4;
moto = super.moto.overridePythonAttrs (oldAttrs: {
# a lot of tests -> very slow, we already build them when building python packages
doCheck = false;
});
};
};
buildbot-pkg = self.callPackage ./pkg.nix { };
buildbot-worker = self.callPackage ./worker.nix { };
buildbot = self.callPackage ./master.nix { };
buildbot-plugins = recurseIntoAttrs (self.callPackage ./plugins.nix { });
buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [
www console-view waterfall-view grid-view wsgi-dashboards badges
]);
})