# # Copyright (C) 2006-2017 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. #TODO # # * uClibcpp not supported, performance +100x slower. libstdcpp is being used. https://bugs.busybox.net/show_bug.cgi?id=2545 # * liblua is still not recognized/blindly accepted. Impossible to compile with support # include $(TOPDIR)/rules.mk PKG_NAME:=nmap PKG_VERSION:=7.93 PKG_RELEASE:=3 PKG_MAINTAINER:=Nuno Gonçalves PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://nmap.org/dist/ PKG_HASH:=55bcfe4793e25acc96ba4274d8c4228db550b8e8efd72004b38ec55a2dd16651 PKG_LICENSE:=NPSL-0.94-or-NPSL-0.95 PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:nmap:nmap PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 PYTHON3_PKG_BUILD:=0 PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 include $(INCLUDE_DIR)/package.mk include ../../lang/python/python3-package.mk NMAP_DEPENDS:=+libpcap +libstdcpp +zlib +libpcre NCAT_DEPENDS:=+libpcap NPING_DEPENDS:=+libpcap +libpthread +libstdcpp define Package/nmap/default SUBMENU:=NMAP Suite SECTION:=net CATEGORY:=Network URL:=https://nmap.org/ endef define Package/nmap $(call Package/nmap/default) DEPENDS:=$(NMAP_DEPENDS) VARIANT:=nossl TITLE:=Utility for network exploration or security auditing endef define Package/nmap-ssl $(call Package/nmap/default) DEPENDS:=$(NMAP_DEPENDS) +libopenssl VARIANT:=ssl TITLE:=Nmap (with OpenSSL support) endef define Package/nmap-full $(call Package/nmap/default) DEPENDS:=$(NMAP_DEPENDS) +libopenssl +liblua5.3 +libssh2 VARIANT:=full TITLE:=Nmap (with OpenSSL and scripting support) endef define Package/ncat $(call Package/nmap/default) DEPENDS:=$(NCAT_DEPENDS) VARIANT:=nossl TITLE:=Much-improved reimplementation of Netcat endef define Package/ncat-ssl $(call Package/nmap/default) DEPENDS:=$(NCAT_DEPENDS) +libopenssl VARIANT:=ssl TITLE:=Ncat (with OpenSSL support) endef define Package/ncat-full $(call Package/nmap/default) DEPENDS:=$(NCAT_DEPENDS) +libopenssl +liblua5.3 VARIANT:=full TITLE:=Ncat (with OpenSSL and scripting support) endef define Package/nping $(call Package/nmap/default) DEPENDS:=$(NPING_DEPENDS) VARIANT:=nossl TITLE:=Network packet generation tool / ping utility endef define Package/nping-ssl $(call Package/nmap/default) DEPENDS:=$(NPING_DEPENDS) +libopenssl VARIANT:=ssl TITLE:=Nping (with OpenSSL support) endef define Package/ndiff $(call Package/nmap/default) DEPENDS:=+python3-light +python3-xml TITLE:=Utility to compare the results of Nmap scans endef CONFIGURE_ARGS += \ --with-libdnet=included \ --with-liblinear=included \ --with-libpcap="$(STAGING_DIR)/usr" \ --with-libpcre="$(STAGING_DIR)/usr" \ --with-libz="$(STAGING_DIR)/usr" \ --with-ncat \ --without-localdirs \ --without-ndiff \ --without-zenmap # --with-libnbase=included # --with-libnsock=included ifeq ($(BUILD_VARIANT),full) CONFIGURE_ARGS += \ --with-liblua="$(STAGING_DIR)/usr" \ --with-libssh2="$(STAGING_DIR)/usr" \ --with-openssl="$(STAGING_DIR)/usr" \ --without-nping else ifeq ($(BUILD_VARIANT),ssl) CONFIGURE_ARGS += \ --with-nping \ --with-openssl="$(STAGING_DIR)/usr" \ --without-liblua \ --without-libssh2 else # nossl CONFIGURE_ARGS += \ --with-nping \ --without-liblua \ --without-libssh2 \ --without-openssl endif CONFIGURE_VARS += \ ac_cv_dnet_bsd_bpf=no PYTHON3_PKG_SETUP_DIR:=ndiff PYTHON3_PKG_SETUP_ARGS:= define Build/Compile $(call Build/Compile/Default,) $(call Py3Build/Compile) endef define Build/Install $(call Build/Install/Default,) $(call Py3Build/Install) endef define Package/nmap/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/share/nmap $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nmap/nmap* $(1)/usr/share/nmap/ endef Package/nmap-ssl/install=$(Package/nmap/install) define Package/nmap-full/install $(call Package/nmap/install,$(1)) $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nmap/nse_main.lua $(1)/usr/share/nmap/ $(CP) $(PKG_INSTALL_DIR)/usr/share/nmap/{nselib,scripts} $(1)/usr/share/nmap/ endef define Package/ncat/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ncat $(1)/usr/bin/ endef define Package/ncat-ssl/install $(call Package/ncat/install,$(1)) $(INSTALL_DIR) $(1)/usr/share/ncat $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ncat/ca-bundle.crt $(1)/usr/share/ncat/ endef Package/ncat-full/install=$(Package/ncat-ssl/install) define Package/nping/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nping $(1)/usr/bin/ endef Package/nping-ssl/install=$(Package/nping/install) define Py3Package/ndiff/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ndiff $(1)/usr/bin/ endef $(eval $(call BuildPackage,nmap)) $(eval $(call BuildPackage,nmap-ssl)) $(eval $(call BuildPackage,nmap-full)) $(eval $(call BuildPackage,ncat)) $(eval $(call BuildPackage,ncat-ssl)) $(eval $(call BuildPackage,ncat-full)) $(eval $(call BuildPackage,nping)) $(eval $(call BuildPackage,nping-ssl)) $(eval $(call Py3Package,ndiff)) $(eval $(call BuildPackage,ndiff)) $(eval $(call BuildPackage,ndiff-src))