From 7c951ede31dbd2542dfa8269827b6c26d09ff26e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 14 Jul 2014 23:23:13 +0200 Subject: [PATCH] libmemcached: fix linking with libpthread Add patch to fix linking against libpthread (from Fedora). https://bugzilla.redhat.com/show_bug.cgi?id=1037707 https://bugs.launchpad.net/libmemcached/+bug/1281907 This fixes (upcoming) libmemcached use in collectd, which currently doesn't work because of link failure caused by missing "pthread_once" symbol. --- .../libraries/libmemcached/default.nix | 5 +++++ ...emcached-fix-linking-with-libpthread.patch | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix index ebd0d08717d..f3efaa405c7 100644 --- a/pkgs/development/libraries/libmemcached/default.nix +++ b/pkgs/development/libraries/libmemcached/default.nix @@ -8,6 +8,11 @@ stdenv.mkDerivation rec { sha256 = "10jzi14j32lpq0if0p9vygcl2c1352hwbywzvr9qzq7x6aq0nb72"; }; + # Fix linking against libpthread (patch from Fedora) + # https://bugzilla.redhat.com/show_bug.cgi?id=1037707 + # https://bugs.launchpad.net/libmemcached/+bug/1281907 + patches = [ ./libmemcached-fix-linking-with-libpthread.patch ]; + buildInputs = [ cyrus_sasl libevent ]; meta = { diff --git a/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch new file mode 100644 index 00000000000..e5e21c43358 --- /dev/null +++ b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch @@ -0,0 +1,19 @@ +diff -up libmemcached-1.0.16/build-aux/ltmain.sh.orig libmemcached-1.0.16/build-aux/ltmain.sh +--- libmemcached-1.0.16/build-aux/ltmain.sh.orig 2013-12-03 16:36:53.222107642 +0100 ++++ libmemcached-1.0.16/build-aux/ltmain.sh 2013-12-03 16:37:35.770132249 +0100 +@@ -5664,6 +5664,15 @@ func_mode_link () + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac ++ # As we are forced to pass -nostdlib to g++ during linking, the option ++ # -pthread{,s} is not in effect; add the -lpthread to $deplist ++ # explicitly to link correctly. ++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then ++ case "$arg" in ++ -pthread*) func_append deplibs " -lpthread" ;; ++ esac ++ fi ++ + continue + ;; +