blob: eae7dc1ebc23ab2d41c757d55ed18115d8b13a71 [file] [log] [blame]
#
# Copyright 2022 Google LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
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.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="*"
IUSE="cookie_check debug gnutls idn ipv6 metalink nls ntlm pcre +ssl static test uuid zlib"
REQUIRED_USE=" ntlm? ( !gnutls ssl ) gnutls? ( ssl )"
RESTRICT="!test? ( test )"
# Force a newer libidn2 to avoid libunistring deps. #612498
LIB_DEPEND="
cookie_check? ( net-libs/libpsl )
idn? ( >=net-dns/libidn2-0.14:=[static-libs(+)] )
metalink? ( media-libs/libmetalink )
pcre? ( dev-libs/libpcre2[static-libs(+)] )
ssl? (
gnutls? ( net-libs/gnutls:0=[static-libs(+)] )
!gnutls? ( dev-libs/openssl:0=[static-libs(+)] )
)
uuid? ( sys-apps/util-linux[static-libs(+)] )
zlib? ( sys-libs/zlib[static-libs(+)] )
"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="
${RDEPEND}
static? ( ${LIB_DEPEND} )
test? (
${PYTHON_DEPS}
dev-lang/perl
dev-perl/HTTP-Daemon
dev-perl/HTTP-Message
dev-perl/IO-Socket-SSL
)
"
BDEPEND="
app-arch/xz-utils
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.21.1-add-bind-device-flag.patch
)
DOCS=( AUTHORS MAILING-LIST NEWS README doc/sample.wgetrc )
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
default
# revert some hack that breaks linking, bug #585924
if [[ ${CHOST} == *-darwin* ]] \
|| [[ ${CHOST} == *-solaris* ]] \
|| [[ ${CHOST} == *-uclibc* ]] \
|| [[ ${CHOST} == *-cygwin* ]] \
; 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
local myeconfargs=(
--disable-assert
--disable-pcre
--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 pcre2)
$(use_enable ssl digest)
$(use_enable ssl opie)
$(use_with cookie_check libpsl)
$(use_with idn libidn)
$(use_with metalink)
$(use_with ssl ssl $(usex gnutls gnutls openssl))
$(use_with uuid libuuid)
$(use_with zlib)
)
ac_cv_libunistring=no \
econf "${myeconfargs[@]}"
}
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
}