From 5074a95c54acffd9059971287d688f413c97cd7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Mon, 20 Oct 2014 11:11:16 +0200 Subject: [PATCH 1/2] tsocks: fix LD_PRELOAD references --- pkgs/development/libraries/tsocks/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/tsocks/default.nix b/pkgs/development/libraries/tsocks/default.nix index bdc2b4da6e3e..64e2d9506138 100644 --- a/pkgs/development/libraries/tsocks/default.nix +++ b/pkgs/development/libraries/tsocks/default.nix @@ -2,14 +2,16 @@ stdenv.mkDerivation rec { name = "tsocks-${version}"; version = "1.8beta5"; - + src = fetchurl { url = "mirror://sourceforge/tsocks/${name}.tar.gz"; sha256 = "0ixkymiph771dcdzvssi9dr2pk1bzaw9zv85riv3xl40mzspx7c4"; }; preConfigure = '' - export configureFlags="$configureFlags --libdir=$out/lib" + sed -i -e "s,\\\/usr,"$(echo $out|sed -e "s,\\/,\\\\\\\/,g")",g" tsocks + substituteInPlace tsocks --replace /usr $out + export configureFlags="$configureFlags --libdir=$out/lib" ''; meta = with stdenv.lib; { From 6639fa51d24e3383c107c96e767fbcc31d69d314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Mon, 20 Oct 2014 11:11:16 +0200 Subject: [PATCH 2/2] tsocks: support poll(2) applications --- pkgs/development/libraries/tsocks/default.nix | 2 ++ pkgs/development/libraries/tsocks/poll.patch | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/libraries/tsocks/poll.patch diff --git a/pkgs/development/libraries/tsocks/default.nix b/pkgs/development/libraries/tsocks/default.nix index 64e2d9506138..e33234304d2f 100644 --- a/pkgs/development/libraries/tsocks/default.nix +++ b/pkgs/development/libraries/tsocks/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0ixkymiph771dcdzvssi9dr2pk1bzaw9zv85riv3xl40mzspx7c4"; }; + patches = [ ./poll.patch ]; + preConfigure = '' sed -i -e "s,\\\/usr,"$(echo $out|sed -e "s,\\/,\\\\\\\/,g")",g" tsocks substituteInPlace tsocks --replace /usr $out diff --git a/pkgs/development/libraries/tsocks/poll.patch b/pkgs/development/libraries/tsocks/poll.patch new file mode 100644 index 000000000000..2bfeb9f779ca --- /dev/null +++ b/pkgs/development/libraries/tsocks/poll.patch @@ -0,0 +1,26 @@ +From Ingo Hadan Fri, 02 Apr 2010 21:08:50 +0200 +From: Julien Moutinho +Date: Fri, 26 Apr 2013 01:57:26 +0200 +Subject: tsocks fails if socksified application uses poll(2) (e.g. subversion-1.5) + +--- +diff --git a/tsocks.c b/tsocks.c +index 9cfdfff..470babd 100644 +--- a/tsocks.c ++++ b/tsocks.c +@@ -657,10 +657,11 @@ int poll(POLL_SIGNATURE) { + * be ready for writing), otherwise we'll just let the select loop + * come around again (since we can't flag it for read, we don't know + * if there is any data to be read and can't be bothered checking) */ +- if (conn->selectevents & WRITE) { +- setevents |= POLLOUT; ++ if (conn->selectevents & POLLOUT) { ++ ufds[i].revents |= POLLOUT; + nevents++; + } ++ ufds[i].events = conn->selectevents; + } + } + } while (nevents == 0); + +