X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pkgs%2Fpython-packages%2Fbuildbot%2Fplugins%2Fbuildslist%2Fdefault.nix;h=ad87111b28dbab266112d5b58bcb797571af631d;hb=f5761aac8dbfb4af91c232f2b52d1353c899abda;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..ad87111 100644 --- a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix @@ -1,14 +1,28 @@ -{ mylibs, buildBowerComponents, pythonPackages, yarn, nodejs }: +{ mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs, yarn2nix-moretea }: let buildslist_src = mylibs.fetchedGit ./buildslist.json; - buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { + 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 = "1prvrcvbyal39k9axfwjixs4wfgs1m8xy4prsl0kq0s0n7r7nxzj"; + }; + buildslist_yarn = yarn2nix-moretea.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 +30,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 +44,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;