summaryrefslogtreecommitdiff
path: root/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild
blob: 23fc7f5155df2e5455f26449e350a262bcfab6c9 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{10..12} )
inherit multibuild python-r1 qmake-utils out-of-source-utils

DESCRIPTION="Python bindings for QScintilla"
HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"

MY_PN=QScintilla
MY_P=${MY_PN}_src-${PV/_pre/.dev}
SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
S=${WORKDIR}/${MY_P}/Python

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="debug +qt5 qt6"

REQUIRED_USE="|| ( qt5 qt6 ) ${PYTHON_REQUIRED_USE}"

# no tests
RESTRICT="test"

DEPEND="${PYTHON_DEPS}
	qt5? (
		>=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
		dev-qt/qtcore:5
		dev-qt/qtgui:5
		dev-qt/qtprintsupport:5
		dev-qt/qtwidgets:5
	)
	qt6? (
		dev-python/PyQt6[gui,printsupport,widgets,${PYTHON_USEDEP}]
		dev-qt/qtbase:6[gui,widgets]
	)
	~x11-libs/qscintilla-${PV}:=[qt5(+)?,qt6(-)?]
"
RDEPEND="${DEPEND}
	qt5? ( >=dev-python/PyQt5-sip-12.9:=[${PYTHON_USEDEP}] )
	qt6? ( >=dev-python/PyQt6-sip-13.5:=[${PYTHON_USEDEP}] )
"
BDEPEND="
	>=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
	>=dev-python/sip-6.2[${PYTHON_USEDEP}]
	qt5? ( dev-qt/qtcore:5 )
	qt6? ( dev-qt/qtbase:6 )
"

pkg_setup() {
	MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
}

src_configure() {
	my_src_configure() {
		case ${MULTIBUILD_VARIANT} in
			qt5)
				configuration() {
					local myconf=(
						sip-build
						--verbose
						--build-dir="${BUILD_DIR}"
						--scripts-dir="$(python_get_scriptdir)"
						--qmake="$(qt5_get_bindir)"/qmake
						--no-make
						$(usev debug '--debug --qml-debug --tracing')
					)
					echo "${myconf[@]}"
					"${myconf[@]}" || die

					run_in_build_dir qmake5 -recursive ${MY_PN}.pro
				}
				mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
				python_foreach_impl configuration
				;;
			qt6)
				configuration() {
					local myconf=(
						sip-build
						--verbose
						--build-dir="${BUILD_DIR}"
						--scripts-dir="$(python_get_scriptdir)"
						--qmake="$(qt6_get_bindir)"/qmake
						--no-make
						$(usev debug '--debug --qml-debug --tracing')
					)
					echo "${myconf[@]}"
					"${myconf[@]}" || die

					run_in_build_dir qmake6 -recursive ${MY_PN}.pro
				}
				mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
				python_foreach_impl configuration
				;;
		esac
	}
	multibuild_foreach_variant my_src_configure
}

src_compile() {
	multibuild_foreach_variant python_foreach_impl run_in_build_dir default
}

src_install() {
	installation() {
		emake INSTALL_ROOT="${D}" install
		python_optimize
	}
	multibuild_foreach_variant python_foreach_impl run_in_build_dir installation
}