diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (diff) |
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie
git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7
git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix new file mode 100644 index 000000000000..595f97bcb8fa --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/buildbot/default.nix @@ -0,0 +1,111 @@ +{ stdenv, lib, buildPythonPackage, fetchPypi, fetchpatch, makeWrapper, isPy3k, + python, twisted, jinja2, zope_interface, future, sqlalchemy, + sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq, + txrequests, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial, + isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins, + parameterized, git, openssh, glibcLocales, nixosTests }: + +let + withPlugins = plugins: buildPythonPackage { + name = "${package.name}-with-plugins"; + phases = [ "installPhase" "fixupPhase" ]; + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = plugins ++ package.propagatedBuildInputs; + + installPhase = '' + makeWrapper ${package}/bin/buildbot $out/bin/buildbot \ + --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH" + ln -sfv ${package}/lib $out/lib + ''; + + passthru = package.passthru // { + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + }; + }; + + package = buildPythonPackage rec { + pname = "buildbot"; + version = "2.8.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "0i2sbxhsqyk2yr234il0zsyp1rf2v1l5hmzvw0yrgds6jpr19cqv"; + }; + + propagatedBuildInputs = [ + # core + twisted + jinja2 + zope_interface + sqlalchemy + sqlalchemy_migrate + dateutil + txaio + autobahn + pyjwt + pyyaml + ] + # tls + ++ twisted.extras.tls; + + checkInputs = [ + treq + txrequests + pyjade + boto3 + moto + mock + python-lz4 + setuptoolsTrial + isort + pylint + flake8 + buildbot-worker + buildbot-pkg + buildbot-plugins.www + parameterized + git + openssh + glibcLocales + ]; + + patches = [ + # This patch disables the test that tries to read /etc/os-release which + # is not accessible in sandboxed builds. + ./skip_test_linux_distro.patch + + # fix compatibility with the latest SQLAlchemy + (fetchpatch { + url = "https://github.com/buildbot/buildbot/commit/96f3cd1c5f5c82b733baecb133576366ecf544fc.patch"; + sha256 = "0n1jm13h08j7ksbs8ixayn3wziq5hzyp3kscz9fpgxd8gl885y5n"; + stripLen = 1; + }) + ]; + + postPatch = '' + substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" + ''; + + # TimeoutErrors on slow machines -> aarch64 + doCheck = !stdenv.isAarch64; + + preCheck = '' + export LC_ALL="en_US.UTF-8" + export PATH="$out/bin:$PATH" + ''; + + disabled = !isPy3k; + + passthru = { + inherit withPlugins; + tests.buildbot = nixosTests.buildbot; + }; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes"; + maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; + }; +in package |