commit:     4aad8e61e2f17e82736ab9992095abff83b69904
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 13 06:21:39 2019 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Tue Aug 13 06:22:00 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4aad8e61

net-analyzer/hydra: Add live ebuild

Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-analyzer/hydra/hydra-9999999.ebuild | 122 ++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

diff --git a/net-analyzer/hydra/hydra-9999999.ebuild 
b/net-analyzer/hydra/hydra-9999999.ebuild
new file mode 100644
index 00000000000..419882a4735
--- /dev/null
+++ b/net-analyzer/hydra/hydra-9999999.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit git-r3 toolchain-funcs
+
+DESCRIPTION="Parallelized network login hacker"
+HOMEPAGE="https://github.com/vanhauser-thc/thc-hydra";
+EGIT_REPO_URI="${HOMEPAGE}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="
+       debug firebird gcrypt gtk idn libressl memcached mongodb mysql ncp 
ncurses
+       oracle pcre postgres rdp libssh subversion zlib
+"
+
+RDEPEND="
+       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= )
+       !libressl? ( dev-libs/openssl:0= )
+       libressl? ( dev-libs/libressl:0= )
+       memcached? ( dev-libs/libmemcached[sasl] )
+       mongodb? ( dev-libs/mongo-c-driver )
+       mysql? ( dev-db/mysql-connector-c:0= )
+       ncp? ( net-fs/ncpfs )
+       ncurses? ( sys-libs/ncurses:= )
+       oracle? ( dev-db/oracle-instantclient-basic )
+       pcre? ( dev-libs/libpcre )
+       postgres? ( dev-db/postgresql:* )
+       rdp? ( net-misc/freerdp )
+       libssh? ( >=net-libs/libssh-0.4.0 )
+       subversion? ( dev-vcs/subversion )
+       zlib? ( sys-libs/zlib )
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
+
+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
+}
+
+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 ncp '-lncp' '' '-DLIBNCP'
+       hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}"  --libs ncurses )' 
'-DLIBNCURSES'
+       hydra_sed pcre '-lpcre' '$( "${PKG_CONFIG}"  --libs libpcre )' 
'-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 )' 
'-DLIBFREERDP2'
+       # 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 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.md
+}

Reply via email to