49b20e5569
Some changes to be more idiomatic and use stdenv building blocks more. I also added a `buildbot.withPlugins` instead of the current plugins mechanism, which forces an unnecessary rebuild of the package and reruns all the tests. This should be equivalent and more pleasant to use in practice.
83 lines
1.8 KiB
Nix
83 lines
1.8 KiB
Nix
{ stdenv, lib, openssh, buildbot-worker, pythonPackages, runCommand, makeWrapper }:
|
|
|
|
let
|
|
withPlugins = plugins: runCommand "wrapped-${package.name}" {
|
|
buildInputs = [ makeWrapper ];
|
|
passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
|
|
} ''
|
|
makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
|
|
--prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" pythonPackages.python.sitePackages plugins}
|
|
'';
|
|
|
|
package = pythonPackages.buildPythonApplication (rec {
|
|
name = "${pname}-${version}";
|
|
pname = "buildbot";
|
|
version = "0.9.4";
|
|
|
|
src = pythonPackages.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
|
|
};
|
|
|
|
buildInputs = with pythonPackages; [
|
|
lz4
|
|
txrequests
|
|
pyjade
|
|
boto3
|
|
moto
|
|
txgithub
|
|
mock
|
|
setuptoolsTrial
|
|
isort
|
|
pylint
|
|
astroid
|
|
pyflakes
|
|
openssh
|
|
buildbot-worker
|
|
treq
|
|
];
|
|
|
|
propagatedBuildInputs = with pythonPackages; [
|
|
|
|
# core
|
|
twisted
|
|
jinja2
|
|
zope_interface
|
|
sqlalchemy
|
|
sqlalchemy_migrate
|
|
future
|
|
dateutil
|
|
txaio
|
|
autobahn
|
|
pyjwt
|
|
|
|
# tls
|
|
pyopenssl
|
|
service-identity
|
|
idna
|
|
|
|
# docs
|
|
sphinx
|
|
sphinxcontrib-blockdiag
|
|
sphinxcontrib-spelling
|
|
pyenchant
|
|
docutils
|
|
ramlfications
|
|
sphinx-jinja
|
|
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
|
|
'';
|
|
|
|
passthru = { inherit withPlugins; };
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://buildbot.net/;
|
|
description = "Continuous integration system that automates the build/test cycle";
|
|
maintainers = with maintainers; [ nand0p ryansydnor ];
|
|
license = licenses.gpl2;
|
|
};
|
|
});
|
|
in package
|