X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pkgs%2Fpython-packages%2Fbuildbot%2Fplugins%2Fbuildslist%2Fdefault.nix;h=dc6104e4803be16ddc35d1999cc00277e2e61b35;hb=258dd18bac4bf5dd03cf1098ffa35cb954f9e015;hp=372968af31ba51484aaae4dd41aa47d3d60c153d;hpb=b798cf6d60baf5aad5438ba5936259c64d87299c;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix index 372968a..dc6104e 100644 --- a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix @@ -1,14 +1,29 @@ -{ mylibs, buildBowerComponents, pythonPackages, yarn, nodejs }: +{ mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs }: let buildslist_src = mylibs.fetchedGit ./buildslist.json; + packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' + cat ${buildslist_src.src}/package.json | jq -r '.version = "${pythonPackages.buildbot-pkg.version}"|.license= "MIT"' > $out + ''; + nodeHeaders = fetchurl { + url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; + sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; + }; buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { name = "buildslist-yarn-modules"; pname = name; inherit (pythonPackages.buildbot-pkg) version; - packageJSON = "${buildslist_src.src}/package.json"; + packageJSON = packagejson; yarnLock = "${buildslist_src.src}/yarn.lock"; + yarnNix = ./yarn-packages.nix; pkgConfig = { all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; }; + node-sass = { + buildInputs = [ libsass python ]; + postInstall = + '' + node scripts/build.js --tarball=${nodeHeaders} + ''; + }; }; }; buildslist_bower = buildBowerComponents { @@ -16,6 +31,13 @@ let generated = ./bower.nix; src = "${buildslist_src.src}/guanlecoja/"; }; + # the buildbot-pkg calls yarn and screws up everything... + fakeYarn = writeScriptBin "yarn" '' + #!${stdenv.shell} + if [ "$1" = "--version" ]; then + echo "1.17" + fi + ''; in pythonPackages.buildPythonPackage rec { pname = "buildbot-buildslist"; @@ -23,16 +45,16 @@ pythonPackages.buildPythonPackage rec { preConfigure = '' export HOME=$PWD - cp -a ${buildslist_yarn}/node_modules . - chmod -R u+w node_modules + ln -s ${buildslist_yarn}/node_modules . cp -a ${buildslist_bower}/bower_components ./libs + PATH=${buildslist_yarn}/node_modules/.bin:$PATH chmod -R u+w libs ''; propagatedBuildInputs = with pythonPackages; [ (klein.overridePythonAttrs(old: { checkPhase = ""; })) buildbot-pkg ]; - nativeBuildInputs = [ yarn nodejs ]; + nativeBuildInputs = [ fakeYarn nodejs ]; buildInputs = [ buildslist_yarn buildslist_bower ]; doCheck = false;