summaryrefslogtreecommitdiff
blob: 417771fb8e648b43ca44ea89021e6fb1b2cfbbc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit toolchain-funcs

DESCRIPTION="Brings up/down ethernet ports automatically with cable detection"
HOMEPAGE="https://www.red-bean.com/~bos/"
SRC_URI="https://www.red-bean.com/~bos/netplug/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="debug doc"

DEPEND="doc? ( app-text/ghostscript-gpl
		media-gfx/graphviz )"
RDEPEND=""

PATCHES=(
	# Remove nested functions, #116140
	"${FILESDIR}/${PN}-1.2.9-remove-nest.patch"

	# Ignore wireless events
	"${FILESDIR}/${PN}-1.2.9-ignore-wireless.patch"

	# Fix DOWNANDOUT problem #599400
	"${FILESDIR}/${P}-downandout.patch"

	# Wait for multiple children in SIGCHLD handler #631316
	"${FILESDIR}/${P}-multi-waitpid-sigchld.patch"
)

src_prepare() {
	# Remove debug flags from CFLAGS
	if ! use debug ; then
		sed -i -e "s/ -ggdb3//" Makefile || die
	fi

	# Remove -O3 and -Werror from CFLAGS
	sed -i -e "s/ -O3//" -e "s/ -Werror//" Makefile || die

	default
}

src_compile() {
	tc-export CC
	emake CC="${CC}"

	if use doc ; then
		emake -C docs/
	fi
}

src_install() {
	into /
	dosbin netplugd
	doman man/man8/netplugd.8

	dodir /etc/netplug.d
	exeinto /etc/netplug.d
	newexe "${FILESDIR}/netplug-2" netplug

	dodir /etc/netplug
	echo "eth*" > "${ED}"/etc/netplug/netplugd.conf || die

	dodoc ChangeLog NEWS README TODO

	if use doc; then
		dodoc docs/state-machine.ps
	fi
}