[PATCH] gnu: linkchecker: Update to 10.0.1.

DoneSubmitted by Arun Isaac.
Details
2 participants
  • Arun Isaac
  • Xinglu Chen
Owner
unassigned
Severity
normal
A
A
Arun Isaac wrote on 18 Jun 14:00 +0200
(address . guix-patches@gnu.org)(name . Arun Isaac)(address . arunisaac@systemreboot.net)
20210618120023.14607-1-arunisaac@systemreboot.net
* gnu/packages/web.scm (linkchecker): Update to 10.0.1.[source]: Remove patches.[inputs]: Add python-beautifulsoup4. Replace python2-dnspython-1.16,python2-pyxdg and python2-requests with python-dnspython, python-pyxdg andpython-requests respectively.[native-inputs]: Replace python2-pytest, python2-miniboa andpython2-parameterized with python-pytest, python-miniboa andpython-parameterized respectively.[arguments]: Use python 3. Replace check phase instead of deleting thestandard phase and adding a custom one. Use add-installed-pythonpath insteadof setting PYTHONPATH directly.[home-page]: Update URI.* gnu/packages/patches/linkchecker-tests-require-network.patch: Delete file.* gnu/local.mk (dist_patch_DATA): Unregister it.--- gnu/local.mk | 1 - .../linkchecker-tests-require-network.patch | 182 ------------------ gnu/packages/web.scm | 47 ++--- 3 files changed, 16 insertions(+), 214 deletions(-) delete mode 100644 gnu/packages/patches/linkchecker-tests-require-network.patch
Toggle diff (282 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex 918c8515ac..b2b36d860a 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -1383,7 +1383,6 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/linbox-fix-pkgconfig.patch \- %D%/packages/patches/linkchecker-tests-require-network.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \diff --git a/gnu/packages/patches/linkchecker-tests-require-network.patch b/gnu/packages/patches/linkchecker-tests-require-network.patchdeleted file mode 100644index f3e488cec2..0000000000--- a/gnu/packages/patches/linkchecker-tests-require-network.patch+++ /dev/null@@ -1,182 +0,0 @@-From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001-From: Christopher Baines <mail@cbaines.net>-Date: Tue, 1 Jan 2019 22:36:29 +0000-Subject: [PATCH] Mark more tests that require the network--I believe all these tests require the network, at least they seem to-fail if it's I run them without connecting my computer to the web.--I'm looking at this as part of packaging linkchecker for GNU Guix,-where the package is build and the tests are run in a isolated-environment, intentionally without network access, to avoid issues-with non-reproducible package builds.----- tests/checker/test_http.py | 2 ++- tests/checker/test_http_misc.py | 2 ++- tests/checker/test_http_redirect.py | 2 ++- tests/checker/test_httpbin.py | 5 +++++- tests/checker/test_misc.py | 4 ++++- tests/checker/test_whitespace.py | 3 +++- 6 files changed, 18 insertions(+)--diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py-index e4c1e097..8a8af567 100644---- a/tests/checker/test_http.py-+++ b/tests/checker/test_http.py-@@ -20,6 +20,7 @@- - import pytest- -+from tests import need_network- from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler- - class TestHttp (HttpServerTest):-@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'):- super(TestHttp, self).__init__(methodName=methodName)- self.handler = CookieRedirectHttpRequestHandler- -+ @need_network- def test_html (self):- confargs = dict(recursionlevel=1)- self.file_test("http.html", confargs=confargs)-diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py-index 9922d85f..c6b6afdb 100644---- a/tests/checker/test_http_misc.py-+++ b/tests/checker/test_http_misc.py-@@ -20,11 +20,13 @@- import os- import sys- from .httpserver import HttpServerTest-+from tests import need_network- from linkcheck.network import iputil- - class TestHttpMisc (HttpServerTest):- """Test http:// misc link checking."""- -+ @need_network- def test_html (self):- self.swf_test()- self.obfuscate_test()-diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py-index f212d98e..2253a70d 100644---- a/tests/checker/test_http_redirect.py-+++ b/tests/checker/test_http_redirect.py-@@ -17,6 +17,7 @@- """- Test http checking.- """-+from tests import need_network- from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler- - class TestHttpRedirect (HttpServerTest):-@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'):- super(TestHttpRedirect, self).__init__(methodName=methodName)- self.handler = CookieRedirectHttpRequestHandler- -+ @need_network- def test_redirect (self):- self.redirect1()- self.redirect2()-diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py-index 0319c2f6..4c8fa846 100644---- a/tests/checker/test_httpbin.py-+++ b/tests/checker/test_httpbin.py-@@ -18,6 +18,7 @@- Test http stuff with httpbin.org.- """- import re-+from tests import need_network- from . import LinkCheckTest- - -@@ -30,6 +31,7 @@ def get_httpbin_url(path):- class TestHttpbin(LinkCheckTest):- """Test http:// link redirection checking."""- -+ @need_network- def test_http_link(self):- linkurl = u"http://www.example.com"- nlinkurl = self.norm(linkurl)-@@ -48,6 +50,7 @@ def test_http_link(self):- ]- self.direct(url, resultlines, recursionlevel=1)- -+ @need_network- def test_basic_auth(self):- user = u"testuser"- password = u"testpassword"-@@ -67,6 +70,7 @@ def test_basic_auth(self):- ]- self.direct(url, resultlines, confargs=confargs)- -+ @need_network- def test_http_refresh_header(self):- linkurl = u"http://www.example.com"- nlinkurl = self.norm(linkurl)-@@ -85,6 +89,7 @@ def test_http_refresh_header(self):- ]- self.direct(url, resultlines, recursionlevel=1)- -+ @need_network- def test_http_content_location_header(self):- linkurl = u"http://www.example.com"- nlinkurl = self.norm(linkurl)-diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py-index 2e4cfd07..f9591f9d 100644---- a/tests/checker/test_misc.py-+++ b/tests/checker/test_misc.py-@@ -17,6 +17,7 @@- """- Test miscellaneous html tag parsing and URL types- """-+from tests import need_network- from . import LinkCheckTest- - -@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest):- Test misc link types.- """- -+ @need_network- def test_misc (self):- self.file_test("misc.html")- - def test_html5 (self):- self.file_test("html5.html")- -+ @need_network- def test_archive (self):- self.file_test("archive.html")- -+ @need_network- def test_itms_services(self):- url = u"itms-services:?action=download-manifest&url=http://www.example.com/"- resultlines = [-diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py-index 609c108a..fc2727d6 100644---- a/tests/checker/test_whitespace.py-+++ b/tests/checker/test_whitespace.py-@@ -17,6 +17,7 @@- """- Test whitespace handling.- """-+from tests import need_network- from . import LinkCheckTest- - -@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest):- Test whitespace in URLs.- """- -+ @need_network- def test_leading_whitespace (self):- # Leading whitespace- url = u" http://www.example.org/"-@@ -50,6 +52,7 @@ def test_leading_whitespace (self):- ]- self.direct(url, resultlines)- -+ @need_network- def test_trailing_whitespace (self):- # Trailing whitespace- url = u"http://www.example.org/ "diff --git a/gnu/packages/web.scm b/gnu/packages/web.scmindex d1f1d0f755..0fc2d7e441 100644--- a/gnu/packages/web.scm+++ b/gnu/packages/web.scm@@ -15,7 +15,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>-;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>+;;; Copyright © 2016, 2017, 2018, 2019, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>@@ -6578,51 +6578,36 @@ Instagram and YouTube.") (define-public linkchecker (package (name "linkchecker")- (version "9.4.0")+ (version "10.0.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/linkchecker/linkchecker") (commit (string-append "v" version))))- (patches- (search-patches "linkchecker-tests-require-network.patch")) (file-name (git-file-name name version)) (sha256 (base32- "03ihjmc4bqxxqv71bb43r2f23sx0xnbq1k2fsg9fw05qa5s9x187"))))+ "1j97dc9a4yhpscwadhv5dxp7036pnrxiaky18l8ddr3pvxdjvkxs")))) (build-system python-build-system) (inputs- `(("python2-dnspython" ,python2-dnspython-1.16)- ("python2-pyxdg" ,python2-pyxdg)- ("python2-requests" ,python2-requests)))+ `(("python-beautifulsoup4" ,python-beautifulsoup4)+ ("python-dnspython" ,python-dnspython)+ ("python-pyxdg" ,python-pyxdg)+ ("python-requests" ,python-requests))) (native-inputs `(("gettext" ,gettext-minimal)- ("python2-pytest" ,python2-pytest)- ("python2-miniboa" ,python2-miniboa)- ("python2-parameterized" ,python2-parameterized)))+ ("python-pytest" ,python-pytest)+ ("python-miniboa" ,python-miniboa)+ ("python-parameterized" ,python-parameterized))) (arguments- `(#:python ,python-2- #:phases+ `(#:phases (modify-phases %standard-phases- ;; Move the 'check phase to after 'install, so that the installed- ;; library can be used- (delete 'check)- (add-after 'install 'check- (lambda* (#:key outputs #:allow-other-keys)- (let ((out (assoc-ref outputs "out")))- ;; Set PYTHONPATH so that the installed linkchecker is used- (setenv "PYTHONPATH"- (string-append out "/lib/python2.7/site-packages"- ":"- (getenv "PYTHONPATH")))- ;; Remove this directory to avoid it being used when running- ;; the tests- (delete-file-recursively "linkcheck")-- (invoke "py.test" "tests"))- #t)))))- (home-page "https://linkcheck.github.io/linkchecker")+ (replace 'check+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (add-installed-pythonpath inputs outputs)+ (invoke "py.test" "tests"))))))+ (home-page "https://linkchecker.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-- 2.32.0
X
X
Xinglu Chen wrote on 18 Jun 16:18 +0200
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87eecz6yu0.fsf@yoctocell.xyz
On Fri, Jun 18 2021, Arun Isaac wrote:
Toggle quote (84 lines)> * gnu/packages/web.scm (linkchecker): Update to 10.0.1.> [source]: Remove patches.> [inputs]: Add python-beautifulsoup4. Replace python2-dnspython-1.16,> python2-pyxdg and python2-requests with python-dnspython, python-pyxdg and> python-requests respectively.> [native-inputs]: Replace python2-pytest, python2-miniboa and> python2-parameterized with python-pytest, python-miniboa and> python-parameterized respectively.> [arguments]: Use python 3. Replace check phase instead of deleting the> standard phase and adding a custom one. Use add-installed-pythonpath instead> of setting PYTHONPATH directly.> [home-page]: Update URI.> * gnu/packages/patches/linkchecker-tests-require-network.patch: Delete file.> * gnu/local.mk (dist_patch_DATA): Unregister it.> ---> gnu/local.mk | 1 -> .../linkchecker-tests-require-network.patch | 182 ------------------> gnu/packages/web.scm | 47 ++---> 3 files changed, 16 insertions(+), 214 deletions(-)> delete mode 100644 gnu/packages/patches/linkchecker-tests-require-network.patch>> (define-public linkchecker> (package> (name "linkchecker")> - (version "9.4.0")> + (version "10.0.1")> (source> (origin> (method git-fetch)> (uri (git-reference> (url "https://github.com/linkchecker/linkchecker")> (commit (string-append "v" version))))> - (patches> - (search-patches "linkchecker-tests-require-network.patch"))> (file-name (git-file-name name version))> (sha256> (base32> - "03ihjmc4bqxxqv71bb43r2f23sx0xnbq1k2fsg9fw05qa5s9x187"))))> + "1j97dc9a4yhpscwadhv5dxp7036pnrxiaky18l8ddr3pvxdjvkxs"))))> (build-system python-build-system)> (inputs> - `(("python2-dnspython" ,python2-dnspython-1.16)> - ("python2-pyxdg" ,python2-pyxdg)> - ("python2-requests" ,python2-requests)))> + `(("python-beautifulsoup4" ,python-beautifulsoup4)> + ("python-dnspython" ,python-dnspython)> + ("python-pyxdg" ,python-pyxdg)> + ("python-requests" ,python-requests)))> (native-inputs> `(("gettext" ,gettext-minimal)> - ("python2-pytest" ,python2-pytest)> - ("python2-miniboa" ,python2-miniboa)> - ("python2-parameterized" ,python2-parameterized)))> + ("python-pytest" ,python-pytest)> + ("python-miniboa" ,python-miniboa)> + ("python-parameterized" ,python-parameterized)))> (arguments> - `(#:python ,python-2> - #:phases> + `(#:phases> (modify-phases %standard-phases> - ;; Move the 'check phase to after 'install, so that the installed> - ;; library can be used> - (delete 'check)> - (add-after 'install 'check> - (lambda* (#:key outputs #:allow-other-keys)> - (let ((out (assoc-ref outputs "out")))> - ;; Set PYTHONPATH so that the installed linkchecker is used> - (setenv "PYTHONPATH"> - (string-append out "/lib/python2.7/site-packages"> - ":"> - (getenv "PYTHONPATH")))> - ;; Remove this directory to avoid it being used when running> - ;; the tests> - (delete-file-recursively "linkcheck")> -> - (invoke "py.test" "tests"))> - #t)))))> - (home-page "https://linkcheck.github.io/linkchecker")> + (replace 'check> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (add-installed-pythonpath inputs outputs)> + (invoke "py.test" "tests"))))))
This 'check phase doesn’t respect the ‘--with-tests’ transformation.Something like the following would be better:
(replace 'check (lambda* (#:key inputs outputs tests? #:allow-other-keys) (when tests? (with-directory-excursion "tests" (add-installed-pythonpath inputs outputs) (invoke "py.test" "tests")))))
Otherwise, LGTM.
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmDMqycVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x514sP/iuNgHRD2QOjKwWvhmuj3rb0mWvScU7x8TOpCUx7mFh3O4+SqOdGIk8Tdxo2Y0e/4nj7KoHutHK8oOGXCuheY8JvFQ3ZIWob7ww1v9Kz1/ocQBmACmnpp8GDGdZJ78npjucXCzuEZ7Ttw3yopSswFz9JtFTXr/J1Ijx5QXsxaTwY3Y6fyueF8YzaXfu0MjN6hl7Yt8PiZ+a0yThoLWMOU8kgkx/nL/4HF0dcFVWeWqNEwm1QFPjnwQTq1CiZRbU+px+1Ln/qluyvOyM0TtbRPkPIV5+UAJmYby8roI2Gn3c5tz8p7Ej2hPhf5zCSvESKDJ6DpqzLRbBMqR62S6Mh2uip32o5rK+kh/IjANgC8VKX+9G/x/a98L0y50geEpGcSU9vJwGqOmiIN8pWCJ+Zw8ywpES26RsEUvowq1tycMXgSh9ip/Ll61JQ6FD2hTMdSECs1dYPY8u+v8aoKtwKMK/T/9jHX6zpsT5msPW5C/y/1G/rzTxnSNxhPDabeheV1FGqs9qMD0PQTrchvHCUxDXUxvyPi1W/Z2/g4hBX9sly8vsEm44ii8/IjiBdTQ3gzxZqySJU7rXqqD1iCUOzRLbUxJwKELh+xVkswCxbZ7wFyrh3fywUEqwg6wgR83zYN+7lXZ4AT/f+nWKVrDGEYLIPayq+Ew460YRnxvlQtNwn=NRLy-----END PGP SIGNATURE-----
A
A
Arun Isaac wrote on 19 Jun 10:25 +0200
87v96antw6.fsf@systemreboot.net
Toggle quote (10 lines)> This 'check phase doesn’t respect the ‘--with-tests’ transformation.> Something like the following would be better:>> (replace 'check> (lambda* (#:key inputs outputs tests? #:allow-other-keys)> (when tests?> (with-directory-excursion "tests"> (add-installed-pythonpath inputs outputs)> (invoke "py.test" "tests")))))
Makes sense. I'll add the `when tests?', but what's thewith-directory-excursion for?
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmDNqekbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzaNEIALsC/7aM0ydJBcU3M5PnLSA633tnw4DPxJZ0zSu6mtpQnzW+NpbBBT9VSfKxE54aUqqrs+5EZ+gR1l61177iLfhWMsGgt0I1ASxyIlhhWRIC+4Q92TWd/N52214TgIutJJ9il/bu55CB4JHaz00R4RhGeSF2eKB7Cf8mmchMQPjVCLnPuYGaK6YS4ugU/rozZy36DtsKqDU7E2PrMXZZtcTrxiatLZg6lsLvWReWGLCRgEVFgOoXqJJkwSkpGcBBh4CZJL7xiWFfM/YNvGrc/QVtUdvQpcVf6vsOeQxXiOW1erBrVoHqLUmM8Q5p01YdYCDbwxBOxRuNr0+844IJdMg==4TxI-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 19 Jun 11:06 +0200
878s362pgl.fsf@yoctocell.xyz
On Sat, Jun 19 2021, Arun Isaac wrote:
Toggle quote (13 lines)>> This 'check phase doesn’t respect the ‘--with-tests’ transformation.>> Something like the following would be better:>>>> (replace 'check>> (lambda* (#:key inputs outputs tests? #:allow-other-keys)>> (when tests?>> (with-directory-excursion "tests">> (add-installed-pythonpath inputs outputs)>> (invoke "py.test" "tests")))))>> Makes sense. I'll add the `when tests?', but what's the> with-directory-excursion for?
Oops, ignore the ‘with-directory-excursion’, sorry about that.
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmDNs5oVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5tPYQAKuZjW9RN81IIBaZaw5dvtuTPAYVue2z5uLQU2Mdq1ljwD6lMzj9R0SXzi6t2R1q25ERiWFSwKcepxdLp9ynsGP8Iefy7MOfhqlZI7Q2dmRWBBSoAAj+A/GaUzLcZs733ztQyNFswMq4l6H1+n85bQzpShLDsaQxq4YO9LMLQ2Q62PGKrr96jkOGSOjThUkfApQtnP+OOanAX1aG9T60ofjZbjTZA4gkPe+Sup314qHRMG+FSd1uLxOZ0sclJq+sDK/Dlm7jGUzWJYTZRJcwz2hhuWTBUIAXWh0pFU5D1S5+VdNHwQjyvxPaA7PdCbdowrofNCoRXMdVJwbSBMkjlwRhIxZUFoWLi3rKI2J7lvT4JdphQGnX8I+A2DnHaHB2NmCtr5B0TAr8xHDlTtSgf9mmtdd58V0vn4J/3EdJxf1tptW9wNpazfXTynfnQQQwmZm3JMTpVqUnpbGZFq49JySOs/zt1KKDOjV4jd1SzxbETT0/9Qg271mlOj/8UNZSwkqeqQoOYnfQl45oZnZTCTLF9F+WBJ0ZcObI7E6XVjTlcNvaXZ3q9Wmn2UQDWxAIU1La1CtNifR7Rpc/3yKTmSfwYSKiqElFRe5cV8ywMcf8T7x7h2FWhZK+5zwH5B7dQ5JgwOySWtKjWZdJNfxHH9tqiudev5XvoreiNvqQ4P4N=2vqG-----END PGP SIGNATURE-----
A
A
Arun Isaac wrote on 19 Jun 21:07 +0200
87sg1doepd.fsf@systemreboot.net
Pushed to master. Thanks for the review!
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmDOQI4bHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzxF4H/2j+Vju+zhy7M3yLOkKLViZvbsF86MltM8UsJXK1AzORlsvLdQ7Voj3rckgVIjlMGJUBxh/vz7rQibFusZ58LcpvslQo8CZlQwI6wPVhEXUepq8bXWxTwISrD0zxjOT9wlVZOqV1oi++rr+eRsSXu66Ryo43qJ3+XmuHInBa0jfYbkyaNaRHqNpQV91p9h/yZEUlAr7ZKYY1DnLOOFId4K63tJIXZ4/fPfBPMgw1pgvieIuk18zBTK5sWOvUe30xQZ3MLZOVrPe63HuL3cGnI1w92qM9CSnGekzs3GM58vNTafXqivs3nfp/J2MJ8vqAhuFRqymVne0wWQgCJVLXac8==w/Fw-----END PGP SIGNATURE-----
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 49086@debbugs.gnu.org