]>
Commit | Line | Data |
---|---|---|
1 | { mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs, yarn2nix-moretea }: | |
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 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; | |
10 | }; | |
11 | buildslist_yarn = yarn2nix-moretea.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 | node-sass = { | |
20 | buildInputs = [ libsass python ]; | |
21 | postInstall = | |
22 | '' | |
23 | node scripts/build.js --tarball=${nodeHeaders} | |
24 | ''; | |
25 | }; | |
26 | }; | |
27 | }; | |
28 | buildslist_bower = buildBowerComponents { | |
29 | name = "buildslist"; | |
30 | generated = ./bower.nix; | |
31 | src = "${buildslist_src.src}/guanlecoja/"; | |
32 | }; | |
33 | # the buildbot-pkg calls yarn and screws up everything... | |
34 | fakeYarn = writeScriptBin "yarn" '' | |
35 | #!${stdenv.shell} | |
36 | if [ "$1" = "--version" ]; then | |
37 | echo "1.17" | |
38 | fi | |
39 | ''; | |
40 | in | |
41 | pythonPackages.buildPythonPackage rec { | |
42 | pname = "buildbot-buildslist"; | |
43 | inherit (pythonPackages.buildbot-pkg) version; | |
44 | ||
45 | preConfigure = '' | |
46 | export HOME=$PWD | |
47 | ln -s ${buildslist_yarn}/node_modules . | |
48 | cp -a ${buildslist_bower}/bower_components ./libs | |
49 | PATH=${buildslist_yarn}/node_modules/.bin:$PATH | |
50 | chmod -R u+w libs | |
51 | ''; | |
52 | propagatedBuildInputs = with pythonPackages; [ | |
53 | (klein.overridePythonAttrs(old: { checkPhase = ""; })) | |
54 | buildbot-pkg | |
55 | ]; | |
56 | nativeBuildInputs = [ fakeYarn nodejs ]; | |
57 | buildInputs = [ buildslist_yarn buildslist_bower ]; | |
58 | ||
59 | doCheck = false; | |
60 | src = buildslist_src.src; | |
61 | } |