dev-libs/libdnet: Sync with Gentoo

It's from Gentoo commit 0f7af86193edd21c1c7147afcce6ee50ea7202e3.
This commit is contained in:
Flatcar Buildbot 2025-03-31 07:06:18 +00:00
parent 66b94d1fef
commit 29a51529db
6 changed files with 122 additions and 265 deletions

View File

@ -1,4 +1 @@
DIST libdnet-1.16.2.tar.gz 675191 BLAKE2B 04e4533dbe45700decec4755c7db608d0ca68be05431bf44e6984b2c6a4aec55888fc0f0159916c8ac4a60ec5f743047d2a0a541786cd13fda61739bd7eef0fb SHA512 4b1902553a57eeb56952968e15be032de92d8106dc6e0ebf8e10470605c9c2ed69cb015f4057a5c119d01509c6795fc0dcda85a311d14124dddefdeb6223f848
DIST libdnet-1.16.4.tar.gz 684358 BLAKE2B 40be891c9004288329aaee0c79a29ebf0f095dfaaca4da98fd5ecfd759e22b8d10dc6b906200db1ac5b0a8cfbbea8fbe509da393e60cddeb5f875ad179cdc67a SHA512 6c5556e365047afcc5da3f76b1c99aa70723c076a7cf75c03d96a661a583dfa6d0ab605076e68efffe5ddca2d69875e4bc4938e0874b8aa24915fcfbfe3f3ff9
DIST libdnet-1.17.0.tar.gz 684645 BLAKE2B b208cb41201145411b1949531cb1ab27b4edc6026b8ca703c24231fdb021f46bfe922eb1da11090c271f439339f5384c93168fad3130ed2f89b3d2eca5c7f89f SHA512 b207b2f61e3759a2b17827eabf37b0eb68cb9fa27418f99ee4efd754b01dfe8504dff465664b14054d54df334195d43963d142c7104dc603b2b8b1491590d2a7
DIST libdnet-1.18.0.tar.gz 740145 BLAKE2B 67f9257e0a05c6c768609c288de9a8704a7ba9d66142bcf849929fa3dbc7b59e379cef2a917d01d4ccfa63b5dfffaf7225f9c67f94e6e91c528a3066fae8c933 SHA512 c074828a1ecd21c292f9120c7afb6b3c11e967d1e0aaca78e75a5558e96f5e65e0d24b68b8386c33c1c28734a3d30f5857d394796e049d521c8b4a9a2c8dcea9

View File

