Files
Ludo VisserandGitHub 24bb7c412c wget: Move metalink support to a variant
In order to reduce the dependencies of wget, make metalink support
optional via a variant. Currently, wget is the only port that depends on
libmetalink and metalink support is disable on most Linux distributions
in wget and curl.

See: https://trac.macports.org/ticket/69601

Closes: https://trac.macports.org/ticket/71523
2024-12-12 17:08:28 -06:00

149 lines
5.3 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup legacysupport 1.1
PortGroup muniversal 1.0
PortGroup perl5 1.0
name wget
version 1.25.0
revision 1
checksums rmd160 39e268af49675a252706ca972b42b75cc73260fe \
sha256 19225cc756b0a088fc81148dc6a40a0c8f329af7fd8483f1c7b2fe50f4e08a1f \
size 2582072
categories net www
maintainers {ryandesign @ryandesign} openmaintainer
license GPL-3+
homepage https://www.gnu.org/software/wget/
platforms darwin freebsd
use_parallel_build yes
master_sites gnu
use_lzip yes
description \
internet file retriever
long_description \
GNU Wget is a free software package for retrieving files using HTTP, \
HTTPS, and FTP, the most widely-used Internet protocols. It is a \
non-interactive commandline tool, so it may easily be called from \
scripts, cron jobs, terminals without Xsupport, etc.
configure.args --enable-option-checking \
--disable-silent-rules \
--enable-libproxy \
--enable-opie \
--enable-digest \
--enable-ntlm \
--enable-debug \
--disable-valgrind-tests \
--disable-assert \
--enable-largefile \
--enable-threads=posix \
--enable-nls \
--disable-rpath \
--enable-ipv6 \
--enable-iri \
--disable-pcre \
--enable-pcre2 \
--enable-xattr \
--without-ssl \
--with-zlib \
--without-metalink \
--without-cares \
--with-libiconv-prefix=${prefix} \
--with-libintl-prefix=${prefix} \
--with-libunistring-prefix=${prefix} \
--without-included-regex \
--without-libuuid
# use a specific MacPorts perl version
# older system perl versions (10.6 and earlier) do not support pod2man --utf8
# https://trac.macports.org/ticket/50164
depends_build port:gettext \
port:perl${perl5.major} \
path:bin/pkg-config:pkgconfig \
bin:makeinfo:texinfo
depends_test port:p${perl5.major}-libwww-perl \
port:p${perl5.major}-io-socket-ssl
depends_lib port:gettext-runtime \
port:libiconv \
port:libidn2 \
port:libproxy \
port:libpsl \
port:libunistring \
port:nettle \
port:pcre2 \
port:zlib
legacysupport.redirect_bins wget
patchfiles prefix.patch
# https://trac.macports.org/wiki/WimplicitFunctionDeclaration#strchr
configure.checks.implicit_function_declaration.whitelist-append strchr
configure.perl ${perl5.bin}
configure.env-append POD2MAN=${prefix}/bin/pod2man-${perl5.major}
# Ensure libuuid doesn't get used even if the ossp-uuid port is installed.
configure.args-append ac_cv_header_uuid_uuid_h=no
# tempname.c:290: error: 'for' loop initial declaration used outside C99 mode
compiler.c_standard 1999
configure.cflags-append -std=c99
test.run yes
test.target check
variant gnutls conflicts ssl description {SSL support via GnuTLS} {
configure.args-replace --without-ssl --with-ssl=gnutls
configure.args-append --with-libgnutls-prefix=${prefix}
depends_lib-append path:lib/pkgconfig/gnutls.pc:gnutls
}
variant ssl conflicts gnutls description {SSL support via OpenSSL} {
PortGroup openssl 1.0
configure.args-replace --without-ssl --with-ssl=openssl
configure.args-append --with-libssl-prefix=[openssl::install_area]
}
variant metalink description {Metalink support} {
configure.args-replace --without-metalink --with-metalink
depends_lib-append port:gpgme \
port:libmetalink
}
if {![variant_isset ssl]} {
default_variants +gnutls
}
post-patch {
reinplace "s|@PREFIX@|${prefix}|g" \
${worksrcpath}/README \
${worksrcpath}/NEWS \
${worksrcpath}/doc/sample.wgetrc \
${worksrcpath}/doc/wget.texi
}
post-destroot {
# Install documentation.
set docdir ${destroot}${prefix}/share/doc/${name}
xinstall -d ${docdir}
xinstall -W ${worksrcpath} -m 0644 AUTHORS COPYING ChangeLog MAILING-LIST NEWS README ${docdir}
# Rename sample wgetrc file so we don't clobber a user's real config file on upgrade.
move ${destroot}${prefix}/etc/wgetrc ${destroot}${prefix}/etc/wgetrc.sample
}
notes "
To customize wget, you can copy ${prefix}/etc/wgetrc.sample to\
${prefix}/etc/wgetrc and then make changes.
"