[bug#33759] gnu: linkchecker: Fix build.

Message ID 20181215121700.11320-1-mail@cbaines.net
State Accepted
Headers show
Series [bug#33759] gnu: linkchecker: Fix build. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Christopher Baines Dec. 15, 2018, 12:17 p.m. UTC
For some reason, the tests fail due to the lack of pytest. But when that's
added as an input, then some tests fail in other ways.

* gnu/packages/web.scm (linkchecker)[native-inputs]: Add python2-pytest.
[arguments]: Set #:tests? to #f.
---
 gnu/packages/web.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Ludovic Courtès Dec. 16, 2018, 3:12 p.m. UTC | #1
Hello Chris!

Christopher Baines <mail@cbaines.net> skribis:

> For some reason, the tests fail due to the lack of pytest. But when that's
> added as an input, then some tests fail in other ways.
>
> * gnu/packages/web.scm (linkchecker)[native-inputs]: Add python2-pytest.
> [arguments]: Set #:tests? to #f.

[...]

> +     `(#:python ,python-2
> +       ;; TODO: Tests currently fail. Looks to be a mixture of trying to use
> +       ;; /homeless-shelter and maybe the network.
> +       #:tests? #f))

Did you try adding a phase that does (setenv "HOME" (getcwd))?

IMO it would be best to get some confidence that the test failures are
benign, possibly working around them with tricks as above.

Thanks!

Ludo’.
Christopher Baines Jan. 1, 2019, 10:57 p.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> Hello Chris!
>
> Christopher Baines <mail@cbaines.net> skribis:
>
>> For some reason, the tests fail due to the lack of pytest. But when that's
>> added as an input, then some tests fail in other ways.
>>
>> * gnu/packages/web.scm (linkchecker)[native-inputs]: Add python2-pytest.
>> [arguments]: Set #:tests? to #f.
>
> [...]
>
>> +     `(#:python ,python-2
>> +       ;; TODO: Tests currently fail. Looks to be a mixture of trying to use
>> +       ;; /homeless-shelter and maybe the network.
>> +       #:tests? #f))
>
> Did you try adding a phase that does (setenv "HOME" (getcwd))?
>
> IMO it would be best to get some confidence that the test failures are
> benign, possibly working around them with tricks as above.

I've finally made some time to look at thsi more. The HOME issue seems
to not exist, and I think I've got the testsuite working now.

I noticed that some tests are skipped because they depend on the
network, and this seems helpful, but I think it's just been missed for
some tests. I've pushed a patch upstream to mark some more tests as
needing the network [1].

1: https://github.com/linkchecker/linkchecker/pull/202

I'll try to wrangle that patch in to Guix, and neaten up the other
changes, and send some updated patches soon.

Thanks for taking a look,

Chris
Christopher Baines Jan. 25, 2019, 10:14 p.m. UTC | #3
I've pushed all these patches now in one form or another as I didn't
want to forget about them. The linkchecker package still isn't building
anywhere, but once the Python fix on core-updates reaches master, then
it should be fixed.
Christopher Baines Oct. 8, 2019, 6:36 p.m. UTC | #4
Christopher Baines <mail@cbaines.net> writes:

> I've pushed all these patches now in one form or another as I didn't
> want to forget about them. The linkchecker package still isn't building
> anywhere, but once the Python fix on core-updates reaches master, then
> it should be fixed.

Core updates has been merged! So linkchecker finally builds on master
again.

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 84bd795a8..607f8efe6 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5814,8 +5814,13 @@  Instagram and YouTube.")
      `(("python2-dnspython" ,python2-dnspython)
        ("python2-pyxdg" ,python2-pyxdg)
        ("python2-requests" ,python2-requests)))
+    (native-inputs
+     `(("python2-pytest" ,python2-pytest)))
     (arguments
-     `(#:python ,python-2))
+     `(#:python ,python-2
+       ;; TODO: Tests currently fail. Looks to be a mixture of trying to use
+       ;; /homeless-shelter and maybe the network.
+       #:tests? #f))
     (home-page "https://linkcheck.github.io/linkchecker")
     (synopsis "Check websites for broken links")
     (description "LinkChecker is a website validator.  It checks for broken