[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
11/11: gnu: dante: Enable preloading support.
From: |
guix-commits |
Subject: |
11/11: gnu: dante: Enable preloading support. |
Date: |
Fri, 22 Dec 2023 11:50:44 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 4a1b3830a8ff6b05ad9a2b27c8a2cdbd00a45787
Author: Nguyễn Gia Phong <mcsinyx@disroot.org>
AuthorDate: Thu Dec 7 12:28:29 2023 +0900
gnu: dante: Enable preloading support.
Fixes <https://issues.guix.gnu.org/63250>.
Dante uses dlopen which doesn't work with libc.so but libc.so.6.
This fixes socksify, which is patched to skip invoking uname needlessly.
* gnu/packages/networking.scm (dante): Enable preloading support.
* gnu/packages/patches/dante-non-darwin.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
References:
https://github.com/NixOS/nixpkgs/pull/68418#discussion_r343625853
Change-Id: I03a5b6b6e11cf6a0453a4968ff00c6dd627249a8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
gnu/local.mk | 1 +
gnu/packages/networking.scm | 9 +++------
gnu/packages/patches/dante-non-darwin.patch | 15 +++++++++++++++
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@}"
- branch master updated (0de5677a18 -> 4a1b3830a8), guix-commits, 2023/12/22
- 02/11: gnu: Add python-pyqt, version 6.5.2., guix-commits, 2023/12/22
- 05/11: gnu: node-lts: Update to 18.19.0., guix-commits, 2023/12/22
- 03/11: gnu: Add python-pyqtwebengine, version 6.6.0., guix-commits, 2023/12/22
- 04/11: deprecation: Fix docstring typo., guix-commits, 2023/12/22
- 08/11: gnu: tensorflow-lite: Update to 2.13.1, guix-commits, 2023/12/22
- 09/11: gnu: Add node-normalize-path., guix-commits, 2023/12/22
- 11/11: gnu: dante: Enable preloading support.,
guix-commits <=
- 01/11: gnu: Add python-pyqt6-sip., guix-commits, 2023/12/22
- 06/11: gnu: Add liquidprompt., guix-commits, 2023/12/22
- 07/11: gnu: emacs-jinx: Update to 1.0., guix-commits, 2023/12/22
- 10/11: gnu: Add node-safe-stable-stringify., guix-commits, 2023/12/22