buildbot: assorted cleanups
Some changes to be more idiomatic and use stdenv building blocks more. I also added a `buildbot.withPlugins` instead of the current plugins mechanism, which forces an unnecessary rebuild of the package and reruns all the tests. This should be equivalent and more pleasant to use in practice.
This commit is contained in:
parent
ebeb722e14
commit
49b20e5569
@ -1,76 +1,83 @@
|
|||||||
{ stdenv, lib, fetchurl, coreutils, openssh, buildbot-worker, makeWrapper,
|
{ stdenv, lib, openssh, buildbot-worker, pythonPackages, runCommand, makeWrapper }:
|
||||||
pythonPackages, gnused, plugins ? [] }:
|
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication (rec {
|
let
|
||||||
name = "${pname}-${version}";
|
withPlugins = plugins: runCommand "wrapped-${package.name}" {
|
||||||
pname = "buildbot";
|
buildInputs = [ makeWrapper ];
|
||||||
version = "0.9.4";
|
passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
|
||||||
src = fetchurl {
|
} ''
|
||||||
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
|
makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
|
||||||
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
|
--prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" pythonPackages.python.sitePackages plugins}
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with pythonPackages; [
|
|
||||||
lz4
|
|
||||||
txrequests
|
|
||||||
pyjade
|
|
||||||
boto3
|
|
||||||
moto
|
|
||||||
txgithub
|
|
||||||
mock
|
|
||||||
setuptoolsTrial
|
|
||||||
isort
|
|
||||||
pylint
|
|
||||||
astroid
|
|
||||||
pyflakes
|
|
||||||
openssh
|
|
||||||
buildbot-worker
|
|
||||||
makeWrapper
|
|
||||||
treq
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [
|
|
||||||
|
|
||||||
# core
|
|
||||||
twisted
|
|
||||||
jinja2
|
|
||||||
zope_interface
|
|
||||||
sqlalchemy
|
|
||||||
sqlalchemy_migrate
|
|
||||||
future
|
|
||||||
dateutil
|
|
||||||
txaio
|
|
||||||
autobahn
|
|
||||||
pyjwt
|
|
||||||
|
|
||||||
# tls
|
|
||||||
pyopenssl
|
|
||||||
service-identity
|
|
||||||
idna
|
|
||||||
|
|
||||||
# docs
|
|
||||||
sphinx
|
|
||||||
sphinxcontrib-blockdiag
|
|
||||||
sphinxcontrib-spelling
|
|
||||||
pyenchant
|
|
||||||
docutils
|
|
||||||
ramlfications
|
|
||||||
sphinx-jinja
|
|
||||||
|
|
||||||
] ++ plugins;
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
${gnused}/bin/sed -i 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
package = pythonPackages.buildPythonApplication (rec {
|
||||||
makeWrapper $out/bin/.buildbot-wrapped $out/bin/buildbot --set PYTHONPATH "$PYTHONPATH"
|
name = "${pname}-${version}";
|
||||||
'';
|
pname = "buildbot";
|
||||||
|
version = "0.9.4";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
src = pythonPackages.fetchPypi {
|
||||||
homepage = http://buildbot.net/;
|
inherit pname version;
|
||||||
description = "Continuous integration system that automates the build/test cycle";
|
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
|
||||||
maintainers = with maintainers; [ nand0p ryansydnor ];
|
};
|
||||||
license = licenses.gpl2;
|
|
||||||
};
|
buildInputs = with pythonPackages; [
|
||||||
})
|
lz4
|
||||||
|
txrequests
|
||||||
|
pyjade
|
||||||
|
boto3
|
||||||
|
moto
|
||||||
|
txgithub
|
||||||
|
mock
|
||||||
|
setuptoolsTrial
|
||||||
|
isort
|
||||||
|
pylint
|
||||||
|
astroid
|
||||||
|
pyflakes
|
||||||
|
openssh
|
||||||
|
buildbot-worker
|
||||||
|
treq
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
|
||||||
|
# core
|
||||||
|
twisted
|
||||||
|
jinja2
|
||||||
|
zope_interface
|
||||||
|
sqlalchemy
|
||||||
|
sqlalchemy_migrate
|
||||||
|
future
|
||||||
|
dateutil
|
||||||
|
txaio
|
||||||
|
autobahn
|
||||||
|
pyjwt
|
||||||
|
|
||||||
|
# tls
|
||||||
|
pyopenssl
|
||||||
|
service-identity
|
||||||
|
idna
|
||||||
|
|
||||||
|
# docs
|
||||||
|
sphinx
|
||||||
|
sphinxcontrib-blockdiag
|
||||||
|
sphinxcontrib-spelling
|
||||||
|
pyenchant
|
||||||
|
docutils
|
||||||
|
ramlfications
|
||||||
|
sphinx-jinja
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = { inherit withPlugins; };
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://buildbot.net/;
|
||||||
|
description = "Continuous integration system that automates the build/test cycle";
|
||||||
|
maintainers = with maintainers; [ nand0p ryansydnor ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in package
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchurl, gnused, coreutils, pythonPackages }:
|
{ stdenv, pythonPackages }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication (rec {
|
pythonPackages.buildPythonApplication (rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
pname = "buildbot-worker";
|
pname = "buildbot-worker";
|
||||||
version = "0.9.4";
|
version = "0.9.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = pythonPackages.fetchPypi {
|
||||||
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
|
inherit pname version;
|
||||||
sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj";
|
sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication (rec {
|
|||||||
propagatedBuildInputs = with pythonPackages; [ twisted future ];
|
propagatedBuildInputs = with pythonPackages; [ twisted future ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
${gnused}/bin/sed -i 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot_worker/scripts/logwatcher.py
|
substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -6220,12 +6220,8 @@ with pkgs;
|
|||||||
buildbot-plugins = callPackage ../development/tools/build-managers/buildbot/plugins.nix {
|
buildbot-plugins = callPackage ../development/tools/build-managers/buildbot/plugins.nix {
|
||||||
pythonPackages = python2Packages;
|
pythonPackages = python2Packages;
|
||||||
};
|
};
|
||||||
buildbot-ui = self.buildbot.override {
|
buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
|
||||||
plugins = with self.buildbot-plugins; [ www ];
|
buildbot-full = buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view ]);
|
||||||
};
|
|
||||||
buildbot-full = self.buildbot.override {
|
|
||||||
plugins = with self.buildbot-plugins; [ www console-view waterfall-view ];
|
|
||||||
};
|
|
||||||
|
|
||||||
buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
|
buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user