@ -0,0 +1,110 @@
https://github.com/ofalk/libdnet/pull/104
From de57a2349172148496386e284db91abe6406b02a Mon Sep 17 00:00:00 2001
From: "Z. Liu" <zhixu.liu@gmail.com>
Date: Wed, 19 Feb 2025 11:37:37 +0800
Subject: [PATCH] python/dnet.pyx: fix incompatible-function-pointer-types for
modern compiler
which is error now, see https://bugs.gentoo.org/933360,
clang 19 (maybe earlier) has the same problem too
Signed-off-by: Z. Liu <zhixu.liu@gmail.com>
diff --git a/python/dnet.pyx b/python/dnet.pyx
index 4e3604f..04db2c6 100644
--- a/python/dnet.pyx
+++ b/python/dnet.pyx
@@ -661,7 +661,7 @@ cdef extern from *:
addr_t arp_ha
ctypedef struct arp_t:
int __xxx
- ctypedef int (*arp_handler)(arp_entry *entry, void *arg) except -1
+ ctypedef int (*arp_handler)(const arp_entry *entry, void *arg) except -1
arp_t *arp_open()
int arp_add(arp_t *arp, arp_entry *entry)
@@ -687,7 +687,7 @@ ARP_OP_REPLY = 2 # /* response giving hardware address */
ARP_OP_REVREQUEST = 3 # /* request to resolve pa given ha */
ARP_OP_REVREPLY = 4 # /* response giving protocol address */
-cdef int __arp_callback(arp_entry *entry, void *arg) except -1:
+cdef int __arp_callback(const arp_entry *entry, void *arg) except -1:
f, a = <object>arg
pa, ha = addr(), addr()
(<addr>pa)._addr = entry.arp_pa
@@ -911,7 +911,7 @@ cdef extern from *:
addr_t intf_alias_addrs[8] # XXX
ctypedef struct intf_t:
int __xxx
- ctypedef int (*intf_handler)(intf_entry *entry, void *arg) except -1
+ ctypedef int (*intf_handler)(const intf_entry *entry, void *arg) except -1
intf_t *intf_open()
int intf_get(intf_t *intf, intf_entry *entry)
@@ -933,7 +933,7 @@ INTF_FLAG_NOARP = 0x08 # /* disable ARP */
INTF_FLAG_BROADCAST = 0x10 # /* supports broadcast (r/o) */
INTF_FLAG_MULTICAST = 0x20 # /* supports multicast (r/o) */
-cdef object ifent_to_dict(intf_entry *entry):
+cdef object ifent_to_dict(const intf_entry *entry):
d = {}
d['name'] = entry.intf_name
d['type'] = entry.intf_type
@@ -970,7 +970,7 @@ cdef dict_to_ifent(object d, intf_entry *entry):
for i from 0 <= i < entry.intf_alias_num:
entry.intf_alias_addrs[i] = (<addr>d['alias_addrs'][i])._addr
-cdef int __intf_callback(intf_entry *entry, void *arg) except -1:
+cdef int __intf_callback(const intf_entry *entry, void *arg) except -1:
f, a = <object>arg
ret = f(ifent_to_dict(entry), a)
if not ret:
@@ -1077,7 +1077,7 @@ cdef extern from *:
addr_t route_gw
ctypedef struct route_t:
int __xxx
- ctypedef int (*route_handler)(route_entry *entry, void *arg) except -1
+ ctypedef int (*route_handler)(const route_entry *entry, void *arg) except -1
route_t *route_open()
int route_add(route_t *route, route_entry *entry)
@@ -1086,7 +1086,7 @@ cdef extern from *:
int route_loop(route_t *route, route_handler callback, void *arg)
route_t *route_close(route_t *route)
-cdef int __route_callback(route_entry *entry, void *arg) except -1:
+cdef int __route_callback(const route_entry *entry, void *arg) except -1:
f, a = <object>arg
dst, gw = addr(), addr()
(<addr>dst)._addr = entry.route_dst
@@ -1183,7 +1183,7 @@ cdef extern from *:
ctypedef struct fw_t:
int __xxx
- ctypedef int (*fw_handler)(fw_rule *rule, void *arg) except -1
+ ctypedef int (*fw_handler)(const fw_rule *rule, void *arg) except -1
fw_t *fw_open()
int fw_add(fw_t *f, fw_rule *rule)
@@ -1197,7 +1197,7 @@ FW_OP_BLOCK = 2
FW_DIR_IN = 1
FW_DIR_OUT = 2
-cdef object rule_to_dict(fw_rule *rule):
+cdef object rule_to_dict(const fw_rule *rule):
d = {}
d['device'] = rule.fw_device
d['op'] = rule.fw_op
@@ -1235,7 +1235,7 @@ cdef dict_to_rule(object d, fw_rule *rule):
rule.fw_dport[0] = d['dport'][0]
rule.fw_dport[1] = d['dport'][1]
-cdef int __fw_callback(fw_rule *rule, void *arg) except -1:
+cdef int __fw_callback(const fw_rule *rule, void *arg) except -1:
f, a = <object>arg
ret = f(rule_to_dict(rule), a)
if not ret:
--
2.45.2

View File

