commit:     4ab69c8447b50953c90c7524d09cd836f57355ef
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  2 02:50:52 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec  2 02:51:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ab69c84

net-analyzer/net-snmp: fix LDFLAGS ordering; rebase patches

No guarantee this fixes the reported bug but it needed doing anyway
and I've sent the rebased patches upstream. It'll make the situation
easier to deal with now these are tidied up, anyway.

Unfortunately couldn't reproduce the bug yet w/ -Os.

Bug: https://bugs.gentoo.org/883945
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...p-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch | 231 +++++++++++++++++++++
 ...5.9.3-0002-Tidy-up-net-snmp-config-output.patch |  51 +++++
 ...ne-Libs.private-entries-in-netsnmp-.pc.in.patch |  30 +++
 ...-Search-for-ltinfo-in-configure-if-needed.patch |  24 +++
 ...t-snmp-9999.ebuild => net-snmp-5.9.3-r2.ebuild} |  13 +-
 net-analyzer/net-snmp/net-snmp-9999.ebuild         |  13 +-
 6 files changed, 350 insertions(+), 12 deletions(-)

diff --git 
a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch
 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch
new file mode 100644
index 000000000000..785f5ee57d1c
--- /dev/null
+++ 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch
@@ -0,0 +1,231 @@
+https://github.com/net-snmp/net-snmp/pull/493
+
+From 1151979ecfba1ef10627175549d052cb76ef9d21 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 2 Dec 2022 02:26:29 +0000
+Subject: [PATCH 1/4] Fix LDFLAGS vs LIBS ordering
+
+LDFLAGS must come before both LIBS & any listed objects in order
+for certain valid LDFLAGS, like '-Wl,--as-needed' to work correctly
+(otherwise it'll either take no effect or discard libraries when
+they're needed).
+
+Gentoo has been carrying this patch for a while.
+
+Signed-off-by: Sam James <[email protected]>
+--- a/Makefile.top
++++ b/Makefile.top
+@@ -86,11 +86,11 @@ LIBCURRENT  = 40
+ LIBAGE      = 0
+ LIBREVISION = 0
+ 
+-LIB_LD_CMD      = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) 
-version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o
++LIB_LD_CMD      = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) $(LDFLAGS) 
-rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) 
@LD_NO_UNDEFINED@ -o
+ LIB_EXTENSION   = la
+ LIB_VERSION     =
+ LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(INSTALL_PREFIX)$(libdir)
+-LINK          = $(LIBTOOL) --mode=link $(LINKCC)
++LINK          = $(LIBTOOL) --mode=link $(LINKCC) $(LDFLAGS)
+ # RANLIB      = @RANLIB@
+ RANLIB                = :
+ 
+--- a/agent/Makefile.in
++++ b/agent/Makefile.in
+@@ -288,26 +288,26 @@ all: agentlib subdirs miblib $(INSTALLBINPROGS) 
$(INSTALLSBINPROGS)
+ # build stuff targets
+ #
+ getkstat: getkstat.o
+-      $(CC) $(CFLAGS) -o $@ $? $(LIBS)
++      $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $? $(LIBS)
+ 
+ getkstat.o: mibgroup/kernel_sunos5.c
+-      $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $? 
++      $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $?
+ 
+ getmibstat: getmibstat.o
+-      $(CC) $(CFLAGS) -o $@ $? $(LIBS)
++      $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $? $(LIBS)
+ 
+ getmibstat.o: mibgroup/kernel_sunos5.c
+-      $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? 
++      $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $?
+ 
+-snmpd$(EXEEXT):       ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) 
$(MIBLIB) $(LIBTARG) 
+-      $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS}
++snmpd$(EXEEXT):       ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) 
$(MIBLIB) $(LIBTARG)
++      $(LINK) $(CFLAGS) $(LDFLAGS) -o $@ ${LAGENTOBJS} ${OUR_AGENT_LIBS}
+ 
+ libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION):    ${LLIBAGENTOBJS} $(USELIBS)
+-      $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} 
$(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
++      $(LIB_LD_CMD) $(AGENTLIB) $(LDFLAGS) ${LLIBAGENTOBJS} $(USELIBS) 
${LAGENTLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
+       $(RANLIB) $(AGENTLIB)
+ 
+ libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(AGENTLIB) 
$(USELIBS) subdirs
+-      $(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) $(LDFLAGS) 
${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
++      $(LIB_LD_CMD) $(MIBLIB) $(LDFLAGS) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) 
${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
+       $(RANLIB) $(MIBLIB)
+ 
+ agentlib: $(AGENTLIB)
+--- a/agent/helpers/Makefile.in
++++ b/agent/helpers/Makefile.in
+@@ -32,5 +32,5 @@ LOBJS = dummy.lo
+ all: standardall
+ 
+ libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION):    $(LOBJS)
+-      $(LIB_LD_CMD) $@ $(LOBJS) $(LDFLAGS)
++      $(LIB_LD_CMD) $@ $(LDFLAGS) $(LOBJS)
+       $(RANLIB) $@
+--- a/apps/Makefile.in
++++ b/apps/Makefile.in
+@@ -163,37 +163,37 @@ OTHERUNINSTALL=snmpinformuninstall 
snmptrapdperluninstall        \
+ # build rules
+ #
+ snmpwalk$(EXEEXT):    snmpwalk.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LIBS}
+ 
+ snmpbulkwalk$(EXEEXT):    snmpbulkwalk.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LIBS}
+ 
+ snmpbulkget$(EXEEXT):    snmpbulkget.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LIBS}
+ 
+ snmptranslate$(EXEEXT):    snmptranslate.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LIBS}
+ 
+ snmpstatus$(EXEEXT):    snmpstatus.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LIBS}
+ 
+ snmpget$(EXEEXT):    snmpget.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpget.$(OSUFFIX) ${LIBS}
+ 
+ snmpdelta$(EXEEXT):    snmpdelta.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LIBS}
+ 
+ snmptable$(EXEEXT):    snmptable.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptable.$(OSUFFIX) ${LIBS}
+ 
+ snmptest$(EXEEXT):    snmptest.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptest.$(OSUFFIX) ${LIBS}
+ 
+ snmptrapd$(EXEEXT):    $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS)
+-      $(LINK) ${CFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} 
${TRAPLIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) 
${TRAPLIBS}
+ 
+ snmptrap$(EXEEXT):    snmptrap.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LIBS}
+ 
+ snmpinform$(EXEEXT): snmptrap$(EXEEXT)
+       rm -f snmpinform
+@@ -204,40 +204,40 @@ snmptop$(EXEEXT): snmpps$(EXEEXT)
+       $(LN_S) snmpps$(EXEEXT) snmptop$(EXEEXT)
+ 
+ snmpset$(EXEEXT):    snmpset.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpset.$(OSUFFIX) ${LIBS}
+ 
+ snmpusm$(EXEEXT):    snmpusm.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LIBS}
+ 
+ snmpvacm$(EXEEXT):    snmpvacm.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LIBS}
+ 
+ snmptls$(EXEEXT):    snmptls.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} 
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmptls.$(OSUFFIX) ${LIBS}
+ 
+ agentxtrap$(EXEEXT):    agentxtrap.$(OSUFFIX) $(USEAGENTLIBS)
+-      $(LINK) ${CFLAGS} -o $@ agentxtrap.$(OSUFFIX) ${LDFLAGS} 
$(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ agentxtrap.$(OSUFFIX) 
$(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS}
+ 
+ snmpgetnext$(EXEEXT):    snmpgetnext.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LIBS}
+ 
+ encode_keychange$(EXEEXT):    encode_keychange.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LIBS}
+ 
+ snmpdf$(EXEEXT):    snmpdf.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LIBS}
+ 
+ snmpps$(EXEEXT):    snmpps.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS}
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpps.$(OSUFFIX) @LIBCURSES@ ${LIBS}
+ 
+ snmpping$(EXEEXT):    snmpping.$(OSUFFIX) $(USELIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmpping.$(OSUFFIX) ${LIBS} -lm
+ 
+ snmppcap$(EXEEXT):    snmppcap.$(OSUFFIX) $(USEAGENTLIBS)
+-      $(LINK) ${CFLAGS} -o $@ snmppcap.$(OSUFFIX) ${LDFLAGS} ${USEAGENTLIBS} 
${LIBS} -lpcap
++      $(LINK) ${CFLAGS} ${LDFLAGS} -o $@ snmppcap.$(OSUFFIX) ${USEAGENTLIBS} 
${LIBS} -lpcap
+ 
+ libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION): $(LLIBTRAPD_OBJS)
+-      $(LIB_LD_CMD) $@ ${LLIBTRAPD_OBJS} $(MIBLIB) $(MYSQL_LIBS) $(USELIBS) 
$(PERLLDOPTS_FOR_LIBS) $(LDFLAGS)
++      $(LIB_LD_CMD) $@ $(LDFLAGS) ${LLIBTRAPD_OBJS} $(MIBLIB) $(MYSQL_LIBS) 
$(USELIBS) $(PERLLDOPTS_FOR_LIBS)
+       $(RANLIB) $@
+ 
+ snmpinforminstall:
+--- a/apps/snmpnetstat/Makefile.in
++++ b/apps/snmpnetstat/Makefile.in
+@@ -34,4 +34,4 @@ LIBS=         
../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) $(VAL_LIBS) @LIBS
+ all: standardall
+ 
+ snmpnetstat$(EXEEXT): ${LOBJS} ${USELIBS}
+-      ${LINK} ${CFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LDFLAGS} ${LIBS}
++      ${LINK} ${CFLAGS} ${LDFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LIBS}
+--- a/snmplib/Makefile.in
++++ b/snmplib/Makefile.in
+@@ -229,11 +229,11 @@ all: standardall
+ 
+ # how to build the libraries.
+ libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    $(TOBJS)
+-      $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@
++      $(LIB_LD_CMD) $@ $(LDFLAGS) $(TOBJS) @LNETSNMPLIBS@
+       $(RANLIB) $@
+ 
+ libsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    $(TOBJS)
+-      $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@
++      $(LIB_LD_CMD) $@ $(LDFLAGS) $(TOBJS) @LNETSNMPLIBS@
+       $(RANLIB) $@
+ 
+ #
+--- a/testing/Makefile.in
++++ b/testing/Makefile.in
+@@ -64,16 +64,16 @@ test-mibs:
+       cd $(srcdir)/rfc1213 ; ./run
+ 
+ etest:    etimetest.o $(PARSEOBJS) $(USELIBS)
+-      ${CC} -o $@ etimetest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 
++      ${CC} ${LDFLAGS} -o $@ etimetest.o $(PARSEOBJS) ${LIBS}
+ 
+ ktest:    keymanagetest.o $(PARSEOBJS) $(USELIBS)
+-      ${CC} -o $@ keymanagetest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 
++      ${CC} ${LDFLAGS} -o $@ keymanagetest.o $(PARSEOBJS) ${LIBS}
+ 
+ misctest:    misctest.o $(PARSEOBJS) $(USELIBS)
+-      ${CC} -o $@ misctest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 
++      ${CC} ${LDFLAGS} -o $@ misctest.o $(PARSEOBJS) ${LIBS}
+ 
+ stest:    scapitest.o $(PARSEOBJS) $(USELIBS)
+-      ${CC} -o $@ scapitest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 
++      ${CC} ${LDFLAGS} -o $@ scapitest.o $(PARSEOBJS) ${LIBS}
+ 
+ clean: testclean
+       rm -f *.o core *.core $(TARG)
+-- 
+2.38.1
+

