commit:     36d4c4e69edfc56c9c515bb29af7abd39cb02c7c
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  4 15:19:42 2022 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Feb  4 15:19:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36d4c4e6

net-misc/bridge-utils-1.7.1-r1: fix compilation on musl

Closes: https://bugs.gentoo.org/828902
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 net-misc/bridge-utils/bridge-utils-1.7.1-r1.ebuild | 56 ++++++++++++++++++++++
 .../files/bridge-utils-1.7.1-musl.patch            | 10 ++++
 2 files changed, 66 insertions(+)

diff --git a/net-misc/bridge-utils/bridge-utils-1.7.1-r1.ebuild 
b/net-misc/bridge-utils/bridge-utils-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..85a58f61fc89
--- /dev/null
+++ b/net-misc/bridge-utils/bridge-utils-1.7.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools linux-info toolchain-funcs
+
+DESCRIPTION="Tools for configuring the Linux kernel 802.1d Ethernet Bridge"
+HOMEPAGE="http://bridge.sourceforge.net/";
+SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="selinux"
+
+DEPEND="virtual/os-headers"
+RDEPEND="selinux? ( sec-policy/selinux-brctl )"
+
+CONFIG_CHECK="~BRIDGE"
+WARNING_BRIDGE="CONFIG_BRIDGE is required to get bridge devices in the kernel"
+
+get_headers() {
+       CTARGET=${CTARGET:-${CHOST}}
+       dir=/usr/include
+       tc-is-cross-compiler && dir=/usr/${CTARGET}/usr/include
+       echo "${dir}"
+}
+
+src_prepare() {
+       local PATCHES=(
+               
"${FILESDIR}"/libbridge-substitute-AR-variable-from-configure.patch
+               "${FILESDIR}"/${P}-musl.patch  #828902
+       )
+       default
+       eautoreconf
+}
+
+src_configure() {
+       # use santitized headers and not headers from /usr/src
+       local myeconfargs=(
+               --prefix=/
+               --libdir=/usr/$(get_libdir)
+               --includedir=/usr/include
+               --with-linux-headers="$(get_headers)"
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       emake install DESTDIR="${D}"
+       dodoc AUTHORS ChangeLog README THANKS \
+               doc/{FAQ,FIREWALL,HOWTO,PROJECTS,RPM-GPG-KEY,SMPNOTES,WISHLIST}
+
+       [ -f "${ED}"/sbin/brctl ] || die "upstream makefile failed to install 
binary"
+}

diff --git a/net-misc/bridge-utils/files/bridge-utils-1.7.1-musl.patch 
b/net-misc/bridge-utils/files/bridge-utils-1.7.1-musl.patch
new file mode 100644
index 000000000000..618811e80b7a
--- /dev/null
+++ b/net-misc/bridge-utils/files/bridge-utils-1.7.1-musl.patch
@@ -0,0 +1,10 @@
+--- a/libbridge/libbridge.h
++++ b/libbridge/libbridge.h
+@@ -23,6 +23,7 @@
+ #include <sys/socket.h>
+ #include <sys/time.h>
+ #include <netinet/in.h>
++#include <limits.h>
+ 
+ #include <linux/if.h>
+ #include <linux/if_bridge.h>

Reply via email to