1 |
1 |
# Copyright 1999-2023 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
|
EAPI=7
|
|
4 |
EAPI=8
|
5 |
5 |
|
6 |
6 |
LUA_COMPAT=( lua5-3 )
|
7 |
7 |
LUA_REQ_USE="deprecated"
|
8 |
|
inherit autotools lua-single toolchain-funcs
|
|
8 |
PYTHON_COMPAT=( python3_{9..11} )
|
|
9 |
inherit autotools lua-single python-any-r1 toolchain-funcs
|
9 |
10 |
|
10 |
11 |
DESCRIPTION="Network exploration tool and security / port scanner"
|
11 |
12 |
HOMEPAGE="https://nmap.org/"
|
... | ... | |
13 |
14 |
inherit git-r3
|
14 |
15 |
|
15 |
16 |
EGIT_REPO_URI="https://github.com/nmap/nmap"
|
|
17 |
|
16 |
18 |
else
|
17 |
19 |
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/nmap.asc
|
18 |
20 |
inherit verify-sig
|
... | ... | |
21 |
23 |
SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )"
|
22 |
24 |
|
23 |
25 |
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
24 |
|
|
25 |
|
LICENSE="|| ( NPSL-0.92 NPSL-0.95 GPL-2 )"
|
26 |
26 |
fi
|
27 |
27 |
|
|
28 |
# https://github.com/nmap/nmap/issues/2199
|
|
29 |
LICENSE="|| ( NPSL-0.94 NPSL-0.95 )"
|
28 |
30 |
SLOT="0"
|
29 |
31 |
IUSE="ipv6 libssh2 ncat nping +nse ssl symlink"
|
30 |
32 |
REQUIRED_USE="
|
... | ... | |
46 |
48 |
)
|
47 |
49 |
ssl? ( dev-libs/openssl:0= )
|
48 |
50 |
symlink? (
|
49 |
|
!net-analyzer/netcat
|
50 |
|
!net-analyzer/openbsd-netcat
|
|
51 |
ncat? (
|
|
52 |
!net-analyzer/netcat
|
|
53 |
!net-analyzer/openbsd-netcat
|
|
54 |
)
|
51 |
55 |
)
|
52 |
56 |
"
|
53 |
57 |
DEPEND="${RDEPEND}"
|
|
58 |
BDEPEND="
|
|
59 |
${PYTHON_DEPS}
|
|
60 |
virtual/pkgconfig
|
|
61 |
"
|
54 |
62 |
|
55 |
63 |
if [[ ${PV} != *9999* ]] ; then
|
56 |
|
BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-nmap )"
|
|
64 |
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )"
|
57 |
65 |
fi
|
58 |
66 |
|
59 |
67 |
PATCHES=(
|
... | ... | |
66 |
74 |
"${FILESDIR}"/${PN}-7.31-libnl.patch
|
67 |
75 |
"${FILESDIR}"/${PN}-7.80-ac-config-subdirs.patch
|
68 |
76 |
"${FILESDIR}"/${PN}-7.91-no-FORTIFY_SOURCE.patch
|
|
77 |
"${FILESDIR}"/${P}-openssl-1.1.patch
|
|
78 |
"${FILESDIR}"/${PN}-9999-netutil-else.patch
|
69 |
79 |
)
|
70 |
80 |
|
71 |
81 |
pkg_setup() {
|
|
82 |
python-any-r1_pkg_setup
|
|
83 |
|
72 |
84 |
use nse && lua-single_pkg_setup
|
73 |
85 |
}
|
74 |
86 |
|
... | ... | |
88 |
100 |
eautoreconf
|
89 |
101 |
|
90 |
102 |
if [[ ${CHOST} == *-darwin* ]] ; then
|
91 |
|
# we need the original for a Darwin-specific fix, bug #604432
|
|
103 |
# We need the original for a Darwin-specific fix, bug #604432
|
92 |
104 |
mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die
|
93 |
105 |
fi
|
94 |
106 |
}
|
95 |
107 |
|
96 |
108 |
src_configure() {
|
|
109 |
export ac_cv_path_PYTHON="${PYTHON}"
|
|
110 |
export am_cv_pathless_PYTHON="${EPYTHON}"
|
|
111 |
|
97 |
112 |
# The bundled libdnet is incompatible with the version available in the
|
98 |
113 |
# tree, so we cannot use the system library here.
|
99 |
114 |
econf \
|
... | ... | |
108 |
123 |
--cache-file="${S}"/config.cache \
|
109 |
124 |
--with-libdnet=included \
|
110 |
125 |
--with-pcre="${ESYSROOT}"/usr \
|
|
126 |
--without-dpdk \
|
111 |
127 |
--without-ndiff \
|
112 |
128 |
--without-zenmap
|
113 |
129 |
}
|
114 |
130 |
|
115 |
131 |
src_compile() {
|
116 |
132 |
local directory
|
117 |
|
for directory in . libnetutil nsock/src \
|
118 |
|
$(usex ncat ncat '') \
|
119 |
|
$(usex nping nping '')
|
120 |
|
do
|
|
133 |
for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do
|
121 |
134 |
emake -C "${directory}" makefile.dep
|
122 |
135 |
done
|
123 |
136 |
|