]>
Commit | Line | Data |
---|---|---|
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 | } |