Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 705062 - dev-python/pikepdf-1.8.3 missing RDEPEND on dev-python/lxml
Summary: dev-python/pikepdf-1.8.3 missing RDEPEND on dev-python/lxml
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Andrey Grozin
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2020-01-09 19:47 UTC by Chris Mayo
Modified: 2020-01-13 16:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Mayo 2020-01-09 19:47:55 UTC
docs/release_notes.rst:

v1.3.0
======

-  Remove dependency on ``defusedxml.lxml``, because this library is deprecated.
   In the absence of other options for XML hardening we have reverted to
   standard ``lxml``.


pikepdf-1.8.3 $ grep -n lxml setup.py 
142:        install_requires=['lxml >= 4.0']

pikepdf-1.8.3/src/pikepdf $ grep -rn lxml
models/metadata.py:16:from lxml import etree
models/metadata.py:17:from lxml.etree import parse, QName, XMLSyntaxError


I haven't tested these with 1.8.3 but they worked with 1.8.2:

Optional documentation building with:
distutils_enable_sphinx docs

possibly should be:
distutils_enable_sphinx docs dev-python/sphinx_rtd_theme


and tests with:
test? ( dev-python/hypothesis[${PYTHON_USEDEP}] )

distutils_enable_tests pytest
Comment 1 Chris Mayo 2020-01-09 20:07:11 UTC
There was one test which I needed to disable with:
sed -i "s:test_stack_depth:_test_stack_depth:" tests/test_object.py || die
Comment 2 Andrey Grozin gentoo-dev 2020-01-11 08:17:39 UTC
(In reply to Chris Mayo from comment #0)
You are right, I'll add lxml.

> Optional documentation building with:
> distutils_enable_sphinx docs
> 
> possibly should be:
> distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
I tried to do this (though in a more old-fashioned way, by supplying src_compile and src_install). According to requirements/docs.txt, the packages needed for this are sphinx, sphinx-rtd-theme, setuptools_scm (dev-python/setuptools_scm_git_archive depends on it and is already in DEPEND), 
pybind11 (already in RDEPEND), ipython, matplotlib. ipython and matplotlib don't have python3_8, and, naturally, repoman shouts about wrong dependencies. I had to delete all this stuff from the ebuild before committing to Gentoo.


> and tests with:
> test? ( dev-python/hypothesis[${PYTHON_USEDEP}] )
> 
> distutils_enable_tests pytest
I tried this, too. According to requirements/test.txt, the needed packages are

attrs >= 19.1.0
hypothesis >= 4.24, < 5
Pillow >= 5.0.0
pytest >= 4.4.0, < 5
pytest-xdist >= 1.28, <  2
pytest-helpers-namespace >= 2019.1.8
pytest-timeout >= 1.3.3
python-xmp-toolkit >= 2.0.1 ; sys_platform != "nt"

It seems that python-xmp-toolkit is not in Gentoo. I tried to run pytest (by hand, not from the ebuild) after installing everything except python-xmp-toolkit. I got a segfault. After that, I gave up and decided not to include testing in the ebuild for now.

If you have any suggestions about these two points, I'll be very glad to hear them. I agree that adding doc and test IUSE flags is very useful. Unfortunately, I haven't succeeded to do it.
Comment 3 Marco Genasci 2020-01-11 09:05:10 UTC
In my pull request there are the ebuilds pikepdf with test and doc use flags and sphinx-rtd-theme.
Feel free to use them so I can remove from my overlay.
Comment 4 Chris Mayo 2020-01-11 20:09:32 UTC
> I tried this, too. According to requirements/test.txt, the needed packages
> are
> 
> attrs >= 19.1.0
> hypothesis >= 4.24, < 5
> Pillow >= 5.0.0
> pytest >= 4.4.0, < 5
> pytest-xdist >= 1.28, <  2
> pytest-helpers-namespace >= 2019.1.8
> pytest-timeout >= 1.3.3
> python-xmp-toolkit >= 2.0.1 ; sys_platform != "nt"
> 
> It seems that python-xmp-toolkit is not in Gentoo. I tried to run pytest (by
> hand, not from the ebuild) after installing everything except
> python-xmp-toolkit. I got a segfault. After that, I gave up and decided not
> to include testing in the ebuild for now.
I do have dev-python/attrs, dev-python/hypothesis, dev-python/pillow, dev-python/pytest and dev-python/pytest-xdist installed.

With the sed the other tests were running (on 1.8.2, doing a diff the change to the test in 1.8.3 is minimal with one test being parametrized). I think that test may be the cause of your segfault.

There is a needs_libxmp fixture that checks whether python-xmp-toolkit is installed in test_metadata.py. So, without it the test is just being skipped.

> > Optional documentation building with:
> > distutils_enable_sphinx docs
> > 
> > possibly should be:
> > distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
> I tried to do this (though in a more old-fashioned way, by supplying
> src_compile and src_install). According to requirements/docs.txt, the
> packages needed for this are sphinx, sphinx-rtd-theme, setuptools_scm
> (dev-python/setuptools_scm_git_archive depends on it and is already in
> DEPEND), 
> pybind11 (already in RDEPEND), ipython, matplotlib. ipython and matplotlib
> don't have python3_8, and, naturally, repoman shouts about wrong
> dependencies. I had to delete all this stuff from the ebuild before
> committing to Gentoo.
I do have dev-python/ipython and dev-python/matplotlib. That probably masked this for me. Although the distutils_enable_sphinx is using python_gen_any_dep with autodoc (the default) so maybe that gets around the problem of Python 3.8 support.
Comment 5 Larry the Git Cow gentoo-dev 2020-01-13 16:14:03 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a08c97274a3610e3ed0a7c78e4f8c51d712aa63c

commit a08c97274a3610e3ed0a7c78e4f8c51d712aa63c
Author:     Andrey Grozin <grozin@gentoo.org>
AuthorDate: 2020-01-13 16:12:59 +0000
Commit:     Andrey Grozin <grozin@gentoo.org>
CommitDate: 2020-01-13 16:13:42 +0000

    dev-python/pikepdf: ebuild improvements
    
    Thanks to Chris Mayo <aklhfex@gmail.com>
    and  Marco Genasci <fedeliallalinea@gmail.com>
    Closes: https://bugs.gentoo.org/705062
    Package-Manager: Portage-2.3.84, Repoman-2.3.20
    Signed-off-by: Andrey Grozin <grozin@gentoo.org>

 dev-python/pikepdf/files/pikepdf-1.8.3-test.patch | 40 +++++++++++++++++++++++
 dev-python/pikepdf/pikepdf-1.8.3.ebuild           | 37 +++++++++++++++++++--
 2 files changed, 75 insertions(+), 2 deletions(-)