[ITP] wget2 - modern fast parallel file and recursive website downloader

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Wed Jul 8 20:05:48 GMT 2020


wget2 is the successor of wget supplying a shared library API like curl to build
a modern, fast, multi-threaded, parallel downloader using HTTP/2, HTTP
compression and If-Modified-Since headers; see

	https://gitlab.com/gnuwget/wget2

It is currently available on Arch, Debian/Ubuntu, openSUSE, Slackware:
see
	https://pkgs.org/download/wget2

I could release the package as is with an exe and dll, but it should be built as
separate bin, lib, devel, doc, and debuginfo packages, which I have never done
before, so could do with some advice and assistance with the apporach required,
which I based on curl, but that requires no script function overrides, and I
believe this one may or I need some hints.

I have attached my base wget2.cygport which builds one monolithic package but
contains comments for subpackage variables, plus comments showing other files
which I think should be included in the subpackages, and both references to
their locations in subpkg_CONTENTS and alterbative src_install script actions if
cygport will not move the contents into the appropriate install directory.

I also need to understand how cyg...dll package numbering should work with this
package: base zero or one and include or exclude the 2: libwget0, libwget1,
libwget2_0, or libwget2_1, and how to get that generated?

Any advice, assistance, help, or hints from more experienced packagers would be
welcome.

I can also update and release what may be the last patched version of the
original wget 1.20.3 (currently 1.19.1) if Eric has no time, or ITA wget if he
agrees.

I could also ITA curl from Yaakov as I use that and wget a lot in scripts and
cron jobs.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]

-------------- next part --------------
build/docs/html/

