diff options
Diffstat (limited to 'net-analyzer/hydra/hydra-9.3-r1.ebuild')
-rw-r--r-- | net-analyzer/hydra/hydra-9.3-r1.ebuild | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/net-analyzer/hydra/hydra-9.3-r1.ebuild b/net-analyzer/hydra/hydra-9.3-r1.ebuild new file mode 100644 index 000000000000..d149fdce2dde --- /dev/null +++ b/net-analyzer/hydra/hydra-9.3-r1.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools 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? ( + dev-libs/atk + 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:0= ) + memcached? ( dev-libs/libmemcached[sasl] ) + mongodb? ( dev-libs/mongo-c-driver ) + mysql? ( dev-db/mysql-connector-c:0= ) + ncurses? ( sys-libs/ncurses:= ) + oracle? ( dev-db/oracle-instantclient[sdk] ) + pcre? ( dev-libs/libpcre2 ) + postgres? ( dev-db/postgresql:* ) + rdp? ( net-misc/freerdp ) + 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}"/${P}-pcre2.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' + + sh configure \ + $(use gtk || echo --disable-xhydra) \ + $(usex 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 +} |