summaryrefslogtreecommitdiff
path: root/dev-python/pyside2-tools/pyside2-tools-5.15.13.ebuild
blob: a4e0bab67f218c1199a14a6080d723b11d734ec3 (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
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

# TODO: Add PyPy once officially supported. See also:
#     https://bugreports.qt.io/browse/PYSIDE-535
PYTHON_COMPAT=( python3_{10..11} )

LLVM_COMPAT=( 15 )

inherit cmake llvm-r1 python-r1

MY_P=pyside-setup-opensource-src-${PV}

DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
HOMEPAGE="https://wiki.qt.io/PySide2"
SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}/sources/${PN}"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"

RDEPEND="${PYTHON_DEPS}
	~dev-python/shiboken2-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
	~dev-python/pyside2-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
"
DEPEND="${RDEPEND}
	$(llvm_gen_dep '
		sys-devel/clang:${LLVM_SLOT}
		sys-devel/llvm:${LLVM_SLOT}
	')
"

# the tools conflict with tools from QT
PATCHES=(
	"${FILESDIR}/${PN}-5.15.11-no-copy-uic.patch"
)

src_prepare() {
	cmake_src_prepare

	python_copy_sources
}

src_configure() {
	pyside-tools_configure() {
		local mycmakeargs=(
			-DBUILD_TESTS=OFF
			-DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
		)
		cmake_src_configure
	}

	python_foreach_impl pyside-tools_configure
}

src_compile() {
	pyside-tools_compile() {
		cmake_src_compile
	}

	python_foreach_impl pyside-tools_compile
}

src_install() {
	pyside-tools_install() {
		# This replicates the contents of the PySide6 pypi wheel
		DESTDIR="${BUILD_DIR}" cmake_build install
		dobin "${BUILD_DIR}/usr/bin/pyside2-lupdate"
		python_moduleinto PySide2/scripts
		python_domodule "${BUILD_DIR}/usr/bin/pyside_tool.py"
	}

	python_foreach_impl pyside-tools_install

	einstalldocs
}