about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/networking/sstp/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/tools/networking/sstp/default.nix b/pkgs/tools/networking/sstp/default.nix
new file mode 100644
index 0000000000000..52ca9ad494fb1
--- /dev/null
+++ b/pkgs/tools/networking/sstp/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, ppp, libevent, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "sstp-client-${version}";
+  version = "1.0.9";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sstp-client/sstp-client/${version}/sstp-client-${version}.tar.gz";
+    sha256 = "0kpwywbavmlgid07rk8ff0bxp75bnfa1nc28w4j0pkxjhmja5n6k";
+  };
+
+  patchPhase =
+    ''
+      sed 's,/usr/sbin/pppd,${ppp}/sbin/pppd,' -i src/sstp-pppd.c
+      sed "s,sstp-pppd-plugin.so,$out/lib/pppd/sstp-pppd-plugin.so," -i src/sstp-pppd.c
+    '';
+
+  configureFlags = [
+    "--with-openssl=${openssl}"
+    "--with-runtime-dir=/run/sstpc"
+    "--with-pppd-plugin-dir=$(out)/lib/pppd"
+  ];
+
+  buildInputs = [ libevent openssl ppp ];
+
+  meta = {
+    description = "SSTP client for Linux";
+    homepage = http://sstp-client.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ktosiek ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 901e8c608b850..02eecb885e58a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2551,6 +2551,8 @@ let
 
   sshuttle = callPackage ../tools/security/sshuttle { };
 
+  sstp = callPackage ../tools/networking/sstp {};
+
   sudo = callPackage ../tools/security/sudo { };
 
   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) { };