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