3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
|
6 |
DISTUTILS_SINGLE_IMPL=1
|
|
7 |
DISTUTILS_USE_PEP517=setuptools
|
6 |
8 |
PYTHON_COMPAT=( python3_{10..11} )
|
7 |
9 |
PYTHON_REQ_USE="sqlite"
|
8 |
10 |
|
9 |
|
inherit python-single-r1 xdg-utils
|
|
11 |
inherit distutils-r1 xdg-utils
|
10 |
12 |
|
11 |
13 |
DESCRIPTION="Community genealogy program aiming to be both intuitive and feature-complete"
|
12 |
14 |
HOMEPAGE="https://gramps-project.org/"
|
... | ... | |
15 |
17 |
|
16 |
18 |
LICENSE="GPL-2+"
|
17 |
19 |
SLOT="0"
|
18 |
|
KEYWORDS="amd64 ~x86"
|
|
20 |
KEYWORDS="~amd64 ~x86"
|
19 |
21 |
IUSE="exif geo postscript +rcs +reports spell test"
|
20 |
22 |
|
21 |
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
22 |
|
|
23 |
|
# Some of the tests fail unless the deprecated BerkeleyDB back-end is enabled.
|
|
23 |
# Many tests fail unless the deprecated BerkeleyDB back-end is enabled.
|
24 |
24 |
RESTRICT="test"
|
25 |
25 |
|
26 |
|
RDEPEND="${PYTHON_DEPS}
|
|
26 |
RDEPEND="
|
27 |
27 |
$(python_gen_cond_dep '
|
28 |
28 |
dev-python/pycairo[${PYTHON_USEDEP}]
|
29 |
29 |
>=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
|
... | ... | |
40 |
40 |
reports? ( media-gfx/graphviz[postscript?] )
|
41 |
41 |
"
|
42 |
42 |
BDEPEND="test? (
|
43 |
|
${RDEPEND}
|
44 |
43 |
$(python_gen_cond_dep '
|
45 |
44 |
dev-python/jsonschema[${PYTHON_USEDEP}]
|
46 |
45 |
dev-python/lxml[${PYTHON_USEDEP}]
|
... | ... | |
49 |
48 |
|
50 |
49 |
PATCHES=(
|
51 |
50 |
"${FILESDIR}"/${PN}-5.1.3-test_locale.patch
|
|
51 |
"${FILESDIR}"/${PN}-5.1.6-pep517_setup.patch
|
|
52 |
)
|
|
53 |
|
|
54 |
DISTUTILS_ARGS=(
|
|
55 |
--no-compress-manpages
|
52 |
56 |
)
|
53 |
57 |
|
|
58 |
distutils_enable_tests pytest
|
|
59 |
|
54 |
60 |
src_prepare() {
|
55 |
61 |
# Install documentation to the proper location. This can't be done
|
56 |
62 |
# easily with a patch because we substitute in the ${PF} variable,
|
57 |
63 |
# and that changes with every revision.
|
58 |
|
sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
|
|
64 |
sed -i -e "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
|
59 |
65 |
|
60 |
|
default
|
61 |
|
}
|
|
66 |
# The final part of PEP-517 support, handled with sed in order to avoid
|
|
67 |
# making the patch file too large
|
|
68 |
sed -e "s:_name:name:g" data/holidays.xml.in > data/holidays.xml || die
|
|
69 |
sed -e "s:_tip:tip:g" data/tips.xml.in > data/tips.xml || die
|
62 |
70 |
|
63 |
|
src_compile() {
|
64 |
|
${PYTHON} setup.py --verbose build || die
|
|
71 |
default
|
65 |
72 |
}
|
66 |
73 |
|
67 |
|
src_test() {
|
68 |
|
LC_ALL=C.UTF-8 ${PYTHON} setup.py --verbose test || die
|
69 |
|
}
|
|
74 |
python_install() {
|
|
75 |
distutils-r1_python_install
|
70 |
76 |
|
71 |
|
src_install() {
|
72 |
|
${PYTHON} setup.py --verbose install --root="${ED}" --resourcepath=/usr/share --no-compress-manpages || die
|
73 |
|
einstalldocs
|
74 |
|
python_optimize
|
|
77 |
# setup.py option --resourcepath appears to have problems at the moment
|
|
78 |
echo -n "/usr/share" > "${ED}"$(python_get_sitedir)/${PN}/gen/utils/resource-path || die
|
75 |
79 |
}
|
76 |
80 |
|
77 |
81 |
pkg_postinst() {
|