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