Subject: Re: [bug#29294] [PATCH] gnu: wget: Add wget2.

From: ng0 <[email-masked]>
Date: Tue, 14 Nov 2017 15:56:07 +0000

Rutger Helling transcribed 6.1K bytes:
> 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)

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