]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Move buildbot plugin buildslist to pkgs
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 12 May 2019 08:49:32 +0000 (10:49 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 12 May 2019 11:22:43 +0000 (13:22 +0200)
14 files changed:
nixops/modules/buildbot/default.nix
overlays/python-packages/apprise/default.nix [deleted file]
overlays/python-packages/buildbot.nix [new file with mode: 0644]
overlays/python-packages/default.nix
overlays/python-packages/wokkel/default.nix [deleted file]
pkgs/default.nix
pkgs/python-packages/apprise/apprise.json [moved from overlays/python-packages/apprise/apprise.json with 100% similarity]
pkgs/python-packages/apprise/default.nix [new file with mode: 0644]
pkgs/python-packages/buildbot/plugins/buildslist/bower.nix [moved from nixops/modules/buildbot/bower.nix with 100% similarity]
pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json [moved from nixops/modules/buildbot/buildslist.json with 63% similarity]
pkgs/python-packages/buildbot/plugins/buildslist/default.nix [new file with mode: 0644]
pkgs/python-packages/buildbot/plugins/default.nix [new file with mode: 0644]
pkgs/python-packages/default.nix [new file with mode: 0644]
pkgs/python-packages/wokkel.nix [new file with mode: 0644]

index 5cf833b8e2a41bf8ae948accd89c55d4e54362c7..d7dd47943aac86676b582d8f08135ba3714d8417 100644 (file)
@@ -1,44 +1,6 @@
 { lib, pkgs, config, myconfig, mylibs, ... }:
 let
   varDir = "/var/lib/buildbot";
 { 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;
   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
       '';
   };
       cp -a $src $out/${pkgs.python3.pythonForBuild.sitePackages}/buildbot_common
       '';
   };
-  buildbot = pkgs.python3Packages.buildbot-full.withPlugins ([ buildslist ]);
+  buildbot = pkgs.python3Packages.buildbot-full;
 in
 {
   options = {
 in
 {
   options = {
diff --git a/overlays/python-packages/apprise/default.nix b/overlays/python-packages/apprise/default.nix
deleted file mode 100644 (file)
index 99e04ad..0000000
+++ /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 (file)
index 0000000..ccf2f6a
--- /dev/null
@@ -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;
+}
index 7313f9e48868a2505b22752544bdc8d7efd2ffd9..8a9949e6cbeb0110e7410bbc3c4aa6230df00482 100644 (file)
@@ -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 (file)
index 5d0ab4a..0000000
+++ /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;
-      };
-    };
-  };
-}
index 18fc3b3a81ba441920657961d7d7ab855562f028..26b32e1ba3e72d33d16cd41ca7401d1301585134 100644 (file)
@@ -43,4 +43,9 @@ rec {
   private = if builtins.pathExists (./. + "/private")
     then import ./private { inherit pkgs; }
     else { webapps = {}; };
   private = if builtins.pathExists (./. + "/private")
     then import ./private { inherit pkgs; }
     else { webapps = {}; };
+
+  python3PackagesPlus = callPackage ./python-packages {
+    python = python3;
+    inherit mylibs;
+  };
 }
 }
diff --git a/pkgs/python-packages/apprise/default.nix b/pkgs/python-packages/apprise/default.nix
new file mode 100644 (file)
index 0000000..d310599
--- /dev/null
@@ -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;
+}
similarity index 63%
rename from nixops/modules/buildbot/buildslist.json
rename to pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json
index 2418d1765eea9fedb8d1f7651240cafd760d525c..27ca94c16f9314e59764deba0ae89b6b8917bed1 100644 (file)
@@ -2,11 +2,11 @@
   "tag": "9e87787-master",
   "meta": {
     "name": "buildslist",
   "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": {
     "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
     "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 (file)
index 0000000..372968a
--- /dev/null
@@ -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 (file)
index 0000000..4952819
--- /dev/null
@@ -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 (file)
index 0000000..747bbe6
--- /dev/null
@@ -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 (file)
index 0000000..b34caec
--- /dev/null
@@ -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;
+}