summary refs log tree commit diff
diff options
context:
space:
mode:
authorRutger Helling <rhelling@mykolab.com>2017-11-14 19:01:08 +0100
committerLudovic Courtès <ludo@gnu.org>2017-11-16 10:27:42 +0100
commitafc438231623fceb4ec8f3aa2f8c4e8f99a3ec22 (patch)
tree5c446c8d2d5cb142950e0bb7066862d877712ef3
parent15712cc9e3d623cd36b274b6659cf01c542fbe76 (diff)
downloadguix-afc438231623fceb4ec8f3aa2f8c4e8f99a3ec22.tar.gz
gnu: wget: Add wget2.
* gnu/packages/wget.scm (wget2): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/wget.scm61
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index bfcfcad230..a4862d5155 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+))))