diff options
Diffstat (limited to 'net-analyzer/sslscan/sslscan-2.1.1.ebuild')
-rw-r--r-- | net-analyzer/sslscan/sslscan-2.1.1.ebuild | 82 |
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 +} |