diff --git 
a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch
 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch
new file mode 100644
index 000000000000..83d05a86f0ac
--- /dev/null
+++ 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0002-Tidy-up-net-snmp-config-output.patch
@@ -0,0 +1,51 @@
+https://github.com/net-snmp/net-snmp/pull/493
+
+From a73bda5ca7afbeaf3cf3b73101f7541cf92147ef Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 2 Dec 2022 02:27:21 +0000
+Subject: [PATCH 2/4] Tidy up net-snmp-config output
+
+`net-snmp-config --libs` should return only the needed libraries linked to
+libraries which external consumers should use.
+
+Gentoo has been carrying this patch for a while, as has Fedora.
+
+Bug: https://bugs.gentoo.org/693970
+Signed-off-by: Sam James <[email protected]>
+--- a/net-snmp-config.in
++++ b/net-snmp-config.in
+@@ -193,13 +193,13 @@ else
+     #################################################### client lib
+     --libs)
+       # use this one == --netsnmp-libs + --external-libs
+-      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS
++      echo $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS
+       ;;
+     --netsnmp-libs)
+       echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS
+       ;;
+     --external-libs)
+-      echo $NSC_LDFLAGS $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@
++      echo $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@
+       ;;
+     #################################################### agent lib
+     --base-agent-libs)
+@@ -210,13 +210,13 @@ else
+       ;;
+     --agent-libs)
+       # use this one == --netsnmp-agent-libs + --external-libs
+-      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS
++      echo $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS
+       ;;
+     --netsnmp-agent-libs)
+       echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS
+       ;;
+     --external-agent-libs)
+-      echo $NSC_LDFLAGS $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS 
$NSC_LIBS
++      echo $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS
+       ;;
+     ####################################################
+     --version|--ver*)
+-- 
+2.38.1
+

