diff --git a/pkgs/development/tools/build-managers/buildbot/9.nix b/pkgs/development/tools/build-managers/buildbot/9.nix new file mode 100644 index 00000000000..0f33cd0c664 --- /dev/null +++ b/pkgs/development/tools/build-managers/buildbot/9.nix @@ -0,0 +1,81 @@ +{ stdenv +, pythonPackages +, fetchurl +, plugins ? [] +}: + +pythonPackages.buildPythonApplication (rec { + name = "${pname}-${version}"; + pname = "buildbot"; + version = "0.9.0rc2"; + src = fetchurl { + url = "mirror://pypi/b/${pname}/${name}.tar.gz"; + sha256 = "06xzbjzji3by4hldwr850fc989ymsfl2s8nil21klv2g00dgmcmk"; + }; + + buildInputs = with pythonPackages; [ + lz4 + txrequests + pyjade + boto3 + moto + txgithub + mock + setuptoolsTrial + isort + pylint + astroid + pyflakes + ]; + + propagatedBuildInputs = with pythonPackages; [ + + # core + twisted + jinja2 + zope_interface + future + sqlalchemy + sqlalchemy_migrate + future + dateutil + txaio + autobahn + + # tls + pyopenssl + service-identity + idna + + # docs + sphinx + sphinxcontrib-blockdiag + sphinxcontrib-spelling + pyenchant + docutils + ramlfications + sphinx-jinja + + ] ++ plugins; + + preInstall = '' + # buildbot tries to import 'buildslaves' but does not + # include the module in it's package, so get rid of those references + sed -i.bak -e '66,$d' buildbot/test/__init__.py + sed -i.bak -e '506,$d' buildbot/test/unit/test_worker_base.py + sed -i.bak -e '648,$d' buildbot/test/unit/test_worker_ec2.py + sed -i.bak -e '289,$d' buildbot/test/unit/test_worker_libvirt.py + sed -i.bak -e '190,$d' buildbot/test/unit/test_worker_openstack.py + sed -i.bak -e '60,84d' buildbot/test/integration/test_configs.py + + # writes out a file that can't be read properly + sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py + ''; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Continuous integration system that automates the build/test cycle"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; +}) diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix new file mode 100644 index 00000000000..177b7b3d946 --- /dev/null +++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix @@ -0,0 +1,91 @@ +{ stdenv +, fetchurl +, pythonPackages +}: + +let + buildbot-pkg = pythonPackages.buildPythonPackage rec { + name = "buildbot-pkg-${version}"; + version = "0.9.0rc2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/95/47/1fef931d410cc24127564c2e193e7c1c184f5c5f481930f77c6d6840cfab/${name}.tar.gz"; + sha256 = "01wc9bmqq1rfayqnjm7rkjhbcj7h6ah4vv10s6hglnq9s4axvxp6"; + }; + + propagatedBuildInputs = with pythonPackages; [ setuptools ]; + + # doesn't seem to break without this... + patchPhase = '' + sed -i.bak -e '/"setuptools >= 21.2.1",/d' setup.py + ''; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot Packaging Helper"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; + }; + +in { + + www = pythonPackages.buildPythonPackage rec { + name = "buildbot_www-${version}"; + version = "0.9.0rc2"; + + # NOTE: wheel is used due to buildbot circular dependency + format = "wheel"; + src = fetchurl { + url = "https://pypi.python.org/packages/e0/d7/f1023cdb7340a15ee1fc9916e87c4d634405a87164a051e2c59bf9d51ef1/${name}-py2-none-any.whl"; + sha256 = "1006x56x4w4p2mbrzm7jy51c0xxz48lzhdwvx7j4hrjs07mapndj"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot UI"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; + }; + + console-view = pythonPackages.buildPythonPackage rec { + name = "buildbot-console-view-${version}"; + version = "0.9.0rc2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/f4/51/e24cc1b596e5b262a272cba3687476a13ec7d9ea24bf1f4fd0cd72902bb6/${name}.tar.gz"; + sha256 = "0970gq1sxnfd0nlrnd3mj25i3cginlw2pj5ffqsd57n5hlqg48ib"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot Console View Plugin"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; + }; + + waterfall-view = pythonPackages.buildPythonPackage rec { + name = "buildbot-waterfall-view-${version}"; + version = "0.9.0rc2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/c2/21/3895355b05f91977a8b8e5435f85354e927c2ef547a25432a6bacf792a67/${name}.tar.gz"; + sha256 = "1zybrbbsyplv93zkin8cb3z1bqqr6px4p203ldcpn7lds5s9vk00"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot Waterfall View Plugin"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; + }; +} diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix new file mode 100644 index 00000000000..36b57a41aa7 --- /dev/null +++ b/pkgs/development/tools/build-managers/buildbot/worker.nix @@ -0,0 +1,24 @@ +{ stdenv +, fetchurl +, pythonPackages +}: + +pythonPackages.buildPythonApplication (rec { + name = "buildbot-worker-${version}"; + version = "0.9.0rc2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/6a/be/ae80e5e87bc92ac813cd944c08d3b6168090145fc168e7a553e88c07067a/${name}.tar.gz"; + sha256 = "19l28s2fyzln6nv2ypbdg11xiz7lrjy0n64fzhngfalv61x2bp8j"; + }; + + buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; + propagatedBuildInputs = with pythonPackages; [ twisted future ]; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot Worker Daemon"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9c156a0285f..fb00de4d106 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6181,6 +6181,16 @@ in inherit (pythonPackages) twisted; }; + buildbot = callPackage ../development/tools/build-managers/buildbot/9.nix { }; + buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix { }; + buildbot-plugins = callPackage ../development/tools/build-managers/buildbot/plugins.nix { }; + buildbot-ui = self.buildbot.override { + plugins = with self.buildbot-plugins; [ www ]; + }; + buildbot-full = self.buildbot.override { + plugins = with self.buildbot-plugins; [ www console-view waterfall-view ]; + }; + buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { }; byacc = callPackage ../development/tools/parsing/byacc { };