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