]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - pkgs/python-packages/buildbot/plugins/buildslist/default.nix
Upgrade nixos-unstable
[perso/Immae/Config/Nix.git] / pkgs / python-packages / buildbot / plugins / buildslist / default.nix
1 { stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs-10_x, yarn2nix-moretea, sources }:
2 let
3 yarn2nix-moretea' = yarn2nix-moretea.override({
4 yarn = yarn.override({ nodejs = nodejs-10_x; });
5 nodejs = nodejs-10_x;
6 });
7 buildslist_src = sources.buildbot-plugin-buildslist;
8 packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
9 cat ${buildslist_src}/package.json | jq -r '.version = "${pythonPackages.buildbot-pkg.version}"|.license= "MIT"' > $out
10 '';
11 nodeHeaders = fetchurl {
12 url = "https://nodejs.org/download/release/v${nodejs-10_x.version}/node-v${nodejs-10_x.version}-headers.tar.gz";
13 sha256 = "15hkcbs328d3rc1s14rmky8lh8d3rr86l8k0bia0ggxzwl23lj9c";
14 };
15 buildslist_yarn = yarn2nix-moretea'.mkYarnModules rec {
16 name = "buildslist-yarn-modules";
17 pname = name;
18 inherit (pythonPackages.buildbot-pkg) version;
19 packageJSON = packagejson;
20 yarnLock = "${buildslist_src}/yarn.lock";
21 yarnNix = ./yarn-packages.nix;
22 pkgConfig = {
23 node-sass = {
24 buildInputs = [ libsass python ];
25 postInstall =
26 ''
27 node scripts/build.js --tarball=${nodeHeaders}
28 '';
29 };
30 };
31 };
32 buildslist_bower = buildBowerComponents {
33 name = "buildslist";
34 generated = ./bower.nix;
35 src = "${buildslist_src}/guanlecoja/";
36 };
37 # the buildbot-pkg calls yarn and screws up everything...
38 fakeYarn = writeScriptBin "yarn" ''
39 #!${stdenv.shell}
40 if [ "$1" = "--version" ]; then
41 echo "1.17"
42 fi
43 '';
44 in
45 pythonPackages.buildPythonPackage rec {
46 pname = "buildbot-buildslist";
47 inherit (pythonPackages.buildbot-pkg) version;
48
49 preConfigure = ''
50 export HOME=$PWD
51 ln -s ${buildslist_yarn}/node_modules .
52 cp -a ${buildslist_bower}/bower_components ./libs
53 PATH=${buildslist_yarn}/node_modules/.bin:$PATH
54 chmod -R u+w libs
55 '';
56 propagatedBuildInputs = with pythonPackages; [
57 (klein.overridePythonAttrs(old: { checkPhase = ""; }))
58 buildbot-pkg
59 ];
60 nativeBuildInputs = [ fakeYarn nodejs-10_x ];
61 buildInputs = [ buildslist_yarn buildslist_bower ];
62
63 doCheck = false;
64 src = buildslist_src;
65 }