blob: bb1ddfd7814fc4be31297937dcb75e410e656a97 [file] [log] [blame]
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_{4,5,6} )
inherit flag-o-matic python-any-r1 toolchain-funcs
DESCRIPTION="Network utility to retrieve files from the WWW"
HOMEPAGE="https://www.gnu.org/software/wget/"
SRC_URI="mirror://gnu/wget/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="*"
IUSE="debug gnutls idn ipv6 libressl nls ntlm pcre +ssl static test uuid zlib"
REQUIRED_USE=" ntlm? ( !gnutls ssl ) gnutls? ( ssl )"
# Force a newer libidn2 to avoid libunistring deps. #612498
LIB_DEPEND="idn? ( >=net-dns/libidn2-0.14[static-libs(+)] )
pcre? ( dev-libs/libpcre[static-libs(+)] )
ssl? (
gnutls? ( net-libs/gnutls:0=[static-libs(+)] )
!gnutls? (
!libressl? ( dev-libs/openssl:0=[static-libs(+)] )
libressl? ( dev-libs/libressl[static-libs(+)] )
)
)
uuid? ( sys-apps/util-linux[static-libs(+)] )
zlib? ( sys-libs/zlib[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
app-arch/xz-utils
virtual/pkgconfig
static? ( ${LIB_DEPEND} )
test? (
${PYTHON_DEPS}
dev-lang/perl
dev-perl/HTTP-Daemon
dev-perl/HTTP-Message
dev-perl/IO-Socket-SSL
)
nls? ( sys-devel/gettext )"
DOCS=( AUTHORS MAILING-LIST NEWS README doc/sample.wgetrc )
PATCHES=(
"${FILESDIR}"/${P}-CRLF_injection.patch
"${FILESDIR}"/${PN}-1.19.1-fix-Perl-warnings-in-tests.patch
"${FILESDIR}"/${PN}-1.19.1-fix-Python-test-suite.patch
"${FILESDIR}"/${PN}-1.19.1-CVE-2017-13089.patch
"${FILESDIR}"/${PN}-1.19.1-CVE-2017-13090.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
epatch "${PATCHES[@]}"
# revert some hack that breaks linking, bug #585924
if [[ ${CHOST} == *-darwin* ]] || [[ ${CHOST} == *-solaris* ]] || [[ ${CHOST} == *-uclibc* ]]; then
sed -i \
-e 's/^ LIBICONV=$/:/' \
configure || die
fi
}
src_configure() {
# fix compilation on Solaris, we need filio.h for FIONBIO as used in
# the included gnutls -- force ioctl.h to include this header
[[ ${CHOST} == *-solaris* ]] && append-cppflags -DBSD_COMP=1
if use static ; then
append-ldflags -static
tc-export PKG_CONFIG
PKG_CONFIG+=" --static"
fi
# There is no flag that controls this. libunistring-prefix only
# controls the search path (which is why we turn it off below).
# Further, libunistring is only needed w/older libidn2 installs,
# and since we force the latest, we can force off libunistring. #612498
ac_cv_libunistring=no \
econf \
--disable-assert \
--disable-rpath \
--without-included-libunistring \
--without-libunistring-prefix \
$(use_enable debug) \
$(use_enable idn iri) \
$(use_enable ipv6) \
$(use_enable nls) \
$(use_enable ntlm) \
$(use_enable pcre) \
$(use_enable ssl digest) \
$(use_enable ssl opie) \
$(use_with idn libidn) \
$(use_with ssl ssl $(usex gnutls gnutls openssl)) \
$(use_with uuid libuuid) \
$(use_with zlib)
}
src_install() {
default
sed -i \
-e "s:/usr/local/etc:${EPREFIX}/etc:g" \
"${ED}"/etc/wgetrc \
"${ED}"/usr/share/man/man1/wget.1 \
"${ED}"/usr/share/info/wget.info \
|| die
}