summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/networking/znc/default.nix1
-rw-r--r--pkgs/applications/networking/znc/modules.nix56
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index 13c3977a979..a43d8fa9d11 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     homepage = http://wiki.znc.in/ZNC;
     maintainers = [ stdenv.lib.maintainers.viric ];
     license = "ASL2.0";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
new file mode 100644
index 00000000000..ba6d36a3c76
--- /dev/null
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, fetchgit,  znc }:
+
+let
+
+  zncDerivation = a@{
+    name, src, module_name,
+    buildPhase ? "${znc}/bin/znc-buildmod ${module_name}.cpp",
+    installPhase ? "install -D ${module_name}.so $out/lib/znc/${module_name}.so", ...
+  } : stdenv.mkDerivation (a // {
+    inherit buildPhase;
+    inherit installPhase;
+
+    meta.platforms = stdenv.lib.platforms.unix;
+    passthru.module_name = module_name;
+  });
+
+in rec {
+
+  push = zncDerivation rec {
+    name = "znc-push-${version}";
+    version = "1.0.0";
+    module_name = "push";
+
+    src = fetchurl {
+        url = "https://github.com/jreese/znc-push/archive/v${version}.tar.gz";
+        sha256 = "1v9a16b1d8mfzhddf4drh6rbxa0szr842g7614r8ninmc0gi7a2v";
+    };
+
+    meta = {
+      description = "Push notification service module for ZNC";
+      homepage = https://github.com/jreese/znc-push;
+      repositories.git = https://github.com/jreese/znc-push.git;
+      license = stdenv.lib.license.mit;
+      maintainers = [ stdenv.lib.maintainers.offline ];
+    };
+  };
+
+  fish = zncDerivation rec {
+    name = "znc-fish-8e1f150fda";
+    module_name = "fish";
+
+    src = fetchgit {
+        url = meta.repositories.git;
+        rev = "8e1f150fdaf18dc33e023795584dec8255e6614e";
+        sha256 = "0vpk4336c191irl3g7wibblnbqf3903hjrci4gs0qgg1wvj7fw66";
+    };
+
+    meta = {
+      description = "ZNC FiSH module";
+      homepage = https://github.com/dctrwatson/znc-fish;
+      repositories.git = https://github.com/dctrwatson/znc-fish.git;
+      maintainers = [ stdenv.lib.maintainers.offline ];
+    };
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 532ffc1871f..3d47bb70037 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10258,6 +10258,10 @@ let
 
   znc = callPackage ../applications/networking/znc { };
 
+  zncModules = recurseIntoAttrs (
+    callPackage ../applications/networking/znc/modules.nix { }
+  );
+
   zsnes = callPackage_i686 ../misc/emulators/zsnes {
     libpng = libpng12;
   };