Merge pull request #225195 from Mic92/buildbot

buildbot: move out of python3.pkgs

Changed files
+68 -31
nixos
modules
services
continuous-integration
tests
pkgs
+6 -5
nixos/modules/services/continuous-integration/buildbot/master.nix
···
cfg = config.services.buildbot-master;
opt = options.services.buildbot-master;
-
python = cfg.package.pythonModule;
+
package = pkgs.python3.pkgs.toPythonModule cfg.package;
+
python = package.pythonModule;
escapeStr = escape [ "'" ];
···
package = mkOption {
type = types.package;
-
default = pkgs.python3Packages.buildbot-full;
-
defaultText = literalExpression "pkgs.python3Packages.buildbot-full";
+
default = pkgs.buildbot-full;
+
defaultText = literalExpression "pkgs.buildbot-full";
description = lib.mdDoc "Package to use for buildbot.";
-
example = literalExpression "pkgs.python3Packages.buildbot";
+
example = literalExpression "pkgs.buildbot";
};
packages = mkOption {
···
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
path = cfg.packages ++ cfg.pythonPackages python.pkgs;
-
environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ cfg.package ])}/${python.sitePackages}";
+
environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ package ])}/${python.sitePackages}";
preStart = ''
mkdir -vp "${cfg.buildbotDir}"
+4 -3
nixos/modules/services/continuous-integration/buildbot/worker.nix
···
cfg = config.services.buildbot-worker;
opt = options.services.buildbot-worker;
-
python = cfg.package.pythonModule;
+
package = pkgs.python3.pkgs.toPythonModule cfg.package;
+
python = package.pythonModule;
tacFile = pkgs.writeText "aur-buildbot-worker.tac" ''
import os
···
package = mkOption {
type = types.package;
-
default = pkgs.python3Packages.buildbot-worker;
+
default = pkgs.buildbot-worker;
defaultText = literalExpression "pkgs.python3Packages.buildbot-worker";
description = lib.mdDoc "Package to use for buildbot worker.";
example = literalExpression "pkgs.python2Packages.buildbot-worker";
···
after = [ "network.target" "buildbot-master.service" ];
wantedBy = [ "multi-user.target" ];
path = cfg.packages;
-
environment.PYTHONPATH = "${python.withPackages (p: [ cfg.package ])}/${python.sitePackages}";
+
environment.PYTHONPATH = "${python.withPackages (p: [ package ])}/${python.sitePackages}";
preStart = ''
mkdir -vp "${cfg.buildbotDir}/info"
+2 -2
nixos/tests/buildbot.nix
···
];
};
networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ];
-
environment.systemPackages = with pkgs; [ git python3Packages.buildbot-full ];
+
environment.systemPackages = with pkgs; [ git buildbot-full ];
};
bbworker = { pkgs, ... }: {
···
enable = true;
masterUrl = "bbmaster:9989";
};
-
environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ];
+
environment.systemPackages = with pkgs; [ git buildbot-worker ];
};
gitrepo = { pkgs, ... }: {
+5 -3
pkgs/development/python-modules/buildbot/default.nix pkgs/development/tools/continuous-integration/buildbot/master.nix
···
{ lib
, stdenv
, buildPythonPackage
+
, buildPythonApplication
, fetchPypi
, makeWrapper
, pythonOlder
···
, lz4
, setuptoolsTrial
, buildbot-worker
-
, buildbot-pkg
, buildbot-plugins
+
, buildbot-pkg
, parameterized
, git
, openssh
, glibcLocales
, nixosTests
+
, callPackage
}:
let
-
withPlugins = plugins: buildPythonPackage {
+
withPlugins = plugins: buildPythonApplication {
pname = "${package.pname}-with-plugins";
inherit (package) version;
format = "other";
···
};
};
-
package = buildPythonPackage rec {
+
package = buildPythonApplication rec {
pname = "buildbot";
version = "3.7.0";
format = "setuptools";
pkgs/development/python-modules/buildbot/pkg.nix pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+1 -2
pkgs/development/python-modules/buildbot/plugins.nix pkgs/development/tools/continuous-integration/buildbot/plugins.nix
···
-
{ lib, buildPythonPackage, fetchPypi, buildbot-pkg, mock, cairosvg, klein, jinja2 }:
-
+
{ lib, buildPythonPackage, fetchPypi, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg }:
{
www = buildPythonPackage rec {
pname = "buildbot-www";
pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch
pkgs/development/python-modules/buildbot/update.sh pkgs/development/tools/continuous-integration/buildbot/update.sh
pkgs/development/python-modules/buildbot/worker.nix pkgs/development/tools/continuous-integration/buildbot/worker.nix
+42
pkgs/development/tools/continuous-integration/buildbot/default.nix
···
+
{ python3
+
, recurseIntoAttrs
+
, callPackage
+
}:
+
let
+
python = python3.override {
+
packageOverrides = self: super: {
+
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
+
version = "1.4.40";
+
src = super.fetchPypi {
+
pname = "SQLAlchemy";
+
inherit version;
+
hash = "sha256-RKZgUGCAzJdeHfpXdv5fYxXdxiane1C/Du4YsDieomU=";
+
};
+
});
+
moto = super.moto.overridePythonAttrs (oldAttrs: rec {
+
# a lot of tests -> very slow, we already build them when building python packages
+
doCheck = false;
+
});
+
};
+
};
+
+
buildbot-pkg = python.pkgs.callPackage ./pkg.nix {
+
inherit buildbot;
+
};
+
buildbot-worker = python3.pkgs.callPackage ./worker.nix {
+
inherit buildbot;
+
};
+
buildbot = python.pkgs.callPackage ./master.nix {
+
inherit buildbot-pkg buildbot-worker buildbot-plugins;
+
};
+
buildbot-plugins = recurseIntoAttrs (callPackage ./plugins.nix {
+
inherit buildbot-pkg;
+
});
+
in
+
{
+
inherit buildbot buildbot-plugins buildbot-worker;
+
buildbot-ui = buildbot.withPlugins (with buildbot-plugins; [ www ]);
+
buildbot-full = buildbot.withPlugins (with buildbot-plugins; [
+
www console-view waterfall-view grid-view wsgi-dashboards badges
+
]);
+
}
+2 -4
pkgs/top-level/all-packages.nix
···
bucklespring-libinput = callPackage ../applications/audio/bucklespring { };
bucklespring-x11 = callPackage ../applications/audio/bucklespring { legacy = true; };
-
buildbot = with python3Packages; toPythonApplication buildbot;
-
buildbot-ui = with python3Packages; toPythonApplication buildbot-ui;
-
buildbot-full = with python3Packages; toPythonApplication buildbot-full;
-
buildbot-worker = with python3Packages; toPythonApplication buildbot-worker;
+
inherit (python3.pkgs.callPackage ../development/tools/continuous-integration/buildbot {})
+
buildbot buildbot-ui buildbot-full buildbot-plugins buildbot-worker;
bunyan-rs = callPackage ../development/tools/bunyan-rs { };
+6
pkgs/top-level/python-aliases.nix
···
blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
bsblan = python-bsblan; # added 2022-11-04
btchip = btchip-python; # added 2023-03-03
+
buildbot = throw "use pkgs.buildbot instead"; # added 2022-04-07
+
buildbot-ui = throw "use pkgs.buildbot-ui instead"; # added 2022-04-07
+
buildbot-full = throw "use pkgs.buildbot-full instead"; # added 2022-04-07
+
buildbot-plugins = throw "use pkgs.buildbot-plugins instead"; # added 2022-04-07
+
buildbot-worker = throw "use pkgs.buildbot-worker instead"; # added 2022-04-07
+
buildbot-pkg = throw "buildbot-pkg has been removed, it's only internally used in buildbot"; # added 2022-04-07
bt_proximity = bt-proximity; # added 2021-07-02
BTrees = btrees; # added 2023-02-19
carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18
-12
pkgs/top-level/python-packages.nix
···
buienradar = callPackage ../development/python-modules/buienradar { };
-
buildbot = callPackage ../development/python-modules/buildbot { };
-
-
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 ]);
-
-
buildbot-pkg = callPackage ../development/python-modules/buildbot/pkg.nix { };
-
-
buildbot-plugins = pkgs.recurseIntoAttrs (callPackage ../development/python-modules/buildbot/plugins.nix { });
-
-
buildbot-worker = callPackage ../development/python-modules/buildbot/worker.nix { };
-
build = callPackage ../development/python-modules/build { };
buildcatrust = callPackage ../development/python-modules/buildcatrust { };