about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mysocketw
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mysocketw')
-rw-r--r--nixpkgs/pkgs/development/libraries/mysocketw/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/mysocketw/gcc.patch13
2 files changed, 39 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mysocketw/default.nix b/nixpkgs/pkgs/development/libraries/mysocketw/default.nix
new file mode 100644
index 000000000000..8164f4ec9729
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mysocketw/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation {
+  name = "mysocketw-031026";
+  src = fetchurl {
+    url = http://www.digitalfanatics.org/cal/socketw/files/SocketW031026.tar.gz;
+    sha256 = "0crinikhdl7xihzmc3k3k41pgxy16d5ci8m9sza1lbibns7pdwj4";
+  };
+
+  patches = [ ./gcc.patch ];
+
+  buildInputs = [ openssl ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/Makefile \
+        --replace -Wl,-soname, -Wl,-install_name,$out/lib/
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" "CXX=c++" ];
+
+  meta = {
+    description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/mysocketw/gcc.patch b/nixpkgs/pkgs/development/libraries/mysocketw/gcc.patch
new file mode 100644
index 000000000000..7779a18fa528
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mysocketw/gcc.patch
@@ -0,0 +1,13 @@
+I picked it up from:
+http://www.rigsofrods.com/wiki/images/c/c0/Socketw.patch
+
+--- a/src/sw_base.cxx.old	2009-12-19 21:19:31.057051328 -0800
++++ b/src/sw_base.cxx	2009-12-19 21:19:44.939551918 -0800
+@@ -19,6 +19,7 @@
+ #include <time.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #ifndef __WIN32__
+   #include <netdb.h>