diff options
-rw-r--r-- | x11-libs/qscintilla/qscintilla-2.14.1-r1.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/x11-libs/qscintilla/qscintilla-2.14.1-r1.ebuild b/x11-libs/qscintilla/qscintilla-2.14.1-r1.ebuild new file mode 100644 index 000000000000..43e36261230c --- /dev/null +++ b/x11-libs/qscintilla/qscintilla-2.14.1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2023 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} +if [[ ${PV} == *_pre* ]]; then + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz" +else + SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz" +fi +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 +} |