summaryrefslogtreecommitdiff
path: root/sys-auth/nss-mdns
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/nss-mdns')
-rw-r--r--sys-auth/nss-mdns/Manifest3
-rw-r--r--sys-auth/nss-mdns/files/lld-17-undefined-versioned-symbols.patch160
-rw-r--r--sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild14
3 files changed, 174 insertions, 3 deletions
diff --git a/sys-auth/nss-mdns/Manifest b/sys-auth/nss-mdns/Manifest
index 223e706eefdc..52ee67305a2c 100644
--- a/sys-auth/nss-mdns/Manifest
+++ b/sys-auth/nss-mdns/Manifest
@@ -1,5 +1,6 @@
+AUX lld-17-undefined-versioned-symbols.patch 6271 BLAKE2B 3a64d6e3a48ffce29a3010b243f414fed91c25ea270b316c9ba0a91ed4fc125fede37ff899d4a89f3b954a1beace373de6375e70d21ba1f7b7c2b2df42a93c25 SHA512 670050403b84aff65d6c653a2296719c6dd0155a44e9f45c41b2f0aee1d2851047eb12feffab1bc1ba846d455fbfcf2704ce37a7d745a2ebe11fb737f8495670
AUX mdns.allow 29 BLAKE2B 9227054a8809f3fdb2f08cf317bc72d8ba44e860cacdf7818737994c28edb8819e1e77d3eb467450c0c1306710d7b0447353b7bb0771b31829ac8999a3d0efbb SHA512 a89d2f8288acd653192ac463f784cdd8a8e8e014094e997d99c4ad5c6522cd3cf1f161714d15b28d9db2cfba60b55302f20a0e810bcf5c9ba633a5ee42dc3f50
DIST nss-mdns-0.15.1.tar.gz 375154 BLAKE2B d848be9d957f81b62627b3c507e9c503fde4a760cec45b4bacb7fe826f5a16c1a0053ab43887daa7e6dc4cb5fd7332bbc30b18113ee1cf911ee15d6dfac97e52 SHA512 11a82ae9f209326b4501c7e6d33c9932b370c4dcacb64d6783140e25688ad6391bbd113e51ee470fd8be12669124eac331593cfd02a040383b4f964ed6ec6154
-EBUILD nss-mdns-0.15.1.ebuild 1775 BLAKE2B 2ba972fafb0a84313f6a46ee5de3e9895e5010239e3ee45a2899ed86a20b5a7373d8c8cf933c0c8ce77e7921f2f1a0e34c4adcb0905aeeb38e3c608f41dc1ba5 SHA512 235b60f3f0051fb9c2c5ce7382adf873f96d871d38c004d8c8e6267fa9bb1815d773b2ed439bcaa5d9a9ab816f2a6ee58d5d18f5eb6013c4b6ed2b24bdfdd345
+EBUILD nss-mdns-0.15.1.ebuild 1927 BLAKE2B ccf2b81519e9107b1cb341c6b78b07d652ebfa394298814b0db401dc339c8760c51826c447a29b61a5655d20a0ab40b28fa1ef0177c337d5213a35e96dbfed75 SHA512 1303bd76bf74691b53ce82d72a2337b8f79548d619edc4ac92c6bb461c001da1d9561d55a53a47ac93988eb8abbf073941bdfb9913ee6c9d7eb2131509ef4cfe
EBUILD nss-mdns-9999.ebuild 1770 BLAKE2B df33b4301425fe60aaebac9d4704be22718f5cf5846d8ee2120eb3fe3c23d17a6bd216269fd98694aab2653aba50f9a46e2fddb911b48fb622ae9a902df2ea48 SHA512 802078a625ff24d445870c71210612eea31e5e7b5fe98f9393289641abb18f9a9d432fbce466b4833bc740fd848659a691bd460ea37d6b9a9a6f2324c43c9069
MISC metadata.xml 407 BLAKE2B ee6b9f2e599e418c9b14c56fe9236d0b27f3363509da6ca1c793402da3a90c7a57be057c1dee468c6af5e4713e511f5b734f15a99a4d9329a63ea84e2e9227a6 SHA512 28d01a5e2ffc317d4cfd9a72be6a5be7147bfae4d320d987e7593e5c1bad5eca43d259f3a25fe8984236adeff4c279544ebc0e00398b5d4e517cc28d0e572759
diff --git a/sys-auth/nss-mdns/files/lld-17-undefined-versioned-symbols.patch b/sys-auth/nss-mdns/files/lld-17-undefined-versioned-symbols.patch
new file mode 100644
index 000000000000..905e41853871
--- /dev/null
+++ b/sys-auth/nss-mdns/files/lld-17-undefined-versioned-symbols.patch
@@ -0,0 +1,160 @@
+Gentoo bug: https://bugs.gentoo.org/919484
+Upstream PR: https://github.com/avahi/nss-mdns/pull/93
+diff --git a/Makefile.am b/Makefile.am
+index d5a83c1..6df75f3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -17,9 +17,6 @@
+ EXTRA_DIST=bootstrap.sh README.md ACKNOWLEDGEMENTS.md NEWS.md LICENSE
+ ACLOCAL_AMFLAGS=-I m4
+
+-# src
+-EXTRA_DIST += src/map-file
+-
+ AM_CFLAGS = \
+ -DMDNS_ALLOW_FILE=\"$(MDNS_ALLOW_FILE)\" \
+ -DAVAHI_SOCKET=\"$(AVAHI_SOCKET)\"
+@@ -47,29 +44,53 @@ endif
+
+ check_PROGRAMS = nss-test avahi-test
+
++src/libnss-mdns-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
++src/libnss-mdns-minimal-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns_minimal_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
++src/libnss-mdns4-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns4_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
++src/libnss-mdns4-minimal-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns4_minimal_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
++src/libnss-mdns6-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns6_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
++src/libnss-mdns6-minimal-la-map-file: $(srcdir)/src/map-file.in $(srcdir)/src/nss.h
++ $(COMPILE) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(libnss_mdns6_minimal_la_CFLAGS) -E -x assembler-with-cpp -DVER_SYM_MAP_GEN -o $@ $<
++
+ libnss_mdns_la_SOURCES=src/util.c src/util.h src/avahi.c src/avahi.h src/nss.c src/nss.h
++EXTRA_libnss_mdns_la_DEPENDENCIES=src/libnss-mdns-la-map-file
+ libnss_mdns_la_CFLAGS=$(AM_CFLAGS)
+-libnss_mdns_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=$(srcdir)/src/map-file
++libnss_mdns_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns-la-map-file
+
+ libnss_mdns_minimal_la_SOURCES=$(libnss_mdns_la_SOURCES)
++EXTRA_libnss_mdns_minimal_la_DEPENDENCIES=src/libnss-mdns-minimal-la-map-file
+ libnss_mdns_minimal_la_CFLAGS=$(libnss_mdns_la_CFLAGS) -DMDNS_MINIMAL
+-libnss_mdns_minimal_la_LDFLAGS=$(libnss_mdns_la_LDFLAGS)
++libnss_mdns_minimal_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns-minimal-la-map-file
+
+ libnss_mdns4_la_SOURCES=$(libnss_mdns_la_SOURCES)
++EXTRA_libnss_mdns4_la_DEPENDENCIES=src/libnss-mdns4-la-map-file
+ libnss_mdns4_la_CFLAGS=$(libnss_mdns_la_CFLAGS) -DNSS_IPV4_ONLY=1
+-libnss_mdns4_la_LDFLAGS=$(libnss_mdns_la_LDFLAGS)
++libnss_mdns4_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns4-la-map-file
+
+ libnss_mdns4_minimal_la_SOURCES=$(libnss_mdns_la_SOURCES)
++EXTRA_libnss_mdns4_minimal_la_DEPENDENCIES=src/libnss-mdns4-minimal-la-map-file
+ libnss_mdns4_minimal_la_CFLAGS=$(libnss_mdns_la_CFLAGS) -DNSS_IPV4_ONLY=1 -DMDNS_MINIMAL
+-libnss_mdns4_minimal_la_LDFLAGS=$(libnss_mdns_la_LDFLAGS)
++libnss_mdns4_minimal_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns4-minimal-la-map-file
+
+ libnss_mdns6_la_SOURCES=$(libnss_mdns_la_SOURCES)
++EXTRA_libnss_mdns6_la_DEPENDENCIES=src/libnss-mdns6-la-map-file
+ libnss_mdns6_la_CFLAGS=$(libnss_mdns_la_CFLAGS) -DNSS_IPV6_ONLY=1
+-libnss_mdns6_la_LDFLAGS=$(libnss_mdns_la_LDFLAGS)
++libnss_mdns6_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns6-la-map-file
+
+ libnss_mdns6_minimal_la_SOURCES=$(libnss_mdns_la_SOURCES)
++EXTRA_libnss_mdns6_minimal_la_DEPENDENCIES=src/libnss-mdns6-minimal-la-map-file
+ libnss_mdns6_minimal_la_CFLAGS=$(libnss_mdns_la_CFLAGS) -DNSS_IPV6_ONLY=1 -DMDNS_MINIMAL
+-libnss_mdns6_minimal_la_LDFLAGS=$(libnss_mdns_la_LDFLAGS)
++libnss_mdns6_minimal_la_LDFLAGS=$(AM_LDFLAGS) -shrext .so.2 -Wl,-version-script=src/libnss-mdns6-minimal-la-map-file
+
+ nss_mdns_la_SOURCES=$(libnss_mdns_la_SOURCES) src/bsdnss.c
+ nss_mdns_la_CFLAGS=$(AM_CFLAGS)
+diff --git a/src/map-file b/src/map-file
+deleted file mode 100644
+index 69e7987..0000000
+--- a/src/map-file
++++ /dev/null
+@@ -1,41 +0,0 @@
+-NSSMDNS_0 {
+-global:
+-
+-_nss_mdns_gethostbyaddr_r;
+-_nss_mdns4_gethostbyaddr_r;
+-_nss_mdns6_gethostbyaddr_r;
+-_nss_mdns_minimal_gethostbyaddr_r;
+-_nss_mdns4_minimal_gethostbyaddr_r;
+-_nss_mdns6_minimal_gethostbyaddr_r;
+-
+-_nss_mdns_gethostbyname_r;
+-_nss_mdns4_gethostbyname_r;
+-_nss_mdns6_gethostbyname_r;
+-_nss_mdns_minimal_gethostbyname_r;
+-_nss_mdns4_minimal_gethostbyname_r;
+-_nss_mdns6_minimal_gethostbyname_r;
+-
+-_nss_mdns_gethostbyname2_r;
+-_nss_mdns4_gethostbyname2_r;
+-_nss_mdns6_gethostbyname2_r;
+-_nss_mdns_minimal_gethostbyname2_r;
+-_nss_mdns4_minimal_gethostbyname2_r;
+-_nss_mdns6_minimal_gethostbyname2_r;
+-
+-_nss_mdns_gethostbyname3_r;
+-_nss_mdns4_gethostbyname3_r;
+-_nss_mdns6_gethostbyname3_r;
+-_nss_mdns_minimal_gethostbyname3_r;
+-_nss_mdns4_minimal_gethostbyname3_r;
+-_nss_mdns6_minimal_gethostbyname3_r;
+-
+-_nss_mdns_gethostbyname4_r;
+-_nss_mdns4_gethostbyname4_r;
+-_nss_mdns6_gethostbyname4_r;
+-_nss_mdns_minimal_gethostbyname4_r;
+-_nss_mdns4_minimal_gethostbyname4_r;
+-_nss_mdns6_minimal_gethostbyname4_r;
+-
+-local:
+-*;
+-};
+diff --git a/src/map-file.in b/src/map-file.in
+new file mode 100644
+index 0000000..caecf41
+--- /dev/null
++++ b/src/map-file.in
+@@ -0,0 +1,14 @@
++NSSMDNS_0 {
++global:
++
++#include "nss.h"
++
++_nss_mdns_gethostbyaddr_r;
++_nss_mdns_gethostbyname2_r;
++_nss_mdns_gethostbyname3_r;
++_nss_mdns_gethostbyname4_r;
++_nss_mdns_gethostbyname_r;
++
++local:
++*;
++};
+diff --git a/src/nss.h b/src/nss.h
+index dd8dbff..d63f51c 100644
+--- a/src/nss.h
++++ b/src/nss.h
+@@ -33,6 +33,7 @@
+ #define _nss_mdns_gethostbyaddr_r _nss_mdns_minimal_gethostbyaddr_r
+ #endif
+
++#ifndef VER_SYM_MAP_GEN
+ // Define prototypes for nss function we're going to export (fixes GCC warnings)
+ #ifndef __FreeBSD__
+ enum nss_status _nss_mdns_gethostbyname4_r(const char*, struct gaih_addrtuple**,
+@@ -50,3 +51,4 @@ enum nss_status _nss_mdns_gethostbyaddr_r(const void*, int, int,
+ int*);
+
+ #endif
++#endif
diff --git a/sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild b/sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild
index 13fffc2c4aae..2c1aa9581be0 100644
--- a/sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild
+++ b/sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit multilib-minimal
+inherit autotools multilib-minimal
DESCRIPTION="Name Service Switch module for Multicast DNS"
HOMEPAGE="https://github.com/lathiat/nss-mdns"
@@ -18,6 +18,16 @@ RDEPEND=">=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
test? ( >=dev-libs/check-0.11[${MULTILIB_USEDEP}] )"
+PATCHES=(
+ "${FILESDIR}"/lld-17-undefined-versioned-symbols.patch
+)
+
+src_prepare() {
+ default
+ # Only needed for LLD 17 patch
+ eautoreconf
+}
+
multilib_src_configure() {
local myconf=(
# $(localstatedir)/run/... is used to locate avahi-daemon socket