gentoo-ebuilds/dev-python/pypdf/pypdf-6.1.3.ebuild
Eli Schwartz 0ab5665ea7
dev-python/pypdf: add test dep on jbig2dec
It is an optional feature, and the tests can skip that test if
uninstalled. But if jbig2dec is installed, the tests use its png support
unconditionally, and fail if built without that USE.

Given a choice between:

- `BDEPEND="test? ( !!media-libs/jbig2dec[-png] )"`
- `BDEPEND="test? ( media-libs/jbig2dec[png] )"`
- src_test checking for and disabling the test

simply... enforcing decent test coverage is pretty simple and easy so I
can't think of any reason not to do it. It's a  simple package to depend
on. ;)

Bug: https://github.com/py-pdf/pypdf/issues/3550
Closes: https://bugs.gentoo.org/959843
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-12-15 20:03:38 -05:00

52 lines
1.1 KiB
Bash

# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
DESCRIPTION="Python library to work with PDF files"
HOMEPAGE="
https://pypi.org/project/pypdf/
https://github.com/py-pdf/pypdf/
"
SRC_URI="
https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
test? (
https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
-> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
)
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
BDEPEND="
test? (
dev-python/cryptography[${PYTHON_USEDEP}]
>=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
media-libs/jbig2dec[png]
)
"
EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_unpack() {
default
if use test; then
mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
fi
}
python_test() {
epytest -o addopts= -m "not enable_socket"
}