all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Arun Isaac <arunisaac@systemreboot.net>
To: Marius Bakke <mbakke@fastmail.com>
Cc: 27468@debbugs.gnu.org
Subject: [bug#27468] [PATCH] gnu: Add linkchecker.
Date: Wed, 23 Aug 2017 12:56:14 +0530	[thread overview]
Message-ID: <9da8cde7.AEEAPL4o3uAAAAAAAAAAAAPNQHwAAAACwQwAAAAAAAW9WABZnS4m@mailjet.com> (raw)
In-Reply-To: <87y3qb1789.fsf@fastmail.com>

[-- Attachment #1: Type: text/plain, Size: 2111 bytes --]


Marius Bakke writes:

>> +       (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")))))))
>
> Please end this phase on a #t since (substitute* ...) has an unspecified
> return value.

Done.

>> +    (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
>
> Is it possible to remove these third party libraries and use packaged
> copies instead?  At least 'dnspython' is already in Guix.

linkchecker is using a modified version of dnspython and miniboa. So, I
don't think it will be easy. For a list of modifications, look at
https://github.com/wummel/linkchecker/blob/master/third_party/dnspython/changelog.txt
and https://github.com/wummel/linkchecker/blob/master/third_party/miniboa-r42/CHANGES.txt

> Also, since GPL2+ is stricter than the other licenses, the program as a
> whole is effectively GPL2+, so we don't really need to mention those
> one-off source files in the license field (but comments are great).

But, we generally don't hide this information from the user, right? Many
Guix packages have licenses of even single files mentioned in the
`license' field. Do you still think I should remove them?

> Not sure about the 3rd party bundles though, since they probably don't
> depend on anything from the GPL2+ distribution.  If they are installed,
> I guess we should mention them with a FIXME.

I've added a FIXME.

I'm attaching a new patch with the discussed changes. Do let me know if
everything looks good.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-linkchecker.patch --]
[-- Type: text/x-patch, Size: 2605 bytes --]

From 63f4192ff8ed7341767797f4ca67ab87773e2338 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Sat, 24 Jun 2017 05:37:45 +0530
Subject: [PATCH] gnu: Add linkchecker.

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

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 652eb6792..68a9c2302 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4979,3 +4979,47 @@ websites lacking feeds.  Supported websites include Facebook, Twitter,
 Instagram and YouTube.")
     (license (list l:public-domain
                    l:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php
+
+(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"))
+             #t)))))
+    (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
+                   ;; FIXME: Unbundle dnspython and miniboa
+                   ;; This issue has been raised upstream
+                   ;; https://github.com/wummel/linkchecker/issues/729
+                   l:isc   ; third_party/dnspython
+                   l:asl2.0)))) ; third_party/miniboa
-- 
2.13.4


  reply	other threads:[~2017-08-23  7:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-24  0:17 [bug#27468] [PATCH] gnu: Add linkchecker Arun Isaac
     [not found] ` <handler.27468.B.149826350831000.ack@debbugs.gnu.org>
2017-06-24  0:27   ` [bug#27468] Acknowledgement ([PATCH] gnu: Add linkchecker.) Arun Isaac
2017-08-22 23:34     ` Arun Isaac
2017-08-23  0:10       ` Marius Bakke
2017-08-22 23:30 ` [bug#27468] [PATCH] gnu: Add linkchecker Arun Isaac
2017-08-23  0:02   ` Marius Bakke
2017-08-23  7:26     ` Arun Isaac [this message]
2017-08-23  7:33       ` Arun Isaac
     [not found]     ` <4a4f0a8d.AEEAPL4o3uEAAAAAAAAAAAPFd4cAAAACwQwAAAAAAAW9WABZnS4m@mailjet.com>
2017-08-24 17:43       ` Marius Bakke
2017-08-26  7:41         ` Arun Isaac
2017-08-30  7:29         ` bug#27468: " Arun Isaac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9da8cde7.AEEAPL4o3uAAAAAAAAAAAAPNQHwAAAACwQwAAAAAAAW9WABZnS4m@mailjet.com \
    --to=arunisaac@systemreboot.net \
    --cc=27468@debbugs.gnu.org \
    --cc=mbakke@fastmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.