diff --git 
a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch
 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch
new file mode 100644
index 000000000000..8b825ae8cf5d
--- /dev/null
+++ 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch
@@ -0,0 +1,30 @@
+https://github.com/net-snmp/net-snmp/pull/493
+
+From 7261ea344004ac42b6099acfba49c0ea731d049c Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 2 Dec 2022 02:29:45 +0000
+Subject: [PATCH 3/4] Prune Libs.private entries in netsnmp*.pc.in
+
+Gentoo has been carrying this patch for a while, as has Fedora.
+
+Bug: https://bugs.gentoo.org/693970
+Signed-off-by: Sam James <[email protected]>
+--- a/netsnmp-agent.pc.in
++++ b/netsnmp-agent.pc.in
+@@ -9,4 +9,4 @@ URL: http://www.net-snmp.org
+ Version: @PACKAGE_VERSION@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp
+-Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ 
@LNETSNMPLIBS@ @LIBS@
++Libs.private: @LMIBLIBS@ @LAGENTLIBS@ @LNETSNMPLIBS@ @LIBS@
+--- a/netsnmp.pc.in
++++ b/netsnmp.pc.in
+@@ -9,4 +9,4 @@ URL: http://www.net-snmp.org
+ Version: @PACKAGE_VERSION@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -lnetsnmp
+-Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@
++Libs.private: @LNETSNMPLIBS@ @LIBS@
+-- 
+2.38.1
+

