diff options
Diffstat (limited to 'sys-auth/nss-mdns')
-rw-r--r-- | sys-auth/nss-mdns/Manifest | 3 | ||||
-rw-r--r-- | sys-auth/nss-mdns/files/lld-17-undefined-versioned-symbols.patch | 160 | ||||
-rw-r--r-- | sys-auth/nss-mdns/nss-mdns-0.15.1.ebuild | 14 |
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 |