summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPhreedom <phreedom@yandex.ru>2013-05-08 15:45:20 -0700
committerPhreedom <phreedom@yandex.ru>2013-05-08 15:45:20 -0700
commit7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd (patch)
tree63529917382773ce12a1c1afcf02cda1783f0a26 /pkgs
parente9cbe5439e9ad5ed3fea1953b207b343339d4216 (diff)
parent9fa9afe71e9be5674e479101d4231dfa8b1c8489 (diff)
downloadnixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar.gz
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar.bz2
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar.lz
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar.xz
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.tar.zst
nixpkgs-7a4b06e0e8ab039f61dbcbd3e3b1e6bb278470fd.zip
Merge pull request #511 from bjornfor/buildbot
Buildbot version bump and add buildbot-slave
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/build-managers/buildbot-slave/default.nix64
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix44
-rw-r--r--pkgs/top-level/all-packages.nix5
-rw-r--r--pkgs/top-level/python-packages.nix18
4 files changed, 118 insertions, 13 deletions
diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
new file mode 100644
index 00000000000..da38bc0a133
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
@@ -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.
+      '';
+  };
+})
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index 71862ec1cf7..239a2051034 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -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 {
-  name = "buildbot-0.7.11p3";
+  name = "buildbot-0.8.7p1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "mirror://sourceforge/buildbot/${name}.tar.gz";
-    sha256 = "0h77ijf5iqvc8bnfxpsh3hvpr7wj23pkcywd3hcyphv1wwlhmhjv";
+    url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld";
   };
 
   patchPhase =
@@ -19,17 +27,27 @@ buildPythonPackage (rec {
        done
     '';
 
-  buildInputs = [ texinfo ];
-  propagatedBuildInputs = [ twisted ];
+  buildInputs = [ ];
 
-  # 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;
 
-  postInstall =
-    '' mkdir -p "$out/share/info"
-       make -C docs buildbot.info
-       cp -v "docs/buildbot.info"* "$out/share/info"
-    '';
+  postInstall = ''
+    mkdir -p "$out/share/man/man1"
+    cp docs/buildbot.1 "$out/share/man/man1"
+  '';
 
   meta = {
     homepage = http://buildbot.net/;
@@ -37,7 +55,7 @@ buildPythonPackage (rec {
     license = "GPLv2+";
 
     # 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 =
       '' The BuildBot is a system to automate the compile/test cycle
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2c4eed50ee6..fefc427cd9e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3114,6 +3114,11 @@ let
   bison = callPackage ../development/tools/parsing/bison { };
 
   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;
   };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ce0e52de86b..ecc553f85e4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -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 {
     name = "decorator-3.3.1";