build/docs/man/man3/*.3*

build/examples/*.exe

build/include/wget/wgetver.h

inst/usr/bin/wget2.exe
inst/usr/bin/cygwget-0.dll
inst/usr/bin/wget2-noinstall.exe			X

inst/usr/include/wget*.h

inst/usr/lib/libwget.dll.a

inst/usr/lib/debug/usr/bin/cygwget-0.dll.dbg
inst/usr/lib/debug/usr/bin/wget2.exe.dbg
inst/usr/lib/debug/usr/bin/wget2-noinstall.exe.dbg	X

inst/usr/lib/pkgconfig/libwget.pc

inst/usr/share/doc/wget2/AUTHORS
inst/usr/share/doc/wget2/ChangeLog
inst/usr/share/doc/wget2/COPYING
inst/usr/share/doc/wget2/NEWS
inst/usr/share/doc/wget2/README
inst/usr/share/doc/wget2/readme.md

inst/usr/share/locale/

inst/usr/share/man/man3/libwget-*.3*

inst/usr/src/debug/wget2-1.99.2-1/

src/wget2-1.99.2/ABOUT-NLS
src/wget2-1.99.2/COPYING.LESSER

src/wget2-1.99.2/docs/wget2.md
src/wget2-1.99.2/docs/wget-logo.png
src/wget2-1.99.2/docs/wget2.info

src/wget2-1.99.2/docs/man/man1/wget2.1

src/wget2-1.99.2/docs/man/man3/libwget-*.3*

src/wget2-1.99.2/examples/*.c

-------------- next part --------------
#|/usr/bin/cygport
# wget2.cygport - wget2 Cygwin packages build control script

NAME=wget2
VERSION=1.99.2
RELEASE=1

CATEGORY=Net
SUMMARY="fast file and recursive website downloader"
DESCRIPTION="fast multi-threaded file and recursive website downloader using HTTP2,
HTTP compression, parallel connections, and If-Modified-Since HTTP headers.
The library libwget provides the basic functions needed by a modern web client."

HOMEPAGE=https://gitlab.com/gnuwget/wget2
SRC_URI=mirror://gnu/wget/$NAME-$VERSION.tar.gz
REF_DOCS=https://gnuwget.gitlab.io/wget2/reference/
MAILING_LIST=https://savannah.gnu.org/mail/?group=wget
BUG_TRACKER=https://gitlab.com/gnuwget/wget2/issues
FUZZ_COVERAGE=https://gnuwget.gitlab.io/wget2/fuzz-coverage/

DEPEND="
	autogen autopoint doxygen pkg-config python gettext-devel
	libbrotli-devel libbz2-devel libgettextpo-devel libgnutls-devel
	libgpgme-devel libiconv-devel libidn2-devel liblzma-devel
	libnettle-devel libnghttp2-devel libpcre2-devel libpsl-devel
	libzstd-devel
"
# libhsts-devel libmetalink-devel libmicrohttpd-devel libwolfssl-devel N/A
BUILD_REQUIRES="$DEPEND"

# SPDX-License-Identifier: L/GPL-3.0-or-later
wget2_LICENSE="GPLv3+"
libwget_LICENSE="LGPLv3+"
wget2_LICENSE_SPDX="SPDX-License-Identifier: GPL-3.0-or-later"
libwget_LICENSE_SPDX="SPDX-License-Identifier: LGPL-3.0-or-later"
wget2_LICENSE_URI="COPYING"
libwget_LICENSE_URI="COPYING.LESSER"

CYGWIN_MAINTAINER=Brian%20Inglis
CYGWIN_MAINTAINER_EMAIL=Brian.Inglis@SystematicSW.ab.ca
GNU_MAINTAINER="GNU Wget2 List"
GNU_MAINTAINER_EMAIL=bug-wget@gnu.org
UPSTREAM_EMAIL=wget-dev@gnu.org
SUBJECT="Package%20$NAME%20$VERSION"
MAILTO="mailto:$GNU_MAINTAINER_EMAIL,$UPSTREAM_EMAIL\
?to=$GNU_MAINTAINER%20%3C$GNU_MAINTAINER_EMAIL%3E\
&to=$GNU_MAINTAINER%20%3C$UPSTREAM_EMAIL%3E\
&from=$CYGWIN_MAINTAINER%20%3C$CYGWIN_MAINTAINER_EMAIL%3E\
&subject=$SUBJECT&body=Hi%20$GNU_MAINTAINER,%20$SUBJECT"

#PKG_NAMES="${NAME} libwget0 lib${NAME}-devel lib${NAME}-doc"

# inst/usr/share/doc/wget2/AUTHORS	-> all
# inst/usr/share/doc/wget2/ChangeLog	-> all
# inst/usr/share/doc/wget2/COPYING	-> all
# inst/usr/share/doc/wget2/NEWS		-> all
# inst/usr/share/doc/wget2/README	-> all
# inst/usr/share/doc/wget2/readme.md	-> all

# inst/usr/bin/wget2.exe		-> bin
# inst/usr/share/locale/		-> bin

# src/wget2-1.99.2/docs/man/man1/wget2.1-> bin
# src/wget2-1.99.2/docs/wget2.info	-> bin
# src/wget2-1.99.2/docs/wget2.md	-> bin
# src/wget2-1.99.2/docs/wget-logo.png	-> bin

#wget2_CONTENTS="
#	usr/bin/wget2.exe
#	usr/share/locale/
#	usr/share/doc/wget2/
#	$S/docs/man/man1/wget2.1
#	$S/docs/wget2.info
#"
# doinfo $S/docs/wget2.info
# doman $S/docs/man/man1/wget2.1

#wget2_DOCS="
#	docs/wget2.md
#	docs/wget-logo.png
#"
# dodoc $S/docs/wget2.md
# doicon $S/docs/wget-logo.png

# inst/usr/src/debug/			-> bin-debuginfo

#wget2_debuginfo_CONTENTS=usr/src/debug/

# inst/usr/bin/cygwget-0.dll		-> lib
# src/wget2-1.99.2/COPYING.LESSER	-> lib

#libwget0_CATEGORY="$CATEGORY Libs"
#libwget0_SUMMARY="modern web client library (runtime)"
#libwget0_REQUIRES="
#	libbrotli libbz2 libgettextpo libgnutls libgpgme libiconv libidn2
#	liblzma libnettle libnghttp2 libpcre2 libpsl libzstd
#"
#	libhsts libmetalink libmicrohttpd libwolfssl	N/A
#libwget0_CONTENTS="
#	usr/bin/cygwget-0.dll
#	usr/share/doc/wget2/
#"
#libwget0_DOCS=COPYING.LESSER
# dodoc $S/COPYING.LESSER

# build/docs/html/			-> devel
# build/examples/Makefile		-> devel
# inst/usr/include/wget*.h		-> devel
# inst/usr/lib/libwget.dll.a		-> devel
# inst/usr/lib/pkgconfig/libwget.pc	-> devel
# inst/usr/share/man/man3/libwget-*.3*	-> devel
# src/wget2-1.99.2/ABOUT-NLS		-> devel
# src/wget2-1.99.2/examples/*.c		-> devel

#libwget_devel_CATEGORY="$CATEGORY Devel Libs"
#libwget_devel_SUMMARY="modern web client library (development)"
#libwget_devel_CONTENTS="
#	usr/include/wget*.h
#	usr/lib/libwget.dll.a
#	usr/lib/pkgconfig/libwget.pc
#	usr/share/doc/wget2/
#	usr/share/man/man3/libwget-*.3.gz
#"
#libwget_devel_DOCS="
#	ABOUT-NLS
#	examples/*.c
#	$B/examples/Makefile
#"
#	dodoc $S/ABOUT-NLS
#	docinto examples/
#	dodoc $S/ABOUT-NLS $S/examples/*.c examples/Makefile
#libwget_devel_HTMLDOCS=$B/docs/html/
# dodoc	$B/docs/html/

#libwget_doc_CATEGORY="$CATEGORY Devel Doc"
#libwget_doc_SUMMARY="modern web client library (API docs)"
#libwget_doc_CONTENTS="
#	usr/share/man/man3/
#	$B/docs/html/
#"
#libwget_doc_HTMLDOCS=$B/docs/html/
# dodoc	$B/docs/html/

# inst/usr/lib/debug/usr/bin/		-> lib-debuginfo

#libwget_debuginfo_CONTENTS=usr/lib/debug/usr/bin/



More information about the Cygwin-apps mailing list