1 |
|
# Copyright 1999-2020 Gentoo Authors
|
|
1 |
# Copyright 1999-2023 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
|
EAPI=7
|
|
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
DISTUTILS_USE_SETUPTOOLS=no
|
7 |
|
PYTHON_COMPAT=( python3_{6,7,8} )
|
|
6 |
DISTUTILS_USE_PEP517=setuptools
|
|
7 |
PYTHON_COMPAT=( python3_{9..11} )
|
8 |
8 |
|
9 |
9 |
inherit distutils-r1 xdg-utils
|
10 |
10 |
|
... | ... | |
18 |
18 |
KEYWORDS="amd64 ~ppc x86"
|
19 |
19 |
|
20 |
20 |
RDEPEND="
|
|
21 |
>=dev-libs/glib-2.42
|
21 |
22 |
dev-libs/gobject-introspection
|
22 |
23 |
dev-python/dbus-python[${PYTHON_USEDEP}]
|
23 |
24 |
dev-python/pexpect[${PYTHON_USEDEP}]
|
24 |
25 |
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
25 |
26 |
x11-libs/gdk-pixbuf[introspection]
|
26 |
|
x11-libs/gtk+:3[introspection]
|
|
27 |
>=x11-libs/gtk+-3.22:3[introspection]
|
27 |
28 |
x11-libs/pango[introspection]
|
|
29 |
>=xfce-base/xfconf-4.14[introspection]
|
28 |
30 |
virtual/freedesktop-icon-theme
|
29 |
31 |
"
|
30 |
32 |
BDEPEND="
|
... | ... | |
32 |
34 |
sys-devel/gettext
|
33 |
35 |
"
|
34 |
36 |
|
35 |
|
catfish_python_install() {
|
36 |
|
debug-print-function ${FUNCNAME} "${@}"
|
37 |
|
|
38 |
|
local args=( "${@}" )
|
39 |
|
|
40 |
|
# enable compilation for the install phase.
|
41 |
|
local -x PYTHONDONTWRITEBYTECODE=
|
42 |
|
|
43 |
|
# python likes to compile any module it sees, which triggers sandbox
|
44 |
|
# failures if some packages haven't compiled their modules yet.
|
45 |
|
addpredict "${EPREFIX}/usr/lib/${EPYTHON}"
|
46 |
|
addpredict "${EPREFIX}/usr/$(get_libdir)/${EPYTHON}"
|
47 |
|
addpredict /usr/lib/pypy2.7
|
48 |
|
addpredict /usr/lib/pypy3.6
|
49 |
|
addpredict /usr/lib/portage/pym
|
50 |
|
addpredict /usr/local # bug 498232
|
51 |
|
|
52 |
|
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
|
53 |
|
# user may override --install-scripts
|
54 |
|
# note: this is poor but distutils argv parsing is dumb
|
55 |
|
local mydistutilsargs=( "${mydistutilsargs[@]}" )
|
56 |
|
local scriptdir=${EPREFIX}/usr/bin
|
57 |
|
|
58 |
|
# construct a list of mydistutilsargs[0] args[0] args[1]...
|
59 |
|
local arg arg_vars
|
60 |
|
[[ ${mydistutilsargs[@]} ]] && eval arg_vars+=(
|
61 |
|
'mydistutilsargs['{0..$(( ${#mydistutilsargs[@]} - 1 ))}']'
|
62 |
|
)
|
63 |
|
[[ ${args[@]} ]] && eval arg_vars+=(
|
64 |
|
'args['{0..$(( ${#args[@]} - 1 ))}']'
|
65 |
|
)
|
66 |
|
|
67 |
|
set -- "${arg_vars[@]}"
|
68 |
|
while [[ ${@} ]]; do
|
69 |
|
local arg_var=${1}
|
70 |
|
shift
|
71 |
|
local a=${!arg_var}
|
72 |
|
|
73 |
|
case "${a}" in
|
74 |
|
--install-scripts=*)
|
75 |
|
scriptdir=${a#--install-scripts=}
|
76 |
|
unset "${arg_var}"
|
77 |
|
;;
|
78 |
|
--install-scripts)
|
79 |
|
scriptdir=${!1}
|
80 |
|
unset "${arg_var}" "${1}"
|
81 |
|
shift
|
82 |
|
;;
|
83 |
|
esac
|
84 |
|
done
|
85 |
|
fi
|
86 |
|
|
87 |
|
local root=${D%/}/_${EPYTHON}
|
88 |
|
[[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/}
|
89 |
|
|
90 |
|
esetup.py install --root="${root}" "${args[@]}"
|
91 |
|
|
92 |
|
local forbidden_package_names=( examples test tests .pytest_cache )
|
93 |
|
local p
|
94 |
|
for p in "${forbidden_package_names[@]}"; do
|
95 |
|
if [[ -d ${root}$(python_get_sitedir)/${p} ]]; then
|
96 |
|
die "Package installs '${p}' package which is forbidden and likely a bug in the build system."
|
97 |
|
fi
|
98 |
|
done
|
99 |
|
|
100 |
|
local shopt_save=$(shopt -p nullglob)
|
101 |
|
shopt -s nullglob
|
102 |
|
local pypy_dirs=(
|
103 |
|
"${root}/usr/$(get_libdir)"/pypy*/share
|
104 |
|
"${root}/usr/lib"/pypy*/share
|
105 |
|
)
|
106 |
|
${shopt_save}
|
107 |
|
|
108 |
|
if [[ -n ${pypy_dirs} ]]; then
|
109 |
|
die "Package installs 'share' in PyPy prefix, see bug #465546."
|
110 |
|
fi
|
111 |
|
|
112 |
|
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
|
113 |
|
_distutils-r1_wrap_scripts "${root}" "${scriptdir}"
|
114 |
|
multibuild_merge_root "${root}" "${D%/}"
|
115 |
|
fi
|
116 |
|
}
|
117 |
|
|
118 |
|
python_install() {
|
119 |
|
catfish_python_install
|
120 |
|
python_optimize
|
|
37 |
src_install() {
|
|
38 |
distutils-r1_src_install
|
121 |
39 |
rm -r "${ED}"/usr/share/doc/catfish || die
|
122 |
40 |
}
|
123 |
41 |
|