blob: fb9ddb9b51a39111308231ab28f7a42dd45aafd7 (
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
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic multibuild qmake-utils
DESCRIPTION="Qt port of Neil Hodgson's Scintilla C++ editor control"
HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/intro"
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}
LICENSE="GPL-3"
SLOT="0/15"
KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86"
IUSE="designer doc +qt5 qt6"
REQUIRED_USE="|| ( qt5 qt6 )"
# no tests
RESTRICT="test"
RDEPEND="
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
designer? ( dev-qt/designer:5 )
)
qt6? (
dev-qt/qtbase:6[gui,widgets]
designer? ( dev-qt/qttools:6[designer] )
)
"
DEPEND="${RDEPEND}"
pkg_setup() {
MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
}
src_unpack() {
default
# Sub-slot sanity check
local subslot=${SLOT#*/}
local version=$(sed -nre 's:.*VERSION\s*=\s*([0-9\.]+):\1:p' "${S}"/src/qscintilla.pro || die)
local major=${version%%.*}
if [[ ${subslot} != ${major} ]]; then
eerror
eerror "Ebuild sub-slot (${subslot}) does not match QScintilla major version (${major})"
eerror "Please update SLOT variable as follows:"
eerror " SLOT=\"${SLOT%%/*}/${major}\""
eerror
die "sub-slot sanity check failed"
fi
multibuild_copy_sources
}
qsci_run_in() {
pushd "$1" >/dev/null || die
shift || die
"$@" || die
popd >/dev/null || die
}
src_configure() {
if use designer; then
# prevent building against system version (bug 466120)
append-cxxflags -I../src
append-ldflags -L../src
fi
my_src_configure() {
case ${MULTIBUILD_VARIANT} in
qt5)
qsci_run_in "${BUILD_DIR}"/src eqmake5;
use designer && qsci_run_in "${BUILD_DIR}"/designer eqmake5;;
qt6)
qsci_run_in "${BUILD_DIR}"/src eqmake6;
use designer && qsci_run_in "${BUILD_DIR}"/designer eqmake6;;
esac
}
multibuild_foreach_variant my_src_configure
}
src_compile() {
my_src_compile() {
qsci_run_in "${BUILD_DIR}"/src emake
use designer && qsci_run_in "${BUILD_DIR}"/designer emake
}
multibuild_foreach_variant my_src_compile
}
src_install() {
my_src_install() {
qsci_run_in "${BUILD_DIR}"/src emake INSTALL_ROOT="${D}" install
use designer && qsci_run_in "${BUILD_DIR}"/designer emake INSTALL_ROOT="${D}" install
}
multibuild_foreach_variant my_src_install
use doc && local HTML_DOCS=( doc/html/. )
einstalldocs
}
|