Subject: Re: [bug#34204] [PATCH 3/3] gnu: Add Mkdocs.

From: Mathieu Lirzin <[email-masked]>
Date: Sat, 26 Jan 2019 16:24:16 +0100

Hello Ricardo,

Ricardo Wurmus <[email-masked]> writes:

>> * gnu/packages/documentation.scm (mkdocs): New variable.
> […]
>> +
>> +(define-public mkdocs
>> +  (package
>> +    (name "mkdocs")
>> +    (version "1.0.4")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "mkdocs" version))
>> +       (sha256
>> +        (base32
>> +         "0fg9w6rdskwnn7knri7xzrd26k9svwqlxvdr0kk5spfpm8ll7lqp"))))
>> +    (build-system python-build-system)
>> +    (arguments
>> +     ;; XXX: Tests are failing.
>> +     ;; AttributeError: module 'mkdocs.plugins' has no attribute 'get_plugins'
>> +     '(#:tests? #f))
>
> Hmm, any idea why this happens?  Are the plugins not included?  Is there
> an upstream bug report about this?

I didn't dig much, but after some search I have found the Nix package
definition [1] and it seems that the test suite requires ‘nosetests’ and
excludes 3 tests needs to be excluded to make the test suite pass.

Without worrying about how to exclude tests for now, I tried to add the
following to the ‘mkdocs’ package definition:

    (arguments '(#:test-target "nosetests"))
    (native-inputs
     `(("python-mock" ,python-mock)
       ("python-nose" ,python-nose)))

I get errors like the following:

--8<---------------cut here---------------start------------->8---
AssertionError: ([('docs_dir', ValidationError("The path /tmp/guix-build-mkdocs-1.0.4.drv-0/mkdocs-1.0.4/mkdocs/tests/integration/minimal/docs isn't an existing directory."))], [])
--8<---------------cut here---------------end--------------->8---

Any idea how to fix this kind of issue?

You can take a look at the attached build log for more details.

Thanks

[1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/documentation/mkdocs/default.nix

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37