Subject: [bug#27468] [PATCH] gnu: Add linkchecker.

From: Arun Isaac <[email-masked]>
Date: Sat, 24 Jun 2017 05:47:40 +0530

* gnu/packages/web.scm (linkchecker): New variable.
---
 gnu/packages/web.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3625a1034..81bee1ec9 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4674,3 +4674,43 @@ message stream (in a web server that is per connection).")
     (description "@code{httpretty} is a helper for faking web requests,
 inspired by Ruby's @code{fakeweb}.")
     (license l:expat)))
+
+(define-public linkchecker
+  (package
+    (name "linkchecker")
+    (version "9.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "LinkChecker" version))
+       (sha256
+        (base32
+         "0v8pavf0bx33xnz1kwflv0r7lxxwj7vg3syxhy2wzza0wh6sc2pf"))))
+    (build-system python-build-system)
+    (inputs
+     `(("python2-dnspython" ,python2-dnspython)
+       ("python2-requests" ,python2-requests)))
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         ;; Remove faulty python-requests version check. This has been fixed
+         ;; upstream, and can be removed in version 9.4.
+         (add-after 'unpack 'remove-python-requests-version
+           (lambda _
+             (substitute* "linkcheck/__init__.py"
+               (("requests.__version__ <= '2.2.0'") "False")))))))
+    (home-page "https://linkcheck.github.io/linkchecker/")
+    (synopsis "Check websites for broken links")
+    (description "LinkChecker is a website validator.  It checks for broken
+links in websites.  It is recursive and multithreaded providing output in
+colored or normal text, HTML, SQL, CSV, XML or as a sitemap graph.  It
+supports checking HTTP/1.1, HTTPS, FTP, mailto, news, nntp, telnet and local
+file links.")
+    (license (list l:gpl2+
+                   l:bsd-2 ; linkcheck/better_exchook2.py
+                   l:bsd-3 ; linkcheck/colorama.py
+                   l:psfl  ; linkcheck/gzip2.py
+                   l:expat ; linkcheck/mem.py
+                   l:isc   ; third_party/dnspython
+                   l:asl2.0)))) ; third_party/miniboa
-- 
2.12.2