summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/networking.scm9
-rw-r--r--gnu/packages/patches/dante-non-darwin.patch15
3 files changed, 19 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index caf2bb16fa..0d0258d8d4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1066,6 +1066,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/d-feet-drop-unused-meson-argument.patch	\
+  %D%/packages/patches/dante-non-darwin.patch			\
   %D%/packages/patches/date-output-pkg-config-files.patch	\
   %D%/packages/patches/datefudge-gettimeofday.patch		\
   %D%/packages/patches/dbacl-include-locale.h.patch		\
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2d2bce96c2..dad217beb0 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3640,13 +3640,10 @@ and check if the WLAN key or the master key was transmitted unencrypted.")
        (uri (string-append "https://www.inet.no/dante/files/dante-"
                            version ".tar.gz"))
        (sha256
-        (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))))
+         (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))
+       (patches (search-patches "dante-non-darwin.patch"))))
     (build-system gnu-build-system)
-    (arguments
-     ;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld
-     ;; script).  When preloading is enabled, 'sockd' failed with:
-     ;;    … Failed to open library "libc.so": …: invalid ELF header
-     '(#:configure-flags '("--disable-preload")))
+    (arguments '(#:configure-flags '("--with-libc=libc.so.6")))
     (home-page "https://www.inet.no/dante/")
     (synopsis "SOCKS server and client")
     (description "Dante is a SOCKS client and server implementation.  It can
diff --git a/gnu/packages/patches/dante-non-darwin.patch b/gnu/packages/patches/dante-non-darwin.patch
new file mode 100644
index 0000000000..0ecb705c78
--- /dev/null
+++ b/gnu/packages/patches/dante-non-darwin.patch
@@ -0,0 +1,15 @@
+Disable runtime check for Darwin so we don't have to substitute uname.
+--- a/bin/socksify.in
++++ b/bin/socksify.in
+@@ -65,11 +65,6 @@
+     unset FULLPATH
+ fi
+ 
+-#use "FLAT_NAMESPACE" on Darwin in attempt to match LD_PRELOAD behavior
+-if test x`uname` = xDarwin; then
+-    export DYLD_FORCE_FLAT_NAMESPACE=t
+-fi
+-
+ #dlib/Makefile.am libtool flags should produce a predictable library name
+ #(ending in SOLIB_POSTFIX).
+ LIBRARY="${SOCKS_LIBRARY:-${FULLPATH}libdsocks.@SOLIB_POSTFIX@}"