nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 117 lines 2.9 kB view raw
1{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k 2, python, twisted, jinja2, msgpack, zope_interface, sqlalchemy, alembic 3, python-dateutil, txaio, autobahn, pyjwt, pyyaml, treq, txrequests, pypugjs 4, boto3, moto, mock, lz4, setuptoolsTrial, isort, pylint, flake8 5, buildbot-worker, buildbot-pkg, buildbot-plugins, parameterized, git, openssh 6, glibcLocales 7, nixosTests 8}: 9 10let 11 withPlugins = plugins: buildPythonPackage { 12 pname = "${package.pname}-with-plugins"; 13 inherit (package) version; 14 15 dontUnpack = true; 16 dontBuild = true; 17 doCheck = false; 18 19 nativeBuildInputs = [ makeWrapper ]; 20 propagatedBuildInputs = plugins ++ package.propagatedBuildInputs; 21 22 installPhase = '' 23 makeWrapper ${package}/bin/buildbot $out/bin/buildbot \ 24 --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH" 25 ln -sfv ${package}/lib $out/lib 26 ''; 27 28 passthru = package.passthru // { 29 withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); 30 }; 31 }; 32 33 package = buildPythonPackage rec { 34 pname = "buildbot"; 35 version = "3.5.0"; 36 37 src = fetchPypi { 38 inherit pname version; 39 sha256 = "sha256-woGHdCan5qTp00toNkWa821EgVQMrPK+OWXoqFcgIDQ="; 40 }; 41 42 propagatedBuildInputs = [ 43 # core 44 twisted 45 jinja2 46 msgpack 47 zope_interface 48 sqlalchemy 49 alembic 50 python-dateutil 51 txaio 52 autobahn 53 pyjwt 54 pyyaml 55 ] 56 # tls 57 ++ twisted.optional-dependencies.tls; 58 59 checkInputs = [ 60 treq 61 txrequests 62 pypugjs 63 boto3 64 moto 65 mock 66 lz4 67 setuptoolsTrial 68 isort 69 pylint 70 flake8 71 buildbot-worker 72 buildbot-pkg 73 buildbot-plugins.www 74 parameterized 75 git 76 openssh 77 glibcLocales 78 ]; 79 80 patches = [ 81 # This patch disables the test that tries to read /etc/os-release which 82 # is not accessible in sandboxed builds. 83 ./skip_test_linux_distro.patch 84 ]; 85 86 postPatch = '' 87 substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" 88 ''; 89 90 # TimeoutErrors on slow machines -> aarch64 91 doCheck = !stdenv.isAarch64; 92 93 preCheck = '' 94 export LC_ALL="en_US.UTF-8" 95 export PATH="$out/bin:$PATH" 96 97 # remove testfile which is missing configuration file from sdist 98 rm buildbot/test/integration/test_graphql.py 99 ''; 100 101 disabled = !isPy3k; 102 103 passthru = { 104 inherit withPlugins; 105 tests.buildbot = nixosTests.buildbot; 106 updateScript = ./update.sh; 107 }; 108 109 meta = with lib; { 110 broken = stdenv.isDarwin; 111 homepage = "https://buildbot.net/"; 112 description = "An open-source continuous integration framework for automating software build, test, and release processes"; 113 maintainers = with maintainers; [ ryansydnor lopsided98 ]; 114 license = licenses.gpl2; 115 }; 116 }; 117in package