x11-libs/qscintilla: Make Qt5 compatible
authorDavid Seifert <soap@gentoo.org>
Thu, 22 Dec 2016 17:46:36 +0000 (18:46 +0100)
committerDavid Seifert <soap@gentoo.org>
Thu, 22 Dec 2016 18:25:40 +0000 (20:25 +0200)
Gentoo-bug: 541604

Package-Manager: Portage-2.3.3, Repoman-2.3.1
Closes: https://github.com/gentoo/gentoo/pull/3188

x11-libs/qscintilla/qscintilla-2.8.4-r2.ebuild [moved from x11-libs/qscintilla/qscintilla-2.8.4-r1.ebuild with 96% similarity]
x11-libs/qscintilla/qscintilla-2.9.2-r1.ebuild [moved from x11-libs/qscintilla/qscintilla-2.9.2.ebuild with 98% similarity]
x11-libs/qscintilla/qscintilla-2.9.3-r1.ebuild [moved from x11-libs/qscintilla/qscintilla-2.9.3.ebuild with 98% similarity]
x11-libs/qscintilla/qscintilla-2.9.3-r2.ebuild [new file with mode: 0644]

similarity index 96%
rename from x11-libs/qscintilla/qscintilla-2.8.4-r1.ebuild
rename to x11-libs/qscintilla/qscintilla-2.8.4-r2.ebuild
index 9c5ece9fd7af6c01aa31c110218c373c5cfb4ece..0d86621b5caa8825a4b817f7ed3d592a758dfe27 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -15,7 +15,7 @@ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
 LICENSE="|| ( GPL-2 GPL-3 )"
 SLOT="0/11"
 KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="designer doc"
+IUSE="designer doc +qt4"
 
 DEPEND="
        >=dev-qt/qtcore-4.8.5:4
similarity index 98%
rename from x11-libs/qscintilla/qscintilla-2.9.2.ebuild
rename to x11-libs/qscintilla/qscintilla-2.9.2-r1.ebuild
index 54406310335560642797f61dce9ff1e61ac98bec..caf9749bae19a51aa830c4733d4ecd0a41438899 100644 (file)
@@ -15,7 +15,7 @@ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
 LICENSE="GPL-3"
 SLOT="0/12"
 KEYWORDS="alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="designer doc"
+IUSE="designer doc +qt4"
 
 DEPEND="
        dev-qt/qtcore:4
similarity index 98%
rename from x11-libs/qscintilla/qscintilla-2.9.3.ebuild
rename to x11-libs/qscintilla/qscintilla-2.9.3-r1.ebuild
index 103e457a6e6dcd91e01c9fda2a2581208be8d020..a73439a061a98b18556141ddfa985abaa28aed66 100644 (file)
@@ -15,7 +15,7 @@ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
 LICENSE="GPL-3"
 SLOT="0/12"
 KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="designer doc"
+IUSE="designer doc +qt4"
 
 DEPEND="
        dev-qt/qtcore:4
diff --git a/x11-libs/qscintilla/qscintilla-2.9.3-r2.ebuild b/x11-libs/qscintilla/qscintilla-2.9.3-r2.ebuild
new file mode 100644 (file)
index 0000000..f4626d9
--- /dev/null
@@ -0,0 +1,89 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic qmake-utils
+
+MY_P=QScintilla_gpl-${PV}
+
+DESCRIPTION="A Qt port of Neil Hodgson's Scintilla C++ editor class"
+HOMEPAGE="http://www.riverbankcomputing.com/software/qscintilla/intro"
+SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/12"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="designer doc +qt4 qt5"
+
+REQUIRED_USE="^^ ( qt4 qt5 )"
+
+RDEPEND="
+       qt4? (
+               dev-qt/qtcore:4
+               dev-qt/qtgui:4
+               designer? ( dev-qt/designer:4 )
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtprintsupport:5
+               dev-qt/qtwidgets:5
+               designer? ( dev-qt/designer:5 )
+       )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+       default
+
+       # Sub-slot sanity check
+       local subslot=${SLOT#*/}
+       local version=$(sed -nre 's:.*VERSION\s*=\s*([0-9\.]+):\1:p' "${S}"/Qt4Qt5/qscintilla.pro)
+       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
+}
+
+qsci_run_in() {
+       pushd "$1" >/dev/null || die
+       shift || die
+       "$@" || die
+       popd >/dev/null || die
+}
+
+src_configure() {
+       local my_eqmake=eqmake$(usex qt5 5 4)
+       qsci_run_in Qt4Qt5 $my_eqmake
+
+       if use designer; then
+               # prevent building against system version (bug 466120)
+               append-cxxflags -I../Qt4Qt5
+               append-ldflags -L../Qt4Qt5
+
+               qsci_run_in designer-Qt4Qt5 $my_eqmake
+       fi
+}
+
+src_compile() {
+       qsci_run_in Qt4Qt5 emake
+
+       use designer && qsci_run_in designer-Qt4Qt5 emake
+}
+
+src_install() {
+       qsci_run_in Qt4Qt5 emake INSTALL_ROOT="${D}" install
+
+       use designer && qsci_run_in designer-Qt4Qt5 emake INSTALL_ROOT="${D}" install
+
+       use doc && HTML_DOCS=( doc/html-Qt4Qt5/. )
+       einstalldocs
+}