summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix17
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix31
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 50 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 2dc3217f290..5209518cb61 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,13 +1,26 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.6";
+  name = "iptables-1.4.8";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    sha256 = "193jdplnkzikrmk0y313d9alc4kp5gi55aikw3b668fnrac2fwvf";
+    sha256 = "1d6wykz1x2h0hp03akpm5gdgnamb1ij1nxzx3w3lhdvbzjwpbaxq";
   };
 
+  # Install header files required by miniupnpd.
+  postInstall =
+    ''
+      cp include/iptables.h $out/include
+      cp include/libiptc/libiptc.h include/libiptc/ipt_kernel_headers.h $out/include/libiptc
+      mkdir $out/include/iptables
+      cp include/iptables/internal.h $out/include/iptables
+      mkdir $out/include/net
+      cp -prd include/net/netfilter $out/include/net/netfilter
+      mkdir $out/include/linux
+      ln -s $out/include/net/netfilter $out/include/linux/netfilter
+    '';
+
   meta = {
     description = "A program to configure the Linux IP packet filtering ruleset";
     homepage = http://www.netfilter.org/projects/iptables/index.html;
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
new file mode 100644
index 00000000000..90de160a3e4
--- /dev/null
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, iptables }:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "miniupnpd-1.4";
+
+  src = fetchurl {
+    url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
+    sha256 = "06q5agkzv2snjxcsszpm27h8bqv41jijahs8jqnarxdrik97rfl5";
+  };
+
+  buildInputs = [ iptables ];
+
+  NIX_CFLAGS_COMPILE = "-DIPTABLES_143";
+
+  NIX_CFLAGS_LINK = "-liptc";
+  
+  makefile = "Makefile.linux";
+
+  makeFlags = "LIBS=";
+
+  postBuild = "cat config.h";
+
+  installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
+
+  meta = {
+    homepage = http://miniupnp.free.fr/;
+    description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 94cb6ce9219..34bbdf72249 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1094,6 +1094,10 @@ let
     flex = flex2535;
   };
 
+  miniupnpd = import ../tools/networking/miniupnpd {
+    inherit fetchurl stdenv iptables;
+  };
+
   mjpegtools = import ../tools/video/mjpegtools {
     inherit fetchurl stdenv libjpeg;
     inherit (xlibs) libX11;