From: Ismaƫl Bouya Date: Sun, 12 May 2019 08:49:32 +0000 (+0200) Subject: Move buildbot plugin buildslist to pkgs X-Git-Tag: nur_publish~26 X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=commitdiff_plain;h=b798cf6d60baf5aad5438ba5936259c64d87299c Move buildbot plugin buildslist to pkgs --- diff --git a/nixops/modules/buildbot/default.nix b/nixops/modules/buildbot/default.nix index 5cf833b..d7dd479 100644 --- a/nixops/modules/buildbot/default.nix +++ b/nixops/modules/buildbot/default.nix @@ -1,44 +1,6 @@ { lib, pkgs, config, myconfig, mylibs, ... }: let varDir = "/var/lib/buildbot"; - buildslist_src = mylibs.fetchedGitPrivate ./buildslist.json; - buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { - name = "buildslist-yarn-modules"; - pname = name; - inherit (pkgs.buildbot-pkg) version; - packageJSON = "${buildslist_src.src}/package.json"; - yarnLock = "${buildslist_src.src}/yarn.lock"; - pkgConfig = { - all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; }; - }; - }; - buildslist_bower = pkgs.buildBowerComponents { - name = "buildslist"; - generated = ./bower.nix; - src = "${buildslist_src.src}/guanlecoja/"; - }; - - buildslist = pkgs.python3Packages.buildPythonPackage rec { - pname = "buildbot-buildslist"; - inherit (pkgs.buildbot-pkg) version; - - preConfigure = '' - export HOME=$PWD - cp -a ${buildslist_yarn}/node_modules . - chmod -R u+w node_modules - cp -a ${buildslist_bower}/bower_components ./libs - chmod -R u+w libs - ''; - propagatedBuildInputs = with pkgs.python3Packages; [ - (klein.overridePythonAttrs(old: { checkPhase = ""; })) - buildbot-pkg - ]; - nativeBuildInputs = with pkgs; [ yarn nodejs ]; - buildInputs = [ buildslist_yarn buildslist_bower ]; - - doCheck = false; - src = buildslist_src.src; - }; buildbot_common = pkgs.python3Packages.buildPythonPackage rec { name = "buildbot_common"; src = ./common; @@ -48,7 +10,7 @@ let cp -a $src $out/${pkgs.python3.pythonForBuild.sitePackages}/buildbot_common ''; }; - buildbot = pkgs.python3Packages.buildbot-full.withPlugins ([ buildslist ]); + buildbot = pkgs.python3Packages.buildbot-full; in { options = { diff --git a/overlays/python-packages/apprise/default.nix b/overlays/python-packages/apprise/default.nix deleted file mode 100644 index 99e04ad..0000000 --- a/overlays/python-packages/apprise/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -self: super: { - python3 = super.python3.override { - packageOverrides = python-self: python-super: { - apprise = python-self.buildPythonPackage rec { - pname = "apprise"; - version = "0.7.4"; - src = (self.mylibs.fetchedGithub ./apprise.json).src; - propagatedBuildInputs = with python-self; [ decorator - requests requests_oauthlib oauthlib urllib3 six click - markdown pyyaml sleekxmpp - ]; - doChecks = false; - }; - }; - }; -} diff --git a/overlays/python-packages/buildbot.nix b/overlays/python-packages/buildbot.nix new file mode 100644 index 0000000..ccf2f6a --- /dev/null +++ b/overlays/python-packages/buildbot.nix @@ -0,0 +1,8 @@ +self: super: { + pythonOverrides = self.buildPythonOverrides (pyself: pysuper: { + buildbot-plugins = pysuper.buildbot-plugins // { + buildslist = self.python3PackagesPlus.buildbot-plugins.buildslist; + }; + buildbot-full = pysuper.buildbot-full.withPlugins [ pyself.buildbot-plugins.buildslist ]; + }) super.pythonOverrides; +} diff --git a/overlays/python-packages/default.nix b/overlays/python-packages/default.nix index 7313f9e..8a9949e 100644 --- a/overlays/python-packages/default.nix +++ b/overlays/python-packages/default.nix @@ -1,4 +1,28 @@ +let + fromMyPythonPackages = name: self: super: { + pythonOverrides = self.buildPythonOverrides (pyself: pysuper: { + "${name}" = self."${pyself.python.pname}PackagesPlus"."${name}"; + }) super.pythonOverrides; + }; +in { - wokkel = import ./wokkel; - apprise = import ./apprise; + # https://github.com/NixOS/nixpkgs/issues/44426 + # needs to come before all other in alphabetical order (or make use of + # lib.mkBefore) + __pythonOverlayFix = self: super: let + pyNames = [ "python3" "python36" "python37" ]; + overriddenPython = name: [ + { inherit name; value = super.${name}.override { packageOverrides = self.pythonOverrides; }; } + { name = "${name}Packages"; value = self.recurseIntoAttrs self.${name}.pkgs; } + ]; + overriddenPythons = builtins.concatLists (map overriddenPython pyNames); + in { + pythonOverrides = pyself: pysuper: {}; + buildPythonOverrides = newOverrides: currentOverrides: super.lib.composeExtensions newOverrides currentOverrides; + } // super.lib.attrsets.listToAttrs overriddenPythons; + + + apprise = fromMyPythonPackages "apprise"; + buildbot = import ./buildbot.nix; + wokkel = fromMyPythonPackages "wokkel"; } diff --git a/overlays/python-packages/wokkel/default.nix b/overlays/python-packages/wokkel/default.nix deleted file mode 100644 index 5d0ab4a..0000000 --- a/overlays/python-packages/wokkel/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -self: super: { - python3 = super.python3.override { - packageOverrides = python-self: python-super: { - wokkel = python-self.buildPythonPackage rec { - pname = "wokkel"; - version = "18.0.0"; - src = python-self.fetchPypi { - inherit pname version; - sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; - }; - propagatedBuildInputs = with python-self; [ twisted.extras.tls twisted incremental dateutil ]; - doChecks = false; - }; - }; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 18fc3b3..26b32e1 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -43,4 +43,9 @@ rec { private = if builtins.pathExists (./. + "/private") then import ./private { inherit pkgs; } else { webapps = {}; }; + + python3PackagesPlus = callPackage ./python-packages { + python = python3; + inherit mylibs; + }; } diff --git a/overlays/python-packages/apprise/apprise.json b/pkgs/python-packages/apprise/apprise.json similarity index 100% rename from overlays/python-packages/apprise/apprise.json rename to pkgs/python-packages/apprise/apprise.json diff --git a/pkgs/python-packages/apprise/default.nix b/pkgs/python-packages/apprise/default.nix new file mode 100644 index 0000000..d310599 --- /dev/null +++ b/pkgs/python-packages/apprise/default.nix @@ -0,0 +1,11 @@ +{ mylibs, pythonPackages }: with pythonPackages; +buildPythonPackage rec { + pname = "apprise"; + version = "0.7.4"; + src = (mylibs.fetchedGithub ./apprise.json).src; + propagatedBuildInputs = [ decorator requests + requests_oauthlib oauthlib urllib3 six click markdown pyyaml + sleekxmpp + ]; + doChecks = false; +} diff --git a/nixops/modules/buildbot/bower.nix b/pkgs/python-packages/buildbot/plugins/buildslist/bower.nix similarity index 100% rename from nixops/modules/buildbot/bower.nix rename to pkgs/python-packages/buildbot/plugins/buildslist/bower.nix diff --git a/nixops/modules/buildbot/buildslist.json b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json similarity index 63% rename from nixops/modules/buildbot/buildslist.json rename to pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json index 2418d17..27ca94c 100644 --- a/nixops/modules/buildbot/buildslist.json +++ b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json @@ -2,11 +2,11 @@ "tag": "9e87787-master", "meta": { "name": "buildslist", - "url": "gitolite@git.immae.eu:perso/Immae/Projets/Buildbot/buildslist", + "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", "branch": "master" }, "git": { - "url": "gitolite@git.immae.eu:perso/Immae/Projets/Buildbot/buildslist", + "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", "rev": "9e87787b40f4d6435218268e516be56eacd8d17b", "sha256": "0bli9w0xwpij23jblggz2zwhb7y3gkjdvsppcy6ia3m0x0siclpi", "fetchSubmodules": true diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix new file mode 100644 index 0000000..372968a --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix @@ -0,0 +1,40 @@ +{ mylibs, buildBowerComponents, pythonPackages, yarn, nodejs }: +let + buildslist_src = mylibs.fetchedGit ./buildslist.json; + buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { + name = "buildslist-yarn-modules"; + pname = name; + inherit (pythonPackages.buildbot-pkg) version; + packageJSON = "${buildslist_src.src}/package.json"; + yarnLock = "${buildslist_src.src}/yarn.lock"; + pkgConfig = { + all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; }; + }; + }; + buildslist_bower = buildBowerComponents { + name = "buildslist"; + generated = ./bower.nix; + src = "${buildslist_src.src}/guanlecoja/"; + }; +in +pythonPackages.buildPythonPackage rec { + pname = "buildbot-buildslist"; + inherit (pythonPackages.buildbot-pkg) version; + + preConfigure = '' + export HOME=$PWD + cp -a ${buildslist_yarn}/node_modules . + chmod -R u+w node_modules + cp -a ${buildslist_bower}/bower_components ./libs + chmod -R u+w libs + ''; + propagatedBuildInputs = with pythonPackages; [ + (klein.overridePythonAttrs(old: { checkPhase = ""; })) + buildbot-pkg + ]; + nativeBuildInputs = [ yarn nodejs ]; + buildInputs = [ buildslist_yarn buildslist_bower ]; + + doCheck = false; + src = buildslist_src.src; +} diff --git a/pkgs/python-packages/buildbot/plugins/default.nix b/pkgs/python-packages/buildbot/plugins/default.nix new file mode 100644 index 0000000..4952819 --- /dev/null +++ b/pkgs/python-packages/buildbot/plugins/default.nix @@ -0,0 +1,7 @@ +{ mylibs, callPackage, python }: +{ + buildslist = callPackage ./buildslist { + inherit mylibs; + pythonPackages = python.pkgs; + }; +} diff --git a/pkgs/python-packages/default.nix b/pkgs/python-packages/default.nix new file mode 100644 index 0000000..747bbe6 --- /dev/null +++ b/pkgs/python-packages/default.nix @@ -0,0 +1,6 @@ +{ mylibs, callPackage, python }: +{ + apprise = callPackage ./apprise { inherit mylibs; pythonPackages = python.pkgs; }; + buildbot-plugins = callPackage ./buildbot/plugins { inherit mylibs python; }; + wokkel = callPackage ./wokkel.nix { pythonPackages = python.pkgs; }; +} diff --git a/pkgs/python-packages/wokkel.nix b/pkgs/python-packages/wokkel.nix new file mode 100644 index 0000000..b34caec --- /dev/null +++ b/pkgs/python-packages/wokkel.nix @@ -0,0 +1,11 @@ +{ pythonPackages }: with pythonPackages; +buildPythonPackage rec { + pname = "wokkel"; + version = "18.0.0"; + src = fetchPypi { + inherit pname version; + sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; + }; + propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; + doChecks = false; +}