3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{9..11} )
|
|
6 |
PYTHON_COMPAT=( python3_{10..11} )
|
7 |
7 |
DISTUTILS_OPTIONAL=1
|
8 |
8 |
inherit distutils-r1
|
9 |
9 |
|
... | ... | |
13 |
13 |
|
14 |
14 |
LICENSE="LGPL-2.1+"
|
15 |
15 |
SLOT="0/20"
|
16 |
|
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
|
|
16 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
17 |
17 |
IUSE="python test"
|
18 |
18 |
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
19 |
19 |
RESTRICT="!test? ( test )"
|
20 |
20 |
|
21 |
21 |
RDEPEND="python? ( ${PYTHON_DEPS} )"
|
22 |
22 |
DEPEND="${RDEPEND}"
|
23 |
|
BDEPEND="sys-apps/help2man
|
|
23 |
BDEPEND="
|
|
24 |
sys-apps/help2man
|
24 |
25 |
python? ( ${PYTHON_DEPS}
|
25 |
26 |
>=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
|
26 |
27 |
)
|
... | ... | |
31 |
32 |
default
|
32 |
33 |
|
33 |
34 |
if use python; then
|
34 |
|
pushd python > /dev/null
|
|
35 |
pushd python > /dev/null || die
|
35 |
36 |
distutils-r1_src_prepare
|
36 |
|
popd > /dev/null
|
|
37 |
popd > /dev/null || die
|
37 |
38 |
fi
|
38 |
39 |
}
|
39 |
40 |
|
40 |
41 |
src_configure() {
|
41 |
|
econf \
|
42 |
|
--enable-ucs4 \
|
43 |
|
--disable-static
|
|
42 |
# -fanalyzer substantially slows down the build and isn't useful for
|
|
43 |
# us. It's useful for upstream as it's static analysis, but it's not
|
|
44 |
# useful when just getting something built.
|
|
45 |
export gl_cv_warn_c__fanalyzer=no
|
|
46 |
|
|
47 |
# CONFIG_SHELL is temporary until https://github.com/liblouis/liblouis/pull/1369
|
|
48 |
# is in a release.
|
|
49 |
CONFIG_SHELL="${BROOT}"/bin/bash econf --enable-ucs4
|
44 |
50 |
}
|
45 |
51 |
|
46 |
52 |
src_compile() {
|
47 |
53 |
default
|
48 |
54 |
|
49 |
55 |
if use python; then
|
50 |
|
pushd python > /dev/null
|
|
56 |
pushd python > /dev/null || die
|
51 |
57 |
# setup.py imports liblouis to get the version number,
|
52 |
58 |
# and this causes the shared library to be dlopened
|
53 |
59 |
# at build-time. Hack around it with LD_PRELOAD.
|
54 |
60 |
# Thanks ArchLinux.
|
55 |
|
LD_PRELOAD+=':../liblouis/.libs/liblouis.so'
|
56 |
|
distutils-r1_src_compile
|
57 |
|
popd > /dev/null
|
|
61 |
LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_compile
|
|
62 |
popd > /dev/null || die
|
58 |
63 |
fi
|
59 |
64 |
}
|
60 |
65 |
|
|
66 |
src_test() {
|
|
67 |
default
|
|
68 |
|
|
69 |
if use python; then
|
|
70 |
pushd python > /dev/null || die
|
|
71 |
LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_test
|
|
72 |
popd > /dev/null || die
|
|
73 |
fi
|
|
74 |
}
|
|
75 |
|
|
76 |
python_test() {
|
|
77 |
local -x LOUIS_TABLEPATH="${S}"/tables
|
|
78 |
"${EPYTHON}" tests/test_louis.py || die
|
|
79 |
}
|
|
80 |
|
61 |
81 |
src_install() {
|
62 |
82 |
if use python; then
|
63 |
|
pushd python > /dev/null
|
64 |
|
LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
|
65 |
|
distutils-r1_src_install
|
66 |
|
popd > /dev/null
|
|
83 |
pushd python > /dev/null || die
|
|
84 |
LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_install
|
|
85 |
popd > /dev/null || die
|
67 |
86 |
fi
|
68 |
87 |
|
69 |
88 |
# These need to be after distutils src_install, or it'll try to install them from under python/ as well
|