unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#29294] [PATCH] gnu: wget: Add wget2.
@ 2017-11-14 14:04 Rutger Helling
  2017-11-14 15:56 ` ng0
  0 siblings, 1 reply; 4+ messages in thread
From: Rutger Helling @ 2017-11-14 14:04 UTC (permalink / raw)
  To: 29294


[-- Attachment #1.1: Type: text/plain, Size: 34 bytes --]

Hey Guix, 

this patch adds wget2.

[-- Attachment #1.2: Type: text/html, Size: 227 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-wget-Add-wget2.patch --]
[-- Type: text/x-diff; name=0001-gnu-wget-Add-wget2.patch, Size: 3913 bytes --]

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)
+             ("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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#29294] [PATCH] gnu: wget: Add wget2.
  2017-11-14 14:04 [bug#29294] [PATCH] gnu: wget: Add wget2 Rutger Helling
@ 2017-11-14 15:56 ` ng0
  2017-11-14 18:06   ` Rutger Helling
  0 siblings, 1 reply; 4+ messages in thread
From: ng0 @ 2017-11-14 15:56 UTC (permalink / raw)
  To: Rutger Helling; +Cc: 29294

[-- Attachment #1: Type: text/plain, Size: 4752 bytes --]

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 © 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.

> +             ("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
GnuPG: https://dl.n0.is/dist/keys/
  WWW: https://we.make.ritual.n0.is

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#29294] [PATCH] gnu: wget: Add wget2.
  2017-11-14 15:56 ` ng0
@ 2017-11-14 18:06   ` Rutger Helling
  2017-11-16  9:37     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Rutger Helling @ 2017-11-14 18:06 UTC (permalink / raw)
  To: ng0; +Cc: 29294


[-- Attachment #1.1: Type: text/plain, Size: 4762 bytes --]

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:

> 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 #1.2: Type: text/html, Size: 8774 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-wget-Add-wget2-v2.patch --]
[-- Type: text/x-diff; name=0001-gnu-wget-Add-wget2-v2.patch, Size: 3918 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#29294] [PATCH] gnu: wget: Add wget2.
  2017-11-14 18:06   ` Rutger Helling
@ 2017-11-16  9:37     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2017-11-16  9:37 UTC (permalink / raw)
  To: Rutger Helling; +Cc: 29294

Hello,

Rutger Helling <rhelling@mykolab.com> skribis:

> 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’.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-16  9:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-14 14:04 [bug#29294] [PATCH] gnu: wget: Add wget2 Rutger Helling
2017-11-14 15:56 ` ng0
2017-11-14 18:06   ` Rutger Helling
2017-11-16  9:37     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).