1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00

www/wget2: add port: File and recursive website downloader

GNU Wget2 is the successor of GNU Wget, a file and recursive website
    downloader.

    Designed and written from scratch it wraps around libwget, that
    provides the basic functions needed by a web client.

    Wget2 works multi-threaded and uses many features to allow fast
    operation.

    In many cases Wget2 downloads much faster than Wget1.x due to HTTP2,
    HTTP compression, parallel connections and use of If-Modified-Since
    HTTP header.

    WWW: https://gitlab.com/gnuwget/wget2

Unlike wget, this was placed into www category as it does no longer
support ftp.
This commit is contained in:
Dmitry Marakasov 2021-11-18 03:03:54 +03:00
parent fa046e6f5b
commit 33aebe34ea
8 changed files with 306 additions and 0 deletions

View File

@ -2344,6 +2344,7 @@
SUBDIR += webstone-ssl
SUBDIR += webtrees
SUBDIR += webtrees20
SUBDIR += wget2
SUBDIR += wgetpaste
SUBDIR += wikicalc
SUBDIR += wordpress

100
www/wget2/Makefile Normal file
View File

@ -0,0 +1,100 @@
PORTNAME= wget2
DISTVERSION= 2.0.0
CATEGORIES= www
MASTER_SITES= GNU/wget
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= File and recursive website downloader
LICENSE= GPLv3+ LGPL3+
LICENSE_COMB= multi
LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING
LICENSE_FILE_LGPL3+ = ${WRKSRC}/COPYING.LESSER
USES= autoreconf charsetfix cpe iconv libtool:build localbase pkgconfig tar:lz
CPE_VENDOR= gnu
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --without-lzip # not in ports yet
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
OPTIONS_DEFINE= IDN MANPAGES DOXYGEN NLS PSL NGHTTP2 BROTLI ZSTD GPGME TEST HSTS
OPTIONS_RADIO= SSL PCRE
OPTIONS_RADIO_SSL=GNUTLS OPENSSL # WOLFSSL
OPTIONS_RADIO_PCRE=PCRE1 PCRE2
OPTIONS_DEFAULT=IDN MANPAGES OPENSSL NLS PSL NGHTTP2 BROTLI ZSTD GPGME TEST HSTS
OPTIONS_SUB= yes
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
IDN_CONFIGURE_WITH= libidn2
MANPAGES_BUILD_DEPENDS= pandoc:textproc/hs-pandoc
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
NLS_USES= gettext
NLS_USES_OFF= gettext-tools
NLS_CONFIGURE_ENABLE= nls
PCRE_DESC= Support Perl regular expressions in addition to POSIX
PCRE1_DESC= Support PCRE style regular expressions
PCRE1_LIB_DEPENDS= libpcre.so:devel/pcre
PCRE1_CONFIGURE_WITH= libpcre
PCRE2_DESC= Support PCRE2 style regular expressions
PCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
PCRE2_CONFIGURE_WITH= libpcre2
PSL_CONFIGURE_WITH= libpsl
PSL_LIB_DEPENDS= libpsl.so:dns/libpsl
HSTS_DESC= Support HSTS preload lists
HSTS_CONFIGURE_WITH= libhsts
HSTS_LIB_DEPENDS= libhsts.so:www/libhsts
NGHTTP2_DESC= Support HTTP/2.0 through libnghttp2
NGHTTP2_CONFIGURE_WITH= libnghttp2
NGHTTP2_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
BROTLI_CONFIGURE_WITH= brotlidec
BROTLI_LIB_DEPENDS= libbrotlidec.so:archivers/brotli
ZSTD_CONFIGURE_WITH= zstd
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
GPGME_DESC= Support signature verification with gpgme
GPGME_CONFIGURE_WITH= gpgme
GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme
TEST_TEST_TARGET= check
TEST_CONFIGURE_WITH= libmicrohttpd
TEST_LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd
TEST_TEST_DEPENDS= p5-HTTP-Daemon>=0:www/p5-HTTP-Daemon \
p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MOPENSSL}
USES+= ssl
CONFIGURE_ARGS+=--with-ssl=openssl --with-openssl
CPPFLAGS+= -I${OPENSSLINC}
LDFLAGS+= -L${OPENSSLLIB}
.elif ${PORT_OPTIONS:MGNUTLS}
LIB_DEPENDS+= libgnutls.so:security/gnutls
CONFIGURE_ARGS+=--with-ssl=gnutls
.elif ${PORT_OPTIONS:MWOLFSSL}
BROKEN= does not build: use of undeclared identifier WOLFSSL_ALPN_CONTINUE_ON_MISMATCH
LIB_DEPENDS+= libwolfssl.so:security/wolfssl
CONFIGURE_ARGS+=--with-ssl=wolfssl
.else
CONFIGURE_ARGS+=--with-ssl=none
.endif
post-patch-MANPAGES-off:
@${REINPLACE_CMD} -e '/AC_CHECK_PROGS/ s|pandoc|&-not-found|' ${WRKSRC}/configure.ac
post-patch-DOXYGEN-off:
@${REINPLACE_CMD} -e '/AC_CHECK_PROGS/ s|doxygen|&-not-found|' ${WRKSRC}/configure.ac
.include <bsd.port.mk>

