summaryrefslogtreecommitdiff
path: root/net-analyzer/hydra/hydra-9.5-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/hydra/hydra-9.5-r1.ebuild')
-rw-r--r--net-analyzer/hydra/hydra-9.5-r1.ebuild128
1 files changed, 128 insertions, 0 deletions
diff --git a/net-analyzer/hydra/hydra-9.5-r1.ebuild b/net-analyzer/hydra/hydra-9.5-r1.ebuild
new file mode 100644
index 000000000000..daca94b7c580
--- /dev/null
+++ b/net-analyzer/hydra/hydra-9.5-r1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs
+
+DESCRIPTION="Parallelized network login hacker"
+HOMEPAGE="https://github.com/vanhauser-thc/thc-hydra"
+SRC_URI="https://github.com/vanhauser-thc/thc-hydra/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/thc-${P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug firebird gcrypt gtk idn memcached mongodb mysql ncurses oracle pcre postgres rdp libssh samba subversion zlib"
+
+RDEPEND="
+ dev-libs/openssl:=
+ gtk? (
+ >=app-accessibility/at-spi2-core-2.46.0
+ dev-libs/glib:2
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ firebird? ( dev-db/firebird )
+ gcrypt? ( dev-libs/libgcrypt )
+ idn? ( net-dns/libidn:= )
+ memcached? ( dev-libs/libmemcached[sasl] )
+ mongodb? ( dev-libs/mongo-c-driver )
+ mysql? ( dev-db/mysql-connector-c:= )
+ ncurses? ( sys-libs/ncurses:= )
+ oracle? ( dev-db/oracle-instantclient[sdk] )
+ pcre? ( dev-libs/libpcre2 )
+ postgres? ( dev-db/postgresql:* )
+ rdp? ( <net-misc/freerdp-3:0= )
+ libssh? ( >=net-libs/libssh-0.4.0 )
+ samba? ( net-fs/samba )
+ subversion? ( dev-vcs/subversion )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.5-no-clobber-fortify-source.patch
+)
+
+src_prepare() {
+ default
+
+ # None of the settings in Makefile.unix are useful to us
+ mv Makefile.unix{,.gentoo_unused} || die
+ touch Makefile.unix || die
+
+ sed -i \
+ -e 's:|| echo.*$::' \
+ -e '/\t-$(CC)/s:-::' \
+ -e '/^OPTS/{s|=|+=|;s| -O3||}' \
+ -e '/ -o /s:$(OPTS):& $(LDFLAGS):g' \
+ Makefile.am || die
+
+ # Needed to get GTK+ 3 change in configure.in (.in got updated, but
+ # configure not regen'd.)
+ #cd hydra-gtk || die
+ #sed -i -e 's:AC_INIT(configure.in):AC_INIT(configure.ac):' configure.in || die
+ #eautoreconf
+}
+
+src_configure() {
+ # Note: the top level configure script is not autoconf-based
+ tc-export CC PKG_CONFIG
+
+ export OPTS="${CFLAGS}"
+
+ hydra_sed() {
+ if use ${1}; then
+ einfo "Enabling ${1}"
+ if [[ -n "${3}" ]]; then
+ sed -i 's#'"${2}"'#'"${3}"'#' configure || die
+ fi
+ else
+ einfo "Disabling ${1}"
+ sed -i 's#'"${2}"'##; s#'"${4}"'##' configure || die
+ fi
+ }
+
+ hydra_sed firebird '-lfbclient' '' '-DLIBFIREBIRD'
+ hydra_sed gcrypt '-lgcrypt' '$( ${CTARGET:-${CHOST}}-libgcrypt-config --libs )' '-DHAVE_GCRYPT'
+ hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
+ hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
+ hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
+ hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
+ hydra_sed mysql '-lmysqlclient' '$( ${CTARGET:-${CHOST}}-mysql_config --libs )' '-DLIBMYSQLCLIENT'
+ hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
+ hydra_sed pcre '-lpcre2-8' '$( "${PKG_CONFIG}" --libs libpcre2-8 )' '-DHAVE_PCRE'
+ hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
+ hydra_sed oracle '-locci -lclntsh' '' '-DLIBORACLE'
+ hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP'
+ # TODO: https://bugs.gentoo.org/686148
+ #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
+ hydra_sed samba '-lsmbclient' '$( "${PKG_CONFIG}" --libs smbclient )' '-DLIBSMBCLIENT'
+ hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '' '-DLIBSVN'
+ hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
+
+ edo ./configure \
+ $(usev !gtk '--disable-xhydra') \
+ $(usev debug '--debug') \
+ --nostrip \
+ --prefix=/usr \
+ || die
+
+ if use gtk ; then
+ pushd hydra-gtk || die
+ econf
+ fi
+}
+
+src_compile() {
+ emake XLIBPATHS=''
+ use gtk && emake -C hydra-gtk
+}
+
+src_install() {
+ dobin hydra pw-inspector
+ use gtk && dobin hydra-gtk/src/xhydra
+ dodoc CHANGES README
+}