commit: d32abde3460a19cce033cff6660f06b86ad5dce9 Author: Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com> AuthorDate: Wed May 8 11:13:40 2024 +0000 Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> CommitDate: Fri Apr 4 19:33:11 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d32abde3
net-libs/daq: Fix passing from incompatible pointer type And update EAPI 7 -> 8 Closes: https://bugs.gentoo.org/921572 Signed-off-by: Brahmajit Das <listout <AT> listout.xyz> Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org> net-libs/daq/daq-2.0.7-r1.ebuild | 83 ++++++++++++++++++++++ net-libs/daq/files/daq-2.0.7-gcc14-build-fix.patch | 12 ++++ 2 files changed, 95 insertions(+) diff --git a/net-libs/daq/daq-2.0.7-r1.ebuild b/net-libs/daq/daq-2.0.7-r1.ebuild new file mode 100644 index 000000000000..ef6d948ceb97 --- /dev/null +++ b/net-libs/daq/daq-2.0.7-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Data Acquisition library, for packet I/O" +HOMEPAGE="https://www.snort.org/" +SRC_URI="https://www.snort.org/downloads/snort/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="ipv6 +afpacket +dump +pcap nfq ipq static-libs" + +PCAP_DEPEND=">=net-libs/libpcap-1.0.0" +IPT_DEPEND=" + >=net-firewall/iptables-1.4.10 + dev-libs/libdnet + net-libs/libnetfilter_queue +" +DEPEND=" + dump? ( ${PCAP_DEPEND} ) + ipq? ( ${IPT_DEPEND} ) + nfq? ( ${IPT_DEPEND} ) + pcap? ( ${PCAP_DEPEND} ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.6-parallel-grammar.patch #673390 + "${FILESDIR}"/${PN}-2.0.6-static-libs.patch + "${FILESDIR}"/${PN}-2.0.7-gcc14-build-fix.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # We forced libpcap to 1.x, so we can set this cache var so + # cross-compiling doesn't break on us. + local myeconfargs=( + $(use_enable afpacket afpacket-module) + $(use_enable dump dump-module) + $(use_enable ipq ipq-module) + $(use_enable ipv6) + $(use_enable nfq nfq-module) + $(use_enable pcap pcap-module) + $(use_enable static-libs static) + --disable-bundled-modules + --disable-ipfw-module + --enable-shared + ) + daq_cv_libpcap_version_1x=yes \ + econf "${myeconfargs[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die + + # If not using static-libs don't install the static libraries + # This has been bugged upstream + if ! use static-libs; then + for z in libdaq_static libdaq_static_modules; do + rm -f "${ED}"/usr/$(get_libdir)/${z}.a || die + done + fi +} + +pkg_postinst() { + einfo "The Data Acquisition library (DAQ) for packet I/O replaces direct" + einfo "calls to PCAP functions with an abstraction layer that facilitates" + einfo "operation on a variety of hardware and software interfaces without" + einfo "requiring changes to application such as Snort." + einfo + einfo "Please see the README file for DAQ for information about specific" + einfo "DAQ modules." +} diff --git a/net-libs/daq/files/daq-2.0.7-gcc14-build-fix.patch b/net-libs/daq/files/daq-2.0.7-gcc14-build-fix.patch new file mode 100644 index 000000000000..67e03b7671f0 --- /dev/null +++ b/net-libs/daq/files/daq-2.0.7-gcc14-build-fix.patch @@ -0,0 +1,12 @@ +Bug: https://bugs.gentoo.org/921572 +--- a/os-daq-modules/daq_nfq.c ++++ b/os-daq-modules/daq_nfq.c +@@ -391,7 +391,7 @@ static inline int SetPktHdr ( + DAQ_PktHdr_t* hdr, + uint8_t** pkt + ) { +- int len = nfq_get_payload(nfad, (char**)pkt); ++ int len = nfq_get_payload(nfad, (unsigned char**)pkt); + + if ( len <= 0 ) + return -1;
