Merge pull request #511 from bjornfor/buildbot
Buildbot version bump and add buildbot-slave
This commit is contained in:
commit
7a4b06e0e8
@ -0,0 +1,64 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
|
||||||
|
|
||||||
|
buildPythonPackage (rec {
|
||||||
|
name = "buildbot-slave-0.8.7p1";
|
||||||
|
namePrefix = "";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
|
||||||
|
sha256 = "1p7a0srab6ifljh9vi25awvxfrxljj9s0hi1jipiiykyhjihgnxv";
|
||||||
|
};
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace buildslave/scripts/logwatcher.py --replace /usr/bin/tail ${coreutils}/bin/tail
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ twisted ];
|
||||||
|
|
||||||
|
# What's up with this?! 'trial' should be 'test', no?
|
||||||
|
#
|
||||||
|
# running tests
|
||||||
|
# usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
|
||||||
|
# or: setup.py --help [cmd1 cmd2 ...]
|
||||||
|
# or: setup.py --help-commands
|
||||||
|
# or: setup.py cmd --help
|
||||||
|
#
|
||||||
|
# error: invalid command 'trial'
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p "$out/share/man/man1"
|
||||||
|
cp docs/buildslave.1 "$out/share/man/man1"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://buildbot.net/;
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
description = "Continuous integration system that automates the build/test cycle";
|
||||||
|
|
||||||
|
longDescription =
|
||||||
|
'' The BuildBot is a system to automate the compile/test cycle
|
||||||
|
required by most software projects to validate code changes. By
|
||||||
|
automatically rebuilding and testing the tree each time something
|
||||||
|
has changed, build problems are pinpointed quickly, before other
|
||||||
|
developers are inconvenienced by the failure. The guilty
|
||||||
|
developer can be identified and harassed without human
|
||||||
|
intervention. By running the builds on a variety of platforms,
|
||||||
|
developers who do not have the facilities to test their changes
|
||||||
|
everywhere before checkin will at least know shortly afterwards
|
||||||
|
whether they have broken the build or not. Warning counts, lint
|
||||||
|
checks, image size, compile time, and other build parameters can
|
||||||
|
be tracked over time, are more visible, and are therefore easier
|
||||||
|
to improve.
|
||||||
|
|
||||||
|
The overall goal is to reduce tree breakage and provide a platform
|
||||||
|
to run tests or code-quality checks that are too annoying or
|
||||||
|
pedantic for any human to waste their time with. Developers get
|
||||||
|
immediate (and potentially public) feedback about their changes,
|
||||||
|
encouraging them to be more careful about testing before checking
|
||||||
|
in code.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
@ -1,12 +1,20 @@
|
|||||||
{ fetchurl, stdenv, buildPythonPackage, twisted, texinfo }:
|
{ stdenv, buildPythonPackage, fetchurl, twisted, dateutil, jinja2
|
||||||
|
, sqlalchemy , sqlalchemy_migrate
|
||||||
|
, enableDebugClient ? false, pygobject ? null, pyGtkGlade ? null
|
||||||
|
}:
|
||||||
|
|
||||||
|
# enableDebugClient enables "buildbot debugclient", a Gtk-based debug control
|
||||||
|
# panel. Its mostly for developers.
|
||||||
|
|
||||||
|
assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
|
||||||
|
|
||||||
buildPythonPackage (rec {
|
buildPythonPackage (rec {
|
||||||
name = "buildbot-0.7.11p3";
|
name = "buildbot-0.8.7p1";
|
||||||
namePrefix = "";
|
namePrefix = "";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/buildbot/${name}.tar.gz";
|
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
|
||||||
sha256 = "0h77ijf5iqvc8bnfxpsh3hvpr7wj23pkcywd3hcyphv1wwlhmhjv";
|
sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase =
|
patchPhase =
|
||||||
@ -19,16 +27,26 @@ buildPythonPackage (rec {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ texinfo ];
|
buildInputs = [ ];
|
||||||
propagatedBuildInputs = [ twisted ];
|
|
||||||
|
|
||||||
# FIXME: Some tests fail.
|
propagatedBuildInputs =
|
||||||
|
[ twisted dateutil jinja2 sqlalchemy sqlalchemy_migrate
|
||||||
|
] ++ stdenv.lib.optional enableDebugClient [ pygobject pyGtkGlade ];
|
||||||
|
|
||||||
|
# What's up with this?! 'trial' should be 'test', no?
|
||||||
|
#
|
||||||
|
# running tests
|
||||||
|
# usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
|
||||||
|
# or: setup.py --help [cmd1 cmd2 ...]
|
||||||
|
# or: setup.py --help-commands
|
||||||
|
# or: setup.py cmd --help
|
||||||
|
#
|
||||||
|
# error: invalid command 'trial'
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
postInstall =
|
postInstall = ''
|
||||||
'' mkdir -p "$out/share/info"
|
mkdir -p "$out/share/man/man1"
|
||||||
make -C docs buildbot.info
|
cp docs/buildbot.1 "$out/share/man/man1"
|
||||||
cp -v "docs/buildbot.info"* "$out/share/info"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -37,7 +55,7 @@ buildPythonPackage (rec {
|
|||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
# Of course, we don't really need that on NixOS. :-)
|
# Of course, we don't really need that on NixOS. :-)
|
||||||
description = "BuildBot, a system to automate the software compile/test cycle";
|
description = "Continuous integration system that automates the build/test cycle";
|
||||||
|
|
||||||
longDescription =
|
longDescription =
|
||||||
'' The BuildBot is a system to automate the compile/test cycle
|
'' The BuildBot is a system to automate the compile/test cycle
|
||||||
|
@ -3114,6 +3114,11 @@ let
|
|||||||
bison = callPackage ../development/tools/parsing/bison { };
|
bison = callPackage ../development/tools/parsing/bison { };
|
||||||
|
|
||||||
buildbot = callPackage ../development/tools/build-managers/buildbot {
|
buildbot = callPackage ../development/tools/build-managers/buildbot {
|
||||||
|
inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate;
|
||||||
|
dateutil = pythonPackages.dateutil_1_5;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildbotSlave = callPackage ../development/tools/build-managers/buildbot-slave {
|
||||||
inherit (pythonPackages) twisted;
|
inherit (pythonPackages) twisted;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -869,6 +869,24 @@ pythonPackages = python.modules // rec {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# Buildbot 0.8.7p1 needs dateutil==1.5
|
||||||
|
dateutil_1_5 = buildPythonPackage (rec {
|
||||||
|
name = "dateutil-1.5";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
|
||||||
|
sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pythonPackages.six ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Powerful extensions to the standard datetime module";
|
||||||
|
homepage = http://pypi.python.org/pypi/python-dateutil;
|
||||||
|
license = "BSD-style";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
decorator = buildPythonPackage rec {
|
decorator = buildPythonPackage rec {
|
||||||
name = "decorator-3.3.1";
|
name = "decorator-3.3.1";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user