diff --git 
a/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch
 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch
new file mode 100644
index 000000000000..c92c88cfbb2f
--- /dev/null
+++ 
b/net-analyzer/net-snmp/files/net-snmp-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch
@@ -0,0 +1,24 @@
+https://github.com/net-snmp/net-snmp/pull/493
+
+From 6b70bd4ffa7a905700807eecd3e07a472e2eda55 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 2 Dec 2022 02:31:15 +0000
+Subject: [PATCH 4/4] Search for -ltinfo in configure if needed
+
+Gentoo has been carrying this patch for a while.
+
+Bug: https://bugs.gentoo.org/883945
+Signed-off-by: Sam James <[email protected]>
+--- a/configure.d/config_os_libs2
++++ b/configure.d/config_os_libs2
+@@ -774,6 +774,7 @@ NETSNMP_SEARCH_LIBS([endwin], [curses ncurses], [
+   [HAVE_LIBCURSES=FALSE],,
+   [LIBCURSES])
+ AC_SUBST([HAVE_LIBCURSES])
++NETSNMP_SEARCH_LIBS([cbreak], [tinfo],[LIBCURSES="$LIBCURSES -ltinfo"],,,)
+ AC_SUBST([LIBCURSES])
+ 
+ #   libm for ceil
+-- 
+2.38.1
+

diff --git a/net-analyzer/net-snmp/net-snmp-9999.ebuild 
b/net-analyzer/net-snmp/net-snmp-5.9.3-r2.ebuild
similarity index 92%
copy from net-analyzer/net-snmp/net-snmp-9999.ebuild
copy to net-analyzer/net-snmp/net-snmp-5.9.3-r2.ebuild
index 1aed4861943b..b6009335d250 100644
--- a/net-analyzer/net-snmp/net-snmp-9999.ebuild
+++ b/net-analyzer/net-snmp/net-snmp-5.9.3-r2.ebuild
@@ -20,7 +20,7 @@ else
        # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz
        SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.gz"
 
-       KEYWORDS="~alpha ~amd64 ~mips ~ppc ~x86"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
 fi
 
 SRC_URI+=" 
https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz";
@@ -84,14 +84,15 @@ RDEPEND="
 "
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-5.8-do-not-conflate-LDFLAGS-and-LIBS.patch
        "${FILESDIR}"/${PN}-5.8-pcap.patch
-       "${FILESDIR}"/${PN}-5.8.1-pkg-config.patch
-       "${FILESDIR}"/${PN}-5.8.1-net-snmp-config-libdir.patch
        "${FILESDIR}"/${PN}-5.8.1-mysqlclient.patch
        "${FILESDIR}"/${PN}-5.9-MakeMaker.patch
-       "${FILESDIR}"/${PN}-5.9.2-fix-LDFLAGS.patch
-       "${FILESDIR}"/${PN}-99999999-tinfo.patch
+       "${FILESDIR}"/${P}-configure-clang16.patch
+       # https://github.com/net-snmp/net-snmp/pull/493
+       "${FILESDIR}"/${PN}-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch
+       "${FILESDIR}"/${PN}-5.9.3-0002-Tidy-up-net-snmp-config-output.patch
+       
"${FILESDIR}"/${PN}-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch
+       
"${FILESDIR}"/${PN}-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch
 )
 
 pkg_setup() {

diff --git a/net-analyzer/net-snmp/net-snmp-9999.ebuild 
b/net-analyzer/net-snmp/net-snmp-9999.ebuild
index 1aed4861943b..b6009335d250 100644
--- a/net-analyzer/net-snmp/net-snmp-9999.ebuild
+++ b/net-analyzer/net-snmp/net-snmp-9999.ebuild
@@ -20,7 +20,7 @@ else
        # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz
        SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.gz"
 
-       KEYWORDS="~alpha ~amd64 ~mips ~ppc ~x86"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
 fi
 
 SRC_URI+=" 
https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz";
@@ -84,14 +84,15 @@ RDEPEND="
 "
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-5.8-do-not-conflate-LDFLAGS-and-LIBS.patch
        "${FILESDIR}"/${PN}-5.8-pcap.patch
-       "${FILESDIR}"/${PN}-5.8.1-pkg-config.patch
-       "${FILESDIR}"/${PN}-5.8.1-net-snmp-config-libdir.patch
        "${FILESDIR}"/${PN}-5.8.1-mysqlclient.patch
        "${FILESDIR}"/${PN}-5.9-MakeMaker.patch
-       "${FILESDIR}"/${PN}-5.9.2-fix-LDFLAGS.patch
-       "${FILESDIR}"/${PN}-99999999-tinfo.patch
+       "${FILESDIR}"/${P}-configure-clang16.patch
+       # https://github.com/net-snmp/net-snmp/pull/493
+       "${FILESDIR}"/${PN}-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch
+       "${FILESDIR}"/${PN}-5.9.3-0002-Tidy-up-net-snmp-config-output.patch
+       
"${FILESDIR}"/${PN}-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch
+       
"${FILESDIR}"/${PN}-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch
 )
 
 pkg_setup() {

Reply via email to