@ -1,77 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
DESCRIPTION="Simplified, portable interface to several low-level networking routines"
HOMEPAGE="https://github.com/ofalk/libdnet"
SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
S="${WORKDIR}/${PN}-${P}"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
IUSE="python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="dev-libs/libbsd
python? ( ${PYTHON_DEPS} )"
RDEPEND="${DEPEND}"
BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )"
DOCS=( README.md THANKS )
src_prepare() {
default
sed -i \
-e 's/libcheck.a/libcheck.so/g' \
configure.ac || die
sed -i \
-e 's|-L$libdir ||g' \
dnet-config.in || die
sed -i \
-e '/^SUBDIRS/s|python||g' \
Makefile.am || die
# Stale e.g. pkg-config macros w/ bashisms
rm aclocal.m4 {config,m4}/libtool.m4 || die
AT_M4DIR="config" eautoreconf
if use python; then
cd python || die
distutils-r1_src_prepare
fi
}
src_configure() {
econf \
$(use_with python) \
--without-check
}
src_compile() {
default
if use python; then
cd python || die
distutils-r1_src_compile
fi
}
src_install() {
default
if use python; then
cd python || die
unset DOCS
distutils-r1_src_install
fi
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1,89 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
DESCRIPTION="Simplified, portable interface to several low-level networking routines"
HOMEPAGE="https://github.com/ofalk/libdnet"
SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
S="${WORKDIR}/${PN}-${P}"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
IUSE="python test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="dev-libs/libbsd
python? ( ${PYTHON_DEPS} )"
RDEPEND="${DEPEND}"
BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )
test? ( dev-libs/check )"
DOCS=( README.md THANKS )
src_prepare() {
default
sed -i \
-e 's/libcheck.a/libcheck.so/g' \
configure.ac || die
sed -i \
-e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
configure.ac || die
sed -i \
-e 's|-L$libdir ||g' \
dnet-config.in || die
sed -i \
-e '/^SUBDIRS/s|python||g' \
Makefile.am || die
# Stale e.g. pkg-config macros w/ bashisms
rm aclocal.m4 {config,m4}/libtool.m4 || die
AT_M4DIR="config" eautoreconf
if use python; then
cd python || die
distutils-r1_src_prepare
fi
}
src_configure() {
econf \
$(use_with python) \
$(use_enable test check)
}
src_compile() {
default
if use python; then
cd python || die
distutils-r1_src_compile
fi
}
src_test() {
# https://bugs.gentoo.org/778797#c4
# check_ip needs privileges and check_fw can't work on Linux
emake check XFAIL_TESTS="check_fw check_ip"
}
src_install() {
default
if use python; then
cd python || die
unset DOCS
distutils-r1_src_install
fi
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1,11 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
inherit autotools distutils-r1
DESCRIPTION="Simplified, portable interface to several low-level networking routines"
@ -26,10 +28,17 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
python? ( dev-python/cython[${PYTHON_USEDEP}] )
python? (
${DISTUTILS_DEPS}
dev-python/cython[${PYTHON_USEDEP}]
)
test? ( dev-libs/check )
"
PATCHES=(
"${FILESDIR}/${PN}-1.18.0-fix-incompatible-function-pointer.patch"
)
DOCS=( README.md THANKS )
src_prepare() {

View File

@ -1,93 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
DESCRIPTION="Simplified, portable interface to several low-level networking routines"
HOMEPAGE="https://github.com/ofalk/libdnet"
SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
S="${WORKDIR}/${PN}-${P}"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
IUSE="python test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="
dev-libs/libbsd
python? ( ${PYTHON_DEPS} )
"
RDEPEND="${DEPEND}"
BDEPEND="
python? ( dev-python/cython[${PYTHON_USEDEP}] )
test? ( dev-libs/check )
"
DOCS=( README.md THANKS )
src_prepare() {
default
sed -i \
-e 's/libcheck.a/libcheck.so/g' \
configure.ac || die
sed -i \
-e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
configure.ac || die
sed -i \
-e 's|-L$libdir ||g' \
dnet-config.in || die
sed -i \
-e '/^SUBDIRS/s|python||g' \
Makefile.am || die
# Stale e.g. pkg-config macros w/ bashisms
rm aclocal.m4 {config,m4}/libtool.m4 || die
AT_M4DIR="config" eautoreconf
if use python; then
cd python || die
distutils-r1_src_prepare
fi
}
src_configure() {
econf \
$(use_with python) \
$(use_enable test check)
}
src_compile() {
default
if use python; then
cd python || die
distutils-r1_src_compile
fi
}
src_test() {
# https://bugs.gentoo.org/778797#c4
# check_ip needs privileges and check_fw can't work on Linux
emake check XFAIL_TESTS="check_fw check_ip"
}
src_install() {
default
if use python; then
cd python || die
unset DOCS
distutils-r1_src_install
fi
find "${ED}" -name '*.la' -delete || die
}