summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/sslscan/sslscan-2.1.1.ebuild')
-rw-r--r--net-analyzer/sslscan/sslscan-2.1.1.ebuild82
1 files changed, 82 insertions, 0 deletions
diff --git a/net-analyzer/sslscan/sslscan-2.1.1.ebuild b/net-analyzer/sslscan/sslscan-2.1.1.ebuild
new file mode 100644
index 000000000000..b86183f63d01
--- /dev/null
+++ b/net-analyzer/sslscan/sslscan-2.1.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# sslscan builds against a static openssl library to allow weak ciphers
+# to be enabled so that they can be tested.
+OPENSSL_RELEASE_TAG="openssl-3.0.11"
+
+DESCRIPTION="Fast SSL configuration scanner"
+HOMEPAGE="https://github.com/rbsec/sslscan"
+SRC_URI="https://github.com/rbsec/sslscan/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/openssl/openssl/archive/${OPENSSL_RELEASE_TAG}.tar.gz -> ${PN}-${OPENSSL_RELEASE_TAG}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# Requires a docker environment
+RESTRICT="test"
+
+# S="${WORKDIR}/${P}-${MY_FORK}"
+
+src_prepare() {
+ ln -s ../openssl-${OPENSSL_RELEASE_TAG} openssl || die
+ touch .openssl_is_fresh || die
+ sed -i -e '/openssl\/.git/,/fi/d' \
+ -e '/openssl test/d' Makefile || die
+
+ # Copied from dev-libs/openssl
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
+ chmod a+rx gentoo.config || die
+
+ default
+}
+
+src_configure() {
+ # Copied from dev-libs/openssl
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ # Clean out hardcoded flags that openssl uses
+ local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAGS=::' \
+ -e 's:\(^\| \)-fomit-frame-pointer::g' \
+ -e 's:\(^\| \)-O[^ ]*::g' \
+ -e 's:\(^\| \)-march=[^ ]*::g' \
+ -e 's:\(^\| \)-mcpu=[^ ]*::g' \
+ -e 's:\(^\| \)-m[^ ]*::g' \
+ -e 's:^ *::' \
+ -e 's: *$::' \
+ -e 's: \+: :g' \
+ -e 's:\\:\\\\:g'
+ )
+
+ # Now insert clean default flags with user flags
+ sed -i \
+ -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
+ -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
+ Makefile || die
+}
+
+src_compile() {
+ emake static
+}
+
+src_install() {
+ DESTDIR="${D}" emake install
+
+ dodoc Changelog README.md
+}