net-fs/nfs-utils: Fixed build on musl
authorLars Wendler <polynomial-c@gentoo.org>
Sat, 20 Apr 2019 17:34:52 +0000 (19:34 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Sat, 20 Apr 2019 17:35:17 +0000 (19:35 +0200)
Closes: https://bugs.gentoo.org/651080
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
net-fs/nfs-utils/files/nfs-utils-2.3.4_rc2-improved_res_querydomain_check.patch [new file with mode: 0644]
net-fs/nfs-utils/nfs-utils-2.3.3.ebuild

diff --git a/net-fs/nfs-utils/files/nfs-utils-2.3.4_rc2-improved_res_querydomain_check.patch b/net-fs/nfs-utils/files/nfs-utils-2.3.4_rc2-improved_res_querydomain_check.patch
new file mode 100644 (file)
index 0000000..787a96f
--- /dev/null
@@ -0,0 +1,41 @@
+From 4f91877bb313a35ade44d9dde1fd219035ba1fd9 Mon Sep 17 00:00:00 2001
+From: Patrick Steinhardt <ps@pks.im>
+Date: Wed, 27 Feb 2019 11:58:47 -0500
+Subject: [PATCH] configure.ac: more carefully detect availability of
+ res_querydomain(3)
+
+Since glibc 2.2, the function res_querydomain(3) is implemented as a
+define to `__res_querydomain`. Due to this implementation detail, using
+`AC_CHECK_LIB` with a symbol name of "res_querydomain" will cause a
+linking failure and thus fail to detect its availability. This is why
+right now, we try to detect availability of `__res_querydomain` instead.
+
+Unfortunately, this may break on other platforms where there is no
+`__res_querydomain` but only the function without leading underscores.
+To fix this, we can perform another `AC_CHECK_LIB([resolv],
+[res_querydomain], ...)` call in case where the other one was not found
+and only raise an error if both symbols weren't found.
+
+Signed-off-by: Patrick Steinhardt <ps@pks.im>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+---
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4bf5aea..cb9d921 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -411,7 +411,8 @@ if test "$enable_gss" = yes; then
+ fi
+ dnl libdnsidmap specific checks
+-AC_CHECK_LIB([resolv], [__res_querydomain], , AC_MSG_ERROR(res_querydomain needed))
++AC_CHECK_LIB([resolv], [__res_querydomain], ,
++      AC_CHECK_LIB([resolv], [res_querydomain], , AC_MSG_ERROR(res_querydomain needed)))
+ AC_ARG_ENABLE([ldap],
+       [AS_HELP_STRING([--disable-ldap],[Disable support for LDAP @<:default=detect@:>@])])
+-- 
+1.8.3.1
+
index be66fe1e765d8fa5fd22631d4b6d99ab631bf58b..18852036dc251e057bcf5e6e2696605524afc001 100644 (file)
@@ -68,6 +68,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.2.8-cross-build.patch
        "${FILESDIR}"/${PN}-2.3.2-junction_libs.patch
        "${FILESDIR}"/${PN}-2.3.2-no-werror.patch
+       "${FILESDIR}"/${PN}-2.3.4_rc2-improved_res_querydomain_check.patch #651080
 )
 
 src_prepare() {