3
www/wget2/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1637155143
SHA256 (wget2-2.0.0.tar.lz) = da95b1477fa4ede1ac712f179c1354d9624fbc91e778d89cf8d2ae46aa15e3d2
SIZE (wget2-2.0.0.tar.lz) = 1956207

View File

@ -0,0 +1,11 @@
Don't try run non-existing target during testing
--- Makefile.am.orig 2021-08-21 17:47:39 UTC
+++ Makefile.am
@@ -89,7 +89,6 @@ fuzz-coverage: clean clean-lcov
@echo "You can now view the coverage report with 'xdg-open lcov/index.html'"
check-local:
- $(AM_V_at)$(MAKE) -s syntax-check >/dev/null
$(AM_V_at)$(srcdir)/contrib/check_options $(srcdir)/docs/wget2.md $(builddir)/src/wget2$(EXEEXT)
# ppl often forget to run ldconfig after an install, so let's do it here

View File

@ -0,0 +1,12 @@
Fix openssl library name
--- configure.ac.orig 2021-09-12 11:12:41 UTC
+++ configure.ac
@@ -503,7 +502,7 @@ AS_IF([test "$with_ssl" = "openssl" || (test "$with_ss
CFLAGS="$OPENSSL_CFLAGS $CFLAGS"
AC_DEFINE([WITH_OPENSSL], [1], [Use OpenSSL])
], [
- AC_SEARCH_LIBS(SSL_CTX_new, openssl,
+ AC_SEARCH_LIBS(SSL_CTX_new, ssl,
[with_openssl=yes; AC_DEFINE([WITH_OPENSSL], [1], [Use OpenSSL])],
[AC_MSG_WARN(*** OpenSSL was not found.)
])

View File

@ -0,0 +1,12 @@
Don't build the info page which is not installed anyway
--- docs/Makefile.am.orig 2021-08-21 17:47:39 UTC
+++ docs/Makefile.am
@@ -49,8 +49,6 @@ $(man1_MANS): wget2.stamp
wget2.stamp:
mkdir -p $(builddir)/man/man1
PANDOC=$(PANDOC) sh $(builddir)/wget2_md2man.sh $(srcdir)/wget2.md $(builddir)/man/man1/wget2.1
- $(PANDOC) -s -f markdown -t texinfo -o $(builddir)/wget2.texi $(srcdir)/wget2.md
- $(MAKEINFO) --force -o $(builddir)/wget2.info $(builddir)/wget2.texi
echo > wget2.stamp
DISTCLEANFILES += wget2.texi wget2.info

14
www/wget2/pkg-descr Normal file
View File

@ -0,0 +1,14 @@
GNU Wget2 is the successor of GNU Wget, a file and recursive website
downloader.
Designed and written from scratch it wraps around libwget, that
provides the basic functions needed by a web client.
Wget2 works multi-threaded and uses many features to allow fast
operation.
In many cases Wget2 downloads much faster than Wget1.x due to HTTP2,
HTTP compression, parallel connections and use of If-Modified-Since
HTTP header.
WWW: https://gitlab.com/gnuwget/wget2

153
www/wget2/pkg-plist Normal file
View File

@ -0,0 +1,153 @@
bin/wget2
bin/wget2_noinstall
include/wget.h
include/wgetver.h
lib/libwget.a
lib/libwget.so
lib/libwget.so.1
lib/libwget.so.1.0.0
lib/libwget_alloc.a
lib/libwget_alloc.so
lib/libwget_alloc.so.1
lib/libwget_alloc.so.1.0.0
lib/libwget_common.a
lib/libwget_common.so
lib/libwget_common.so.1
lib/libwget_common.so.1.0.0
lib/libwget_css.a
lib/libwget_css.so
lib/libwget_css.so.1
lib/libwget_css.so.1.0.0
lib/libwget_decompress.a
lib/libwget_decompress.so
lib/libwget_decompress.so.1
lib/libwget_decompress.so.1.0.0
lib/libwget_dns.a
lib/libwget_dns.so
lib/libwget_dns.so.1
lib/libwget_dns.so.1.0.0
lib/libwget_dnscache.a
lib/libwget_dnscache.so
lib/libwget_dnscache.so.1
lib/libwget_dnscache.so.1.0.0
lib/libwget_encoding.a
lib/libwget_encoding.so
lib/libwget_encoding.so.1
lib/libwget_encoding.so.1.0.0
lib/libwget_hashfile.a
lib/libwget_hashfile.so
lib/libwget_hashfile.so.1
lib/libwget_hashfile.so.1.0.0
lib/libwget_hpkp_db.a
lib/libwget_hpkp_db.so
lib/libwget_hpkp_db.so.1
lib/libwget_hpkp_db.so.1.0.0
lib/libwget_hsts.a
lib/libwget_hsts.so
lib/libwget_hsts.so.1
lib/libwget_hsts.so.1.0.0
lib/libwget_http_parse.a
lib/libwget_http_parse.so
lib/libwget_http_parse.so.1
lib/libwget_http_parse.so.1.0.0
lib/libwget_io.a
lib/libwget_io.so
lib/libwget_io.so.1
lib/libwget_io.so.1.0.0
lib/libwget_ip.a
lib/libwget_ip.so
lib/libwget_ip.so.1
lib/libwget_ip.so.1.0.0
lib/libwget_iri.a
lib/libwget_iri.so
lib/libwget_iri.so.1
lib/libwget_iri.so.1.0.0
lib/libwget_logger.a
lib/libwget_logger.so
lib/libwget_logger.so.1
lib/libwget_logger.so.1.0.0
lib/libwget_metalink.a
lib/libwget_metalink.so
lib/libwget_metalink.so.1
lib/libwget_metalink.so.1.0.0
lib/libwget_netrc.a
lib/libwget_netrc.so
lib/libwget_netrc.so.1
lib/libwget_netrc.so.1.0.0
lib/libwget_ocsp.a
lib/libwget_ocsp.so
lib/libwget_ocsp.so.1
lib/libwget_ocsp.so.1.0.0
lib/libwget_progress.a
lib/libwget_progress.so
lib/libwget_progress.so.1
lib/libwget_progress.so.1.0.0
lib/libwget_robots.a
lib/libwget_robots.so
lib/libwget_robots.so.1
lib/libwget_robots.so.1.0.0
lib/libwget_thread.a
lib/libwget_thread.so
lib/libwget_thread.so.1
lib/libwget_thread.so.1.0.0
lib/libwget_tls_session.a
lib/libwget_tls_session.so
lib/libwget_tls_session.so.1
lib/libwget_tls_session.so.1.0.0
lib/libwget_xml.a
lib/libwget_xml.so
lib/libwget_xml.so.1
lib/libwget_xml.so.1.0.0
libdata/pkgconfig/libwget.pc
%%MANPAGES%%man/man1/wget2.1.gz
%%DOXYGEN%%man/man3/libwget-base64.3.gz
%%DOXYGEN%%man/man3/libwget-bitmap.3.gz
%%DOXYGEN%%man/man3/libwget-console.3.gz
%%DOXYGEN%%man/man3/libwget-dns-caching.3.gz
%%DOXYGEN%%man/man3/libwget-dns.3.gz
%%DOXYGEN%%man/man3/libwget-error.3.gz
%%DOXYGEN%%man/man3/libwget-hash.3.gz
%%DOXYGEN%%man/man3/libwget-hashmap.3.gz
%%DOXYGEN%%man/man3/libwget-io.3.gz
%%DOXYGEN%%man/man3/libwget-ip.3.gz
%%DOXYGEN%%man/man3/libwget-list.3.gz
%%DOXYGEN%%man/man3/libwget-mem.3.gz
%%DOXYGEN%%man/man3/libwget-net.3.gz
%%DOXYGEN%%man/man3/libwget-parse_atom.3.gz
%%DOXYGEN%%man/man3/libwget-parse_sitemap.3.gz
%%DOXYGEN%%man/man3/libwget-printf.3.gz
%%DOXYGEN%%man/man3/libwget-random.3.gz
%%DOXYGEN%%man/man3/libwget-robots.3.gz
%%DOXYGEN%%man/man3/libwget-stringmap.3.gz
%%DOXYGEN%%man/man3/libwget-thread.3.gz
%%DOXYGEN%%man/man3/libwget-utils.3.gz
%%DOXYGEN%%man/man3/libwget-vector.3.gz
%%DOXYGEN%%man/man3/libwget-xalloc.3.gz
%%DOXYGEN%%man/man3/libwget-xml.3.gz
%%NLS%%share/locale/ca/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/cs/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/de/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/eo/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/es/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/et/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/fi/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/fr/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/ga/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/hr/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/hu/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/id/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/it/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/ja/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/nb/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/nl/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/pl/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/ro/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/ru/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/sk/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/sr/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/sv/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/tr/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/uk/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/vi/LC_MESSAGES/wget2.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/wget2.mo