blob: dcb3e2774f59163b988a04506867dc0e6e9acf19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit desktop edo python-single-r1 xdg
DESCRIPTION="Fast and easy graphics application for digital painters"
HOMEPAGE="http://mypaint.app/"
SRC_URI="https://github.com/mypaint/${PN}/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE="openmp"
LANGS="cs de en_CA en_GB es fr hu id it ja ko nb nn_NO pl pt_BR ro ru sl sv uk zh_CN zh_TW"
# Relies on setup.py test (long-removed) and nose (also long-removed)
# See bug #927525 and https://github.com/mypaint/mypaint/issues/1191
RESTRICT="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
>=dev-python/pycairo-1.4[${PYTHON_USEDEP}]
dev-python/protobuf[${PYTHON_USEDEP}]
')
>=dev-libs/json-c-0.11:=
gnome-base/librsvg
media-gfx/mypaint-brushes:2.0
media-libs/lcms:2
>=media-libs/libmypaint-1.5.0[openmp?]
media-libs/libpng:=
sys-devel/gettext
llvm-runtimes/openmp
x11-libs/gdk-pixbuf[jpeg]
x11-libs/gtk+:3
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
dev-lang/swig
sys-devel/gettext
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-2.0.1-r1-build-system.patch
"${FILESDIR}"/${P}-GIL-hold.patch
"${FILESDIR}"/${P}-setuptools.patch
"${FILESDIR}"/${PN}-2.0.1-python3.11.patch
)
src_compile() {
# --disable-openmp can't be passed to setup.py build,
# only setup.py build_ext.
# Trying to call build_ext then build and such fails.
#
# We just override the environment instead for simplicity.
local openmp=$(usex openmp '-fopenmp' '-fno-openmp')
local -x OPENMP_CFLAG="${openmp}" OPENMP_LDFLAG="${openmp}"
edo ${EPYTHON} setup.py build
}
src_install() {
edo ${EPYTHON} setup.py install --prefix="${EPREFIX}/usr" --root="${D}"
python_fix_shebang "${ED}"/usr/bin
python_optimize
python_optimize "${ED}/usr/lib/mypaint"
einstalldocs
newicon pixmaps/${PN}_logo.png ${PN}.png
local lang=
for lang in ${LANGS}; do
if ! has ${lang} ${LINGUAS}; then
rm -rf "${ED}"/usr/share/locale/${lang} || die
fi
done
}
|