[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 29294@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 29294
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch