gnu: Generalize the variable name of the test-only tzdata package.
[jackhill/guix/guix.git] / gnu / packages / wget.scm
index 4daa2d8..bfcfcad 100644 (file)
@@ -1,5 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 
 (define-module (gnu packages wget)
   #:use-module (guix licenses)
-  #:use-module ((gnu packages gettext)
-                #:renamer (symbol-prefix-proc 'guix:))
-  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages libidn)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
 (define-public wget
   (package
     (name "wget")
-    (version "1.14")
+    (version "1.19.2")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/wget/wget-"
-                          version ".tar.xz"))
+                          version ".tar.lz"))
       (sha256
        (base32
-        "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p"))))
+        "01yzal7xm85543x02bij3capnigr063d6c5vc039f8n5s9d796nm"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'check 'disable-https-tests
+                    (lambda _
+                      ;; XXX: Skip TLS tests, which fail with "The
+                      ;; certificate's owner does not match hostname" as
+                      ;; reported at:
+                      ;; <https://lists.gnu.org/archive/html/bug-wget/2017-07/msg00012.html>.
+                      ;; The problem appears to be due to a change in GnuTLS
+                      ;; 3.5.12, whereby 'gnutls_x509_crt_check_hostname2' no
+                      ;; longer matches IP address against the 'CN' or
+                      ;; 'DNSname' fields of certificates.
+                      (substitute* "testenv/Makefile"
+                        (("SSL_TESTS=1") ""))
+                      #t)))))
     (inputs
      `(("gnutls" ,gnutls)
+       ("libidn2" ,libidn2)
+       ("libpsl" ,libpsl)
+       ("lzip" ,lzip)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
        ("perl" ,perl)
-       ("gettext" ,guix:gettext)))
-    (home-page "http://www.gnu.org/software/wget/")
+       ("python" ,python)               ;for testenv suite
+       ("perl-http-daemon" ,perl-http-daemon)
+       ("perl-io-socket-ssl" ,perl-io-socket-ssl)))
+    (home-page "https://www.gnu.org/software/wget/")
     (synopsis "Non-interactive command-line utility for downloading files")
     (description
-     "GNU Wget is a free software package for retrieving files using HTTP,
-HTTPS and FTP, the most widely-used Internet protocols.  It is a
-non-interactive commandline tool, so it may easily be called from
-scripts, cron jobs, terminals without X-Windows support, etc.")
+     "GNU Wget is a non-interactive tool for fetching files using the HTTP,
+HTTPS and FTP protocols.  It can resume interrupted downloads, use file name
+wild cards, supports proxies and cookies, and it can convert absolute links
+in downloaded documents to relative links.")
     (license gpl3+))) ; some files are under GPLv2+
+
+(define-public wgetpaste
+  (package
+    (name "wgetpaste")
+    (version "2.28")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://wgetpaste.zlin.dk/wgetpaste-"
+                            version ".tar.bz2"))
+        (sha256
+         (base32
+          "1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (zsh (string-append out "/share/zsh/site-functions")))
+               (install-file "wgetpaste" bin)
+               (install-file "_wgetpaste" zsh)))))
+       #:tests? #f)) ; no test target
+    (home-page "http://wgetpaste.zlin.dk/")
+    (synopsis "Script that automates pasting to a number of pastebin services")
+    (description
+     "@code{wgetpaste} is an extremely simple command-line interface to various
+online pastebin services.")
+    (license public-domain)))