[PATCH] gnu: wget: Add wget2.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • ng0
  • Rutger Helling
Owner
unassigned
Submitted by
Rutger Helling
Severity
normal
R
R
Rutger Helling wrote on 14 Nov 2017 15:04
(address . guix-patches@gnu.org)
002180def3dcabbd5ed927ecbd9d44df@mykolab.com
Hey Guix,

this patch adds wget2.
Attachment: file
From 9e0271973c6c0c762cf4bcee987432864bc3e1d8 Mon Sep 17 00:00:00 2001
From: Rutger Helling <rhelling@mykolab.com>
Date: Tue, 14 Nov 2017 14:58:18 +0100
Subject: [PATCH] gnu: wget: Add wget2.

* gnu/packages/wget.scm (wget2): New variable.
---
gnu/packages/wget.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (94 lines)
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index bfcfcad23..6249f9eb3 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,15 +22,23 @@
(define-module (gnu packages wget)
#:use-module (guix licenses)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gnunet)
#:use-module (gnu packages libidn)
#:use-module (gnu packages python)
#:use-module (gnu packages perl)
#:use-module (gnu packages web)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public wget
@@ -112,3 +121,55 @@ in downloaded documents to relative links.")
"@code{wgetpaste} is an extremely simple command-line interface to various
online pastebin services.")
(license public-domain)))
+
+(define-public wget2
+ (package
+ (name "wget2")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rockdaboot/wget2")
+ (commit "b45709d3d21714135ce79df6abbdcb704684063d")
+ (recursive? #t))) ;; Needed for 'gnulib' git submodule.
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0ww84wwzmpyylkz8rnb6nk6f7x040132z81x52w7rjhk68p9mm24"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _
+ ;; Make sure all the files are writable so that ./bootstrap
+ ;; can proceed.
+ (for-each (lambda (file)
+ (chmod file #o755))
+ (find-files "."))
+ (substitute* "./gnulib/gnulib-tool.py"
+ (("/usr/bin/python") (which "python3")))
+ (zero? (system* "sh" "./bootstrap"
+ "--gnulib-srcdir=gnulib"
+ "--no-git")))))))
+ (inputs `(("autoconf", autoconf)
+ ("automake", automake)
+ ("doxygen", doxygen)
+ ("flex", flex)
+ ("gettext", gettext-minimal)
+ ("gnutls", gnutls)
+ ("libiconv", libiconv)
+ ("libidn2", libidn2)
+ ("libmicrohttpd", libmicrohttpd)
+ ("libpsl", libpsl)
+ ("libtool", libtool)
+ ("pcre2", pcre2)
+ ("python", python)))
+ ;; TODO: Add libbrotlidec, libnghttp2.
+ (native-inputs `(("pkg-config", pkg-config)))
+ (home-page "https://github.com/rockdaboot/wget2")
+ (synopsis "Successor of GNU Wget")
+ (description "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.")
+ (license (list gpl3+ lgpl3+))))
--
2.15.0
N
(name . Rutger Helling)(address . rhelling@mykolab.com)(address . 29294@debbugs.gnu.org)
20171114155607.zym6uzztf2blfga7@abyayala
Rutger Helling transcribed 6.1K bytes:
Toggle quote (92 lines)
> Hey Guix,
>
> this patch adds wget2.

> From 9e0271973c6c0c762cf4bcee987432864bc3e1d8 Mon Sep 17 00:00:00 2001
> From: Rutger Helling <rhelling@mykolab.com>
> Date: Tue, 14 Nov 2017 14:58:18 +0100
> Subject: [PATCH] gnu: wget: Add wget2.
>
> * gnu/packages/wget.scm (wget2): New variable.
> ---
> gnu/packages/wget.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
> index bfcfcad23..6249f9eb3 100644
> --- a/gnu/packages/wget.scm
> +++ b/gnu/packages/wget.scm
> @@ -2,6 +2,7 @@
> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
> ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
> +;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -21,15 +22,23 @@
> (define-module (gnu packages wget)
> #:use-module (guix licenses)
> #:use-module (gnu packages)
> + #:use-module (gnu packages autotools)
> + #:use-module (gnu packages base)
> #:use-module (gnu packages compression)
> + #:use-module (gnu packages documentation)
> + #:use-module (gnu packages flex)
> + #:use-module (gnu packages gettext)
> + #:use-module (gnu packages gnunet)
> #:use-module (gnu packages libidn)
> #:use-module (gnu packages python)
> #:use-module (gnu packages perl)
> #:use-module (gnu packages web)
> + #:use-module (gnu packages pcre)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages tls)
> #:use-module (guix packages)
> #:use-module (guix download)
> + #:use-module (guix git-download)
> #:use-module (guix build-system gnu))
>
> (define-public wget
> @@ -112,3 +121,55 @@ in downloaded documents to relative links.")
> "@code{wgetpaste} is an extremely simple command-line interface to various
> online pastebin services.")
> (license public-domain)))
> +
> +(define-public wget2
> + (package
> + (name "wget2")
> + (version "1.0.0")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rockdaboot/wget2")
> + (commit "b45709d3d21714135ce79df6abbdcb704684063d")
> + (recursive? #t))) ;; Needed for 'gnulib' git submodule.
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "0ww84wwzmpyylkz8rnb6nk6f7x040132z81x52w7rjhk68p9mm24"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:phases (modify-phases %standard-phases
> + (add-after 'unpack 'bootstrap
> + (lambda _
> + ;; Make sure all the files are writable so that ./bootstrap
> + ;; can proceed.
> + (for-each (lambda (file)
> + (chmod file #o755))
> + (find-files "."))
> + (substitute* "./gnulib/gnulib-tool.py"
> + (("/usr/bin/python") (which "python3")))
> + (zero? (system* "sh" "./bootstrap"
> + "--gnulib-srcdir=gnulib"
> + "--no-git")))))))
> + (inputs `(("autoconf", autoconf)
> + ("automake", automake)
> + ("doxygen", doxygen)
> + ("flex", flex)
> + ("gettext", gettext-minimal)
> + ("gnutls", gnutls)

As libmicrohttpd is build with GnuTLS with DANE ('gnutls/dane' package),
wouldn't it make sense to build this with gnutls/dane aswell?

Or: In my opinion the gnuntls/dane package I've added should be merged
into gnutls unless someone disagrees. This way DANE functionality is
included by default.

Toggle quote (20 lines)
> + ("libiconv", libiconv)
> + ("libidn2", libidn2)
> + ("libmicrohttpd", libmicrohttpd)
> + ("libpsl", libpsl)
> + ("libtool", libtool)
> + ("pcre2", pcre2)
> + ("python", python)))
> + ;; TODO: Add libbrotlidec, libnghttp2.
> + (native-inputs `(("pkg-config", pkg-config)))
> + (home-page "https://github.com/rockdaboot/wget2")
> + (synopsis "Successor of GNU Wget")
> + (description "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.")
> + (license (list gpl3+ lgpl3+))))
> --
> 2.15.0
>


--
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloLEhcACgkQ4i+bv+40
hYhJGBAAp/ABAwF6STU0AbXlVWxqGBKwOESZ0QYxBuzKsL2AL+3XK4OyPPQKiUct
EzE+dImz1WW3NhnUSaVdejWZOAafdtPyD9GgStNT53pHzR79+32kzA+tJcEXmOus
7UkGHfNSMBRAmFY8N4WaeoC/jDOjoutCUDDJ1Dp1tzkcK03OAMX0W2X4sYroQdeL
9FbMD/Qugdwllg/GmbywHK0UFuzg8wYrM5tYHbE74f/bwoves8/nU6H8BtZmjM/m
9tY8h/weaRlPEdSASfo2S0QDPNs7yOi85y8AXFcW+PcvNnkDWYlVetEEJzZcRZnR
l/UOlnF3wiVFF0pSJ5QwCy7DANfacVTT8yESedJlQTsbXd+IWI/LKWwoPFBfubuT
CtCuM8c3/ao0eYVlw/uqA1CBQlEZSN/wwZz4GXXWFT/t2J6Yt9Mc1x6E62JfVOUt
460PEQC/oRmJKLEiDK0RKG/iKGPGb6AMY4hrY1P3x59AEg6H1x+1CTbyCF4lvHWZ
NrOmW60Ad/pyALpJhbdolgEMSnrqLNfa7gcCFqUY6awNX+K2ac5W6LJqr889HIDa
haeK5KgJKbjx642OBstWPYDMpukrvUw8ufyDajsH9Ni9jCerQ2M+g/63D5/epoY/
h/Nkw03HwbcLOJRvOuRz+omqVJuJkfC+TjNcAiSdYVtrBYROXH8=
=7wFX
-----END PGP SIGNATURE-----


R
R
Rutger Helling wrote on 14 Nov 2017 19:06
(name . ng0)(address . ng0@infotropique.org)(address . 29294@debbugs.gnu.org)
0b37be1edecb9136a3b1e9c112aec24c@mykolab.com
Hi ng0,

that makes sense. Here's an updated patch that uses gnutls/dane instead.
I agree it's probably better to merge DANE functionality eventually.

On 2017-11-14 16:56, ng0 wrote:

Toggle quote (118 lines)
> Rutger Helling transcribed 6.1K bytes:
>
>> Hey Guix,
>>
>> this patch adds wget2.
>
>> From 9e0271973c6c0c762cf4bcee987432864bc3e1d8 Mon Sep 17 00:00:00 2001
>> From: Rutger Helling <rhelling@mykolab.com>
>> Date: Tue, 14 Nov 2017 14:58:18 +0100
>> Subject: [PATCH] gnu: wget: Add wget2.
>>
>> * gnu/packages/wget.scm (wget2): New variable.
>> ---
>> gnu/packages/wget.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 61 insertions(+)
>>
>> diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
>> index bfcfcad23..6249f9eb3 100644
>> --- a/gnu/packages/wget.scm
>> +++ b/gnu/packages/wget.scm
>> @@ -2,6 +2,7 @@
>> ;;; Copyright (c) 2012 Nikita Karetnikov <nikita@karetnikov.org>
>> ;;; Copyright (c) 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
>> ;;; Copyright (c) 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
>> +;;; Copyright (c) 2017 Rutger Helling <rhelling@mykolab.com>
>> ;;;
>> ;;; This file is part of GNU Guix.
>> ;;;
>> @@ -21,15 +22,23 @@
>> (define-module (gnu packages wget)
>> #:use-module (guix licenses)
>> #:use-module (gnu packages)
>> + #:use-module (gnu packages autotools)
>> + #:use-module (gnu packages base)
>> #:use-module (gnu packages compression)
>> + #:use-module (gnu packages documentation)
>> + #:use-module (gnu packages flex)
>> + #:use-module (gnu packages gettext)
>> + #:use-module (gnu packages gnunet)
>> #:use-module (gnu packages libidn)
>> #:use-module (gnu packages python)
>> #:use-module (gnu packages perl)
>> #:use-module (gnu packages web)
>> + #:use-module (gnu packages pcre)
>> #:use-module (gnu packages pkg-config)
>> #:use-module (gnu packages tls)
>> #:use-module (guix packages)
>> #:use-module (guix download)
>> + #:use-module (guix git-download)
>> #:use-module (guix build-system gnu))
>>
>> (define-public wget
>> @@ -112,3 +121,55 @@ in downloaded documents to relative links.")
>> "@code{wgetpaste} is an extremely simple command-line interface to various
>> online pastebin services.")
>> (license public-domain)))
>> +
>> +(define-public wget2
>> + (package
>> + (name "wget2")
>> + (version "1.0.0")
>> + (source
>> + (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/rockdaboot/wget2")
>> + (commit "b45709d3d21714135ce79df6abbdcb704684063d")
>> + (recursive? #t))) ;; Needed for 'gnulib' git submodule.
>> + (file-name (string-append name "-" version "-checkout"))
>> + (sha256
>> + (base32
>> + "0ww84wwzmpyylkz8rnb6nk6f7x040132z81x52w7rjhk68p9mm24"))))
>> + (build-system gnu-build-system)
>> + (arguments
>> + `(#:phases (modify-phases %standard-phases
>> + (add-after 'unpack 'bootstrap
>> + (lambda _
>> + ;; Make sure all the files are writable so that ./bootstrap
>> + ;; can proceed.
>> + (for-each (lambda (file)
>> + (chmod file #o755))
>> + (find-files "."))
>> + (substitute* "./gnulib/gnulib-tool.py"
>> + (("/usr/bin/python") (which "python3")))
>> + (zero? (system* "sh" "./bootstrap"
>> + "--gnulib-srcdir=gnulib"
>> + "--no-git")))))))
>> + (inputs `(("autoconf", autoconf)
>> + ("automake", automake)
>> + ("doxygen", doxygen)
>> + ("flex", flex)
>> + ("gettext", gettext-minimal)
>> + ("gnutls", gnutls)
>
> As libmicrohttpd is build with GnuTLS with DANE ('gnutls/dane' package),
> wouldn't it make sense to build this with gnutls/dane aswell?
>
> Or: In my opinion the gnuntls/dane package I've added should be merged
> into gnutls unless someone disagrees. This way DANE functionality is
> included by default.
>
>> + ("libiconv", libiconv)
>> + ("libidn2", libidn2)
>> + ("libmicrohttpd", libmicrohttpd)
>> + ("libpsl", libpsl)
>> + ("libtool", libtool)
>> + ("pcre2", pcre2)
>> + ("python", python)))
>> + ;; TODO: Add libbrotlidec, libnghttp2.
>> + (native-inputs `(("pkg-config", pkg-config)))
>> + (home-page "https://github.com/rockdaboot/wget2")
>> + (synopsis "Successor of GNU Wget")
>> + (description "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.")
>> + (license (list gpl3+ lgpl3+))))
>> --
>> 2.15.0
Attachment: file
From 68ed0f10fa44c506924011c0677b0e6beba4335e Mon Sep 17 00:00:00 2001
From: Rutger Helling <rhelling@mykolab.com>
Date: Tue, 14 Nov 2017 19:01:08 +0100
Subject: [PATCH] gnu: wget: Add wget2.

* gnu/packages/wget.scm (wget2): New variable.
---
gnu/packages/wget.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (94 lines)
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index bfcfcad23..a4862d515 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,15 +22,23 @@
(define-module (gnu packages wget)
#:use-module (guix licenses)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gnunet)
#:use-module (gnu packages libidn)
#:use-module (gnu packages python)
#:use-module (gnu packages perl)
#:use-module (gnu packages web)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public wget
@@ -112,3 +121,55 @@ in downloaded documents to relative links.")
"@code{wgetpaste} is an extremely simple command-line interface to various
online pastebin services.")
(license public-domain)))
+
+(define-public wget2
+ (package
+ (name "wget2")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rockdaboot/wget2")
+ (commit "b45709d3d21714135ce79df6abbdcb704684063d")
+ (recursive? #t))) ;; Needed for 'gnulib' git submodule.
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0ww84wwzmpyylkz8rnb6nk6f7x040132z81x52w7rjhk68p9mm24"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _
+ ;; Make sure all the files are writable so that ./bootstrap
+ ;; can proceed.
+ (for-each (lambda (file)
+ (chmod file #o755))
+ (find-files "."))
+ (substitute* "./gnulib/gnulib-tool.py"
+ (("/usr/bin/python") (which "python3")))
+ (zero? (system* "sh" "./bootstrap"
+ "--gnulib-srcdir=gnulib"
+ "--no-git")))))))
+ (inputs `(("autoconf", autoconf)
+ ("automake", automake)
+ ("doxygen", doxygen)
+ ("flex", flex)
+ ("gettext", gettext-minimal)
+ ("gnutls", gnutls/dane)
+ ("libiconv", libiconv)
+ ("libidn2", libidn2)
+ ("libmicrohttpd", libmicrohttpd)
+ ("libpsl", libpsl)
+ ("libtool", libtool)
+ ("pcre2", pcre2)
+ ("python", python)))
+ ;; TODO: Add libbrotlidec, libnghttp2.
+ (native-inputs `(("pkg-config", pkg-config)))
+ (home-page "https://github.com/rockdaboot/wget2")
+ (synopsis "Successor of GNU Wget")
+ (description "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.")
+ (license (list gpl3+ lgpl3+))))
--
2.15.0
L
L
Ludovic Courtès wrote on 16 Nov 2017 10:37
(name . Rutger Helling)(address . rhelling@mykolab.com)
87wp2qimxi.fsf@gnu.org
Hello,

Rutger Helling <rhelling@mykolab.com> skribis:

Toggle quote (7 lines)
> From 68ed0f10fa44c506924011c0677b0e6beba4335e Mon Sep 17 00:00:00 2001
> From: Rutger Helling <rhelling@mykolab.com>
> Date: Tue, 14 Nov 2017 19:01:08 +0100
> Subject: [PATCH] gnu: wget: Add wget2.
>
> * gnu/packages/wget.scm (wget2): New variable.

Applied, thanks.

I see that Unbound pulls in Python 3 directly and Python 2 via libevent,
which makes the closure unnecessarily big. Something we should fix at
some point.

Ludo’.
L
L
Ludovic Courtès wrote on 16 Nov 2017 23:58
control message for bug #29294
(address . control@debbugs.gnu.org)
87bmk1bzle.fsf@gnu.org
tags 29294 fixed
close 29294
?