blob: 6493c3db0de81b4fee9f2eb068fcbb1af99fe1f0 (
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit flag-o-matic eapi9-ver optfeature toolchain-funcs
DESCRIPTION="IPv6 address calculator"
HOMEPAGE="https://www.deepspace6.net/projects/ipv6calc.html"
SRC_URI="https://github.com/pbiering/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="apache geoip +openssl test"
RESTRICT="!test? ( test )"
RDEPEND="
apache? ( www-servers/apache )
geoip? (
dev-libs/geoip
dev-libs/libmaxminddb:=
)
openssl? ( >=dev-libs/openssl-3.0.0:= )
!openssl? ( app-crypt/libmd )
"
DEPEND="${RDEPEND}"
BDEPEND="
test? (
dev-perl/HTML-Parser
dev-perl/URI
)
"
PATCHES=(
"${FILESDIR}"/${PN}-4.3.2-ldconfig_musl.patch
)
DOCS=( ChangeLog CREDITS README README.MaxMindDB README.GeoIP2 TODO USAGE )
HTML_DOCS=( doc/ipv6calc.html )
src_configure() {
# specify the linker for apxs, see https://github.com/pbiering/ipv6calc/issues/45
use apache && tc-is-lto && tc-is-clang && append-ldflags -fuse-ld=lld
# These options are broken. You can't disable them. That's
# okay because we want then force enabled.
# > libipv6calc_db_wrapper_BuiltIn.c:244:91:
# > error: ‘dbipv4addr_registry_status’ undeclared (first use in this function)
# --disable-db-as-registry
# --disable-db-cc-registry
tc-export AR
local myeconfargs=(
--disable-compiler-warning-to-error
--disable-bundled-getopt
--disable-bundled-md5
--enable-shared
--enable-dynamic-load
--enable-db-ieee
--enable-db-ipv4
--enable-db-ipv6
--disable-dbip
--disable-dbip2
--disable-external
--disable-ip2location
# disable legacy md5
# use libmd or openssl-evp-md5 (by default)
--disable-openssl-md5
$(use_enable openssl openssl-evp-md5)
$(use_enable !openssl libmd-md5)
$(use_enable apache mod_ipv6calc)
$(use_enable geoip)
$(use_enable geoip mmdb)
)
if use geoip; then
myeconfargs+=( "--with-geoip-db=${EPREFIX}/usr/share/GeoIP" )
fi
econf "${myeconfargs[@]}"
}
src_test() {
if [[ ${EUID} -eq 0 ]]; then
# Disable tests that fail as root
echo true > ipv6logstats/test_ipv6logstats.sh || die
fi
# it requires an apache instance
echo true > mod_ipv6calc/test_mod_ipv6calc.sh || die
# it requires network
echo true > ipv6calcweb/test_ipv6calcweb.sh || die
echo true > ipv6calcweb/test_ipv6calcweb_form.sh || die
# see https://bugs.gentoo.org/969978
if [[ -d ${EPREFIX}/usr/share/GeoIP ]]; then
einfo "${EPREFIX}/usr/share/GeoIP found:"
einfo "skip tests that may conflict with local GeoIP databases: see https://bugs.gentoo.org/969978"
sed -e '/--anonymize-preset kp/d' \
-i ipv6calc/test_scenarios.sh || die
sed -e '/ANON_KEEP-TYPE-ASN-CC/s/ipv6calc/ipv6calc --db-geoip2-disable/' \
-i ipv6calc/test_ipv6calc_anonymization.sh || die
sed -e '/--has-feature "STAT_AS"/s/ipv6logstats/ipv6logstats --db-geoip2-disable/' \
-i ipv6logstats/test_ipv6logstats.sh || die
sed -e '/--has-feature "ANON_KEEP-TYPE-ASN-CC"/s/ipv6loganon/ipv6loganon --db-geoip2-disable/' \
-i ipv6loganon/test_ipv6loganon.sh ||die
fi
default
}
src_install() {
insinto /usr/share/ipv6calc/db/lisp
doins databases/registries/lisp/site-db{,.txt}
insinto /usr/share/ipv6calc/ipv6calcweb
doins ipv6calcweb/ipv6calcweb.{cgi,conf} ipv6calcweb/{USAGE,README}
insinto /usr/share/ipv6calc/ipv6loganon
doins ipv6loganon/README
insinto /usr/share/ipv6calc/ipv6logconv
doins examples/analog/*
insinto /usr/share/ipv6calc/ipv6logstats
doins ipv6logstats/{example_*,collect_ipv6logstats.pl,README}
if use apache; then
insinto /usr/share/ipv6calc/mod_ipv6calc
doins mod_ipv6calc/{ipv6calc.cgi,README.md}
fi
default
}
pkg_postinst() {
optfeature "the cgi-script ipv6calcweb.cgi" "dev-perl/HTML-Parser dev-perl/URI"
if ver_replacing -lt 4.4.0; then
ewarn "To avoid confusion with ipv6calcweb (cgi script) now installed by default,"
ewarn "the useflag cgi is replaced by apache."
fi
}
|