From 8f875845a5ae1ce0afba878aedd14e9bcd03fa4d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 26 Sep 2022 16:43:47 +0200 Subject: [PATCH] net-analyzer/nmap: Sync with Gentoo It's from Gentoo commit c63cfea0ac092bf463d6a13ae976fa788f548378. --- .../portage-stable/net-analyzer/nmap/Manifest | 2 + .../nmap/files/nmap-7.93-openssl-1.1.patch | 287 ++++++++++++++++++ .../net-analyzer/nmap/metadata.xml | 3 + ...map-7.92-r1.ebuild => nmap-7.92-r2.ebuild} | 4 + .../net-analyzer/nmap/nmap-7.93.ebuild | 151 +++++++++ .../net-analyzer/nmap/nmap-9999.ebuild | 37 ++- 6 files changed, 471 insertions(+), 13 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-analyzer/nmap/files/nmap-7.93-openssl-1.1.patch rename sdk_container/src/third_party/portage-stable/net-analyzer/nmap/{nmap-7.92-r1.ebuild => nmap-7.92-r2.ebuild} (97%) create mode 100644 sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.93.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/Manifest b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/Manifest index 49819935ca..ba0eb83f06 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/Manifest @@ -1,2 +1,4 @@ DIST nmap-7.92.tar.bz2 10498200 BLAKE2B 0f3022e797ffca7d1d3497990c86bb60ac9a80bb93cb4ec7fcfa4f51782cb8d79d4f0aca0fa6119bfd604cfe7b89af3d4223ce13ad3e6c948c021909aebd956b SHA512 7828367f9dc76ff4d1e8c821260e565fb0c3cb6aba0473d24759133a3006cdf2cb087574f0dd7d2ba47a63754ba4f72e0b78cdae1333a58f05c41d428b56ad59 DIST nmap-7.92.tar.bz2.asc 195 BLAKE2B a8052138e58cd8009341a5f3fb3a31f55af9383b9dbb6c7ce858d80541e000b17953c053e9a3a6d86a5551244cf13f181e6e3943095b86335cbb5dae96e20bdd SHA512 300a22ab097bbff67de354de6b22a8e3287f95dd6318fcabd546ba52158e9589b19ede175587c6e31518c47bc118c7dd05db43755def075d810b16945b65e05a +DIST nmap-7.93.tar.bz2 10823114 BLAKE2B e9fa0fe0f219258ab29cf59a98f09142ce1e5e70395f6578d57e644d343ff95764a8208f2fd00a686a14217821adb038a1bb4cdf25f355696e68131773cc1995 SHA512 4ec9295e25bd7a215e718c3dbbf09bfe6339b60850f4a8d09b5ad0cbf41a0da8ece0168efc5ca91ba1ecbd83b1d31735d77dacd5f1ec1a9fd212454dd1f0f0fd +DIST nmap-7.93.tar.bz2.asc 195 BLAKE2B 0c18200507c8c0901df6f0fa3230330eff72dd5e54f2d862d35a1df26b9ff3b189cebe0b91cdf47c4f87fef523cc6d9c3bcc36a42d8fcc8be7830fc861c64b5f SHA512 9bd8e436a6f7010ba2e3578affc4174fae12e2e7b78e523ceeb94ba44ccd928ac2cf5da52d02a00c4f190f71425671cc817b44a6a2f8d0b42b10d535bb1af3a9 diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/files/nmap-7.93-openssl-1.1.patch b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/files/nmap-7.93-openssl-1.1.patch new file mode 100644 index 0000000000..211cc2dbb7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/files/nmap-7.93-openssl-1.1.patch @@ -0,0 +1,287 @@ +https://github.com/nmap/nmap/commit/d6bea8dcdee36a3902cece14097993350306f1b6 +https://github.com/nmap/nmap/issues/2516 +https://bugs.gentoo.org/868483 + +From: dmiller +Date: Tue, 6 Sep 2022 22:39:34 +0000 +Subject: [PATCH] Build based on OpenSSL version, not API level. Fixes #2516 + +--- a/ncat/http_digest.c ++++ b/ncat/http_digest.c +@@ -133,7 +133,7 @@ int http_digest_init_secret(void) + return 0; + } + +-#if OPENSSL_API_LEVEL < 10100 ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + #define EVP_MD_CTX_new EVP_MD_CTX_create + #define EVP_MD_CTX_free EVP_MD_CTX_destroy + #endif +--- a/ncat/ncat_connect.c ++++ b/ncat/ncat_connect.c +@@ -82,8 +82,8 @@ + #include + + /* Deprecated in OpenSSL 3.0 */ +-#if OPENSSL_API_LEVEL >= 30000 +-#define SSL_get_peer_certificate SSL_get1_peer_certificate ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++# define SSL_get_peer_certificate SSL_get1_peer_certificate + #endif + #endif + +--- a/ncat/ncat_ssl.c ++++ b/ncat/ncat_ssl.c +@@ -80,7 +80,7 @@ + #define FUNC_ASN1_STRING_data ASN1_STRING_data + #endif + +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + #include + /* Deprecated in OpenSSL 3.0 */ + #define SSL_get_peer_certificate SSL_get1_peer_certificate +@@ -117,7 +117,7 @@ SSL_CTX *setup_ssl_listen(void) + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); + SSL_load_error_strings(); +-#elif OPENSSL_API_LEVEL >= 30000 ++#elif OPENSSL_VERSION_NUMBER >= 0x30000000L + if (NULL == OSSL_PROVIDER_load(NULL, "legacy")) + { + loguser("OpenSSL legacy provider failed to load.\n"); +@@ -477,7 +477,7 @@ static int ssl_gen_cert(X509 **cert, EVP_PKEY **key) + const char *commonName = "localhost"; + char dNSName[128]; + int rc; +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + int ret = 0; + RSA *rsa = NULL; + BIGNUM *bne = NULL; +--- a/ncat/ncat_ssl.h ++++ b/ncat/ncat_ssl.h +@@ -67,18 +67,6 @@ + #include + #include + +-/* OPENSSL_API_LEVEL per OpenSSL 3.0: decimal MMmmpp */ +-#ifndef OPENSSL_API_LEVEL +-# if OPENSSL_API_COMPAT < 0x900000L +-# define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT) +-# else +-# define OPENSSL_API_LEVEL \ +- (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ +- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ +- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)) +-# endif +-#endif +- + #define NCAT_CA_CERTS_FILE "ca-bundle.crt" + + enum { +--- a/ncat/test/test-wildcard.c ++++ b/ncat/test/test-wildcard.c +@@ -20,7 +20,7 @@ are rejected. The SSL transactions happen over OpenSSL BIO pairs. + + #include "ncat_core.h" + #include "ncat_ssl.h" +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + #include + #endif + +@@ -294,7 +294,7 @@ static int set_dNSNames(X509 *cert, const struct lstr dNSNames[]) + static int gen_cert(X509 **cert, EVP_PKEY **key, + const struct lstr commonNames[], const struct lstr dNSNames[]) + { +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + int rc, ret=0; + RSA *rsa = NULL; + BIGNUM *bne = NULL; +--- a/nse_openssl.cc ++++ b/nse_openssl.cc +@@ -20,6 +20,9 @@ + #define FUNC_EVP_CIPHER_CTX_init EVP_CIPHER_CTX_reset + #define FUNC_EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_reset + #define PASS_EVP_CTX(ctx) (ctx) ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++# include ++#endif + #else + #define FUNC_EVP_MD_CTX_init EVP_MD_CTX_init + #define FUNC_EVP_MD_CTX_cleanup EVP_MD_CTX_cleanup +@@ -37,23 +40,6 @@ extern NmapOps o; + + #include "nse_openssl.h" + +-/* OPENSSL_API_LEVEL per OpenSSL 3.0: decimal MMmmpp */ +-#ifndef OPENSSL_API_LEVEL +-# if OPENSSL_API_COMPAT < 0x900000L +-# define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT) +-# else +-# define OPENSSL_API_LEVEL \ +- (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ +- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ +- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)) +-# endif +-#endif +- +- +-#if OPENSSL_API_LEVEL >= 30000 +-#include +-#endif +- + #define NSE_SSL_LUA_ERR(_L) \ + luaL_error(_L, "OpenSSL error: %s", ERR_error_string(ERR_get_error(), NULL)) + +@@ -184,7 +170,7 @@ static int l_bignum_is_prime( lua_State *L ) /** bignum_is_prime( BIGNUM p ) */ + bignum_data_t * p = (bignum_data_t *) luaL_checkudata( L, 1, "BIGNUM" ); + BN_CTX * ctx = BN_CTX_new(); + int is_prime = +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + BN_is_prime_ex( p->bn, BN_prime_checks, ctx, NULL ); + #else + BN_check_prime( p->bn, ctx, NULL ); +@@ -199,7 +185,7 @@ static int l_bignum_is_safe_prime( lua_State *L ) /** bignum_is_safe_prime( BIGN + bignum_data_t * p = (bignum_data_t *) luaL_checkudata( L, 1, "BIGNUM" ); + BN_CTX * ctx = BN_CTX_new(); + int is_prime = +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + BN_is_prime_ex( p->bn, BN_prime_checks, ctx, NULL ); + #else + BN_check_prime( p->bn, ctx, NULL ); +@@ -210,7 +196,7 @@ static int l_bignum_is_safe_prime( lua_State *L ) /** bignum_is_safe_prime( BIGN + BN_sub_word( n, (BN_ULONG)1 ); + BN_div_word( n, (BN_ULONG)2 ); + is_safe = +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + BN_is_prime_ex( n, BN_prime_checks, ctx, NULL ); + #else + BN_check_prime( n, ctx, NULL ); +@@ -582,7 +568,7 @@ LUALIB_API int luaopen_openssl(lua_State *L) { + #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); +-#elif OPENSSL_API_LEVEL >= 30000 ++#elif OPENSSL_VERSION_NUMBER >= 0x30000000L + if (NULL == OSSL_PROVIDER_load(NULL, "legacy") && o.debugging > 1) + { + // Legacy provider may not be available. +--- a/nse_ssl_cert.cc ++++ b/nse_ssl_cert.cc +@@ -89,19 +89,7 @@ + #define X509_get0_notAfter X509_get_notAfter + #endif + +-/* OPENSSL_API_LEVEL per OpenSSL 3.0: decimal MMmmpp */ +-#ifndef OPENSSL_API_LEVEL +-# if OPENSSL_API_COMPAT < 0x900000L +-# define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT) +-# else +-# define OPENSSL_API_LEVEL \ +- (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ +- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ +- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)) +-# endif +-#endif +- +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + #include + /* Deprecated in OpenSSL 3.0 */ + #define SSL_get_peer_certificate SSL_get1_peer_certificate +@@ -459,7 +447,7 @@ static const char *pkey_type_to_string(int type) + } + + int lua_push_ecdhparams(lua_State *L, EVP_PKEY *pubkey) { +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + char tmp[64] = {0}; + size_t len = 0; + /* This structure (ecdhparams.curve_params) comes from tls.lua */ +@@ -634,7 +622,7 @@ static int parse_ssl_cert(lua_State *L, X509 *cert) + else + #endif + if (pkey_type == EVP_PKEY_RSA) { +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + RSA *rsa = EVP_PKEY_get1_RSA(pubkey); + if (rsa) { + #endif +@@ -643,7 +631,7 @@ static int parse_ssl_cert(lua_State *L, X509 *cert) + luaL_getmetatable( L, "BIGNUM" ); + lua_setmetatable( L, -2 ); + #if HAVE_OPAQUE_STRUCTS +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + const BIGNUM *n = NULL, *e = NULL; + data->should_free = false; + RSA_get0_key(rsa, &n, &e, NULL); +@@ -663,7 +651,7 @@ static int parse_ssl_cert(lua_State *L, X509 *cert) + luaL_getmetatable( L, "BIGNUM" ); + lua_setmetatable( L, -2 ); + #if HAVE_OPAQUE_STRUCTS +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + data->should_free = false; + #else + data->should_free = true; +@@ -673,7 +661,7 @@ static int parse_ssl_cert(lua_State *L, X509 *cert) + data->bn = rsa->n; + #endif + lua_setfield(L, -2, "modulus"); +-#if OPENSSL_API_LEVEL < 30000 ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + RSA_free(rsa); + } + #endif +--- a/nsock/src/nsock_ssl.c ++++ b/nsock/src/nsock_ssl.c +@@ -64,7 +64,7 @@ + #include "netutils.h" + + #if HAVE_OPENSSL +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + #include + #endif + +@@ -120,7 +120,7 @@ static SSL_CTX *ssl_init_helper(const SSL_METHOD *method) { + SSL_library_init(); + #else + OPENSSL_atexit(nsock_ssl_atexit); +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + if (NULL == OSSL_PROVIDER_load(NULL, "legacy")) + { + nsock_log_error("OpenSSL legacy provider failed to load.\n"); +--- a/nsock/src/nsock_ssl.h ++++ b/nsock/src/nsock_ssl.h +@@ -69,20 +69,7 @@ + #include + #include + +-/* OPENSSL_API_LEVEL per OpenSSL 3.0: decimal MMmmpp */ +-#ifndef OPENSSL_API_LEVEL +-# if OPENSSL_API_COMPAT < 0x900000L +-# define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT) +-# else +-# define OPENSSL_API_LEVEL \ +- (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \ +- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \ +- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)) +-# endif +-#endif +- +- +-#if OPENSSL_API_LEVEL >= 30000 ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L + /* Deprecated in OpenSSL 3.0 */ + #define SSL_get_peer_certificate SSL_get1_peer_certificate + #endif + diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/metadata.xml b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/metadata.xml index 4ca312aa6d..25a7096118 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/metadata.xml @@ -21,4 +21,7 @@ Install symlink to nc Use dev-lang/lua instead of the bundled liblua + + nmap/nmap + diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r2.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r1.ebuild rename to sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r2.ebuild index 752a2273e4..699b452ebd 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.92-r2.ebuild @@ -45,6 +45,10 @@ RDEPEND=" ) nse? ( sys-libs/zlib ) ssl? ( dev-libs/openssl:0= ) + symlink? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) system-lua? ( ${LUA_DEPS} ) " DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.93.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.93.ebuild new file mode 100644 index 0000000000..7c6ddc0d5b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-7.93.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-3 ) +LUA_REQ_USE="deprecated" +PYTHON_COMPAT=( python3_{8..11} ) +inherit autotools lua-single python-any-r1 toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +fi + +LICENSE="|| ( NPSL GPL-2 )" +SLOT="0" +IUSE="ipv6 libssh2 ncat nping +nse ssl symlink +system-lua" +REQUIRED_USE=" + system-lua? ( nse ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre + net-libs/libpcap + libssh2? ( + net-libs/libssh2[zlib] + sys-libs/zlib + ) + nse? ( sys-libs/zlib ) + ssl? ( dev-libs/openssl:0= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + system-lua? ( ${LUA_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-5.10_beta1-string.patch + "${FILESDIR}"/${PN}-5.21-python.patch + "${FILESDIR}"/${PN}-6.46-uninstaller.patch + "${FILESDIR}"/${PN}-6.25-liblua-ar.patch + "${FILESDIR}"/${PN}-7.25-CXXFLAGS.patch + "${FILESDIR}"/${PN}-7.25-libpcre.patch + "${FILESDIR}"/${PN}-7.31-libnl.patch + "${FILESDIR}"/${PN}-7.80-ac-config-subdirs.patch + "${FILESDIR}"/${PN}-7.91-no-FORTIFY_SOURCE.patch + "${FILESDIR}"/${P}-openssl-1.1.patch + "${FILESDIR}"/${PN}-9999-netutil-else.patch +) + +pkg_setup() { + python-any-r1_pkg_setup + + use system-lua && lua-single_pkg_setup +} + +src_prepare() { + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + default + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + econf \ + $(use_enable ipv6) \ + $(use_with libssh2) \ + $(use_with ncat) \ + $(use_with nping) \ + $(use_with ssl openssl) \ + $(usex libssh2 --with-zlib) \ + $(usex nse --with-liblua=$(usex system-lua yes included '' '') --without-liblua) \ + $(usex nse --with-zlib) \ + --cache-file="${S}"/config.cache \ + --with-libdnet=included \ + --with-pcre="${ESYSROOT}"/usr \ + --without-dpdk \ + --without-ndiff \ + --without-zenmap +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc +} diff --git a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-9999.ebuild index 3b55f48a5d..7fc911c6d8 100644 --- a/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-analyzer/nmap/nmap-9999.ebuild @@ -1,11 +1,12 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 LUA_COMPAT=( lua5-3 ) LUA_REQ_USE="deprecated" -inherit autotools lua-single toolchain-funcs +PYTHON_COMPAT=( python3_{8..11} ) +inherit autotools lua-single python-any-r1 toolchain-funcs DESCRIPTION="Network exploration tool and security / port scanner" HOMEPAGE="https://nmap.org/" @@ -14,8 +15,6 @@ if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://github.com/nmap/nmap" - # Just in case for now as future seems undecided. - LICENSE="NPSL" else VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/nmap.asc inherit verify-sig @@ -23,11 +22,10 @@ else SRC_URI="https://nmap.org/dist/${P}.tar.bz2" SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" - - LICENSE="|| ( NPSL GPL-2 )" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" fi +LICENSE="|| ( NPSL GPL-2 )" SLOT="0" IUSE="ipv6 libssh2 ncat nping +nse ssl symlink +system-lua" REQUIRED_USE=" @@ -45,12 +43,22 @@ RDEPEND=" ) nse? ( sys-libs/zlib ) ssl? ( dev-libs/openssl:0= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) system-lua? ( ${LUA_DEPS} ) " DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" if [[ ${PV} != *9999* ]] ; then - BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-nmap )" + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" fi PATCHES=( @@ -67,6 +75,8 @@ PATCHES=( ) pkg_setup() { + python-any-r1_pkg_setup + use system-lua && lua-single_pkg_setup } @@ -86,12 +96,15 @@ src_prepare() { eautoreconf if [[ ${CHOST} == *-darwin* ]] ; then - # we need the original for a Darwin-specific fix, bug #604432 + # We need the original for a Darwin-specific fix, bug #604432 mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die fi } src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + # The bundled libdnet is incompatible with the version available in the # tree, so we cannot use the system library here. econf \ @@ -106,16 +119,14 @@ src_configure() { --cache-file="${S}"/config.cache \ --with-libdnet=included \ --with-pcre="${ESYSROOT}"/usr \ + --without-dpdk \ --without-ndiff \ --without-zenmap } src_compile() { local directory - for directory in . libnetutil nsock/src \ - $(usex ncat ncat '') \ - $(usex nping nping '') - do + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do emake -C "${directory}" makefile.dep done