Subject: [PATCH] gnu: wget: Add wget2.

From: Rutger Helling <[email-masked]>
Date: Tue, 14 Nov 2017 15:04:34 +0100

Hey Guix, 

this patch adds wget2.

From 9e0271973c6c0c762cf4bcee987432864bc3e1d8 Mon Sep 17 00:00:00 2001
From: Rutger Helling <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2016, 2017 Efraim Flashner <[email-masked]>
+;;; Copyright © 2017 Rutger Helling <[email-masked]>
 ;;;
 ;;; 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