summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2016-08-26 05:47:33 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2016-08-26 05:47:33 +0300
commit45d37f776b5d88eeb33ef290b4dd81df13b34790 (patch)
treef626d91299eccc08dd938b167f3c23cd2491675e /dev-qt
parent42023cebde4252b92c8060f3a30b2d54785eb068 (diff)
qt-creator: sync with upstream gentoo
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qt-creator/qt-creator-scm.ebuild116
1 files changed, 78 insertions, 38 deletions
diff --git a/dev-qt/qt-creator/qt-creator-scm.ebuild b/dev-qt/qt-creator/qt-creator-scm.ebuild
index 87958e0..e265305 100644
--- a/dev-qt/qt-creator/qt-creator-scm.ebuild
+++ b/dev-qt/qt-creator/qt-creator-scm.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-qt/qt-creator/qt-creator-3.2.2.ebuild,v 1.1 2014/10/14 23:34:31 pesa Exp $
+# $Id$
EAPI=5
@@ -9,49 +9,68 @@ PLOCALES="cs de fr ja pl ru sl zh_CN zh_TW"
inherit eutils l10n multilib qmake-utils git-r3
DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
-HOMEPAGE="http://qt-project.org/wiki/Category:Tools::QtCreator"
-LICENSE="|| ( LGPL-2.1 LGPL-3 )"
+HOMEPAGE="http://doc.qt.io/qtcreator/"
+LICENSE="GPL-3"
+SLOT="0"
EGIT_REPO_URI=(
"git://code.qt.io/qt-creator/qt-creator.git"
)
-SLOT="0"
-KEYWORDS=""
+# TODO: unbundle sqlite
+# allow disabling modeleditor plugin
+# it should be possible to skip building some internal libs (clangbackendipc, glsl, modelinglib, sqlite) when the plugins that use them are disabled
+
+QTC_PLUGINS=('android:android|qmakeandroidsupport' autotools:autotoolsprojectmanager baremetal bazaar
+ clangcodemodel clangstaticanalyzer clearcase cmake:cmakeprojectmanager cvs git glsl:glsleditor
+ ios mercurial perforce python:pythoneditor qbs:qbsprojectmanager qnx subversion valgrind winrt)
+IUSE="doc systemd test webengine webkit ${QTC_PLUGINS[@]%:*}"
-# TODO: qbs:qbsprojectmanager, winrt (both require qt5)
-QTC_PLUGINS=(android autotools:autotoolsprojectmanager baremetal bazaar
- clang:clangcodemodel clearcase cmake:cmakeprojectmanager cvs git
- ios mercurial perforce python:pythoneditor qnx subversion valgrind)
-IUSE="debug doc examples test ${QTC_PLUGINS[@]%:*}"
+REQUIRED_USE="?? ( webengine webkit )"
# minimum Qt version required
QT_PV="5"
-CDEPEND="
- =dev-libs/botan-1.10*[threads]
- dev-qt/designer:${QT_PV}
- dev-qt/qtcore:${QT_PV}
- dev-qt/qtdeclarative:${QT_PV}
- dev-qt/qtgui:${QT_PV}
- dev-qt/qthelp:${QT_PV}
- dev-qt/qdoc:${QT_PV}
- dev-qt/qtscript:${QT_PV}
- dev-qt/qtsql:${QT_PV}
- dev-qt/qtsvg:${QT_PV}
- clang? ( >=sys-devel/clang-3.2:= )
+RDEPEND="
+ =dev-libs/botan-1.10*[-bindist,threads]
+ >=dev-qt/designer-${QT_PV}
+ >=dev-qt/qtconcurrent-${QT_PV}
+ >=dev-qt/qtcore-${QT_PV}
+ >=dev-qt/qtdeclarative-${QT_PV}[widgets]
+ >=dev-qt/qtgui-${QT_PV}
+ >=dev-qt/qthelp-${QT_PV}
+ >=dev-qt/qtnetwork-${QT_PV}[ssl]
+ >=dev-qt/qtprintsupport-${QT_PV}
+ >=dev-qt/qtquickcontrols-${QT_PV}
+ >=dev-qt/qtscript-${QT_PV}
+ >=dev-qt/qtsql-${QT_PV}[sqlite]
+ >=dev-qt/qtsvg-${QT_PV}
+ >=dev-qt/qtwidgets-${QT_PV}
+ >=dev-qt/qtx11extras-${QT_PV}
+ >=dev-qt/qtxml-${QT_PV}
+ >=sys-devel/gdb-7.5[client,python]
+ clangcodemodel? ( >=sys-devel/clang-3.6.2:= )
+ qbs? ( >=dev-util/qbs-1.5.2 )
+ systemd? ( sys-apps/systemd:= )
+ webengine? ( >=dev-qt/qtwebengine-5.6.0:5 )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
"
-DEPEND="${CDEPEND}
+DEPEND="${RDEPEND}
+ >=dev-qt/linguist-tools-${QT_PV}
virtual/pkgconfig
- test? ( dev-qt/qttest:${QT_PV} )
-"
-RDEPEND="${CDEPEND}
- >=sys-devel/gdb-7.2[client(+),python]
- examples? ( dev-qt/qtdemo:${QT_PV} )
+ doc? ( >=dev-qt/qdoc-${QT_PV} )
+ test? ( >=dev-qt/qttest-${QT_PV} )
"
+# qt translations must be installed for qt-creator translations to work
+for x in ${PLOCALES}; do
+ RDEPEND+=" linguas_${x}? ( >=dev-qt/qttranslations-${QT_PV} )"
+done
+unset x
+
PDEPEND="
autotools? ( sys-devel/autoconf )
bazaar? ( dev-vcs/bzr )
+ clangstaticanalyzer? ( sys-devel/clang )
cmake? ( dev-util/cmake )
cvs? ( dev-vcs/cvs )
git? ( dev-vcs/git )
@@ -61,16 +80,34 @@ PDEPEND="
"
src_prepare() {
+ default
+
# disable unwanted plugins
for plugin in "${QTC_PLUGINS[@]#[+-]}"; do
if ! use ${plugin%:*}; then
einfo "Disabling ${plugin%:*} plugin"
- sed -i -re "/(^\s+|SUBDIRS\s*\+=\s*)${plugin#*:}\>/d" \
- src/plugins/plugins.pro \
- || die "failed to disable ${plugin%:*} plugin"
+ sed -i -re "/(^\s+|SUBDIRS\s*\+=\s*)(${plugin#*:})\>/d" \
+ src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin"
fi
done
+ # automagic dep on qtwebkit (bug 538236)
+ if ! use webkit; then
+ sed -i -e 's/isEmpty(QT\.webkitwidgets\.name)/true/' \
+ src/plugins/help/help.pro || die "failed to disable webkit"
+ fi
+
+ # automagic dep on qtwebengine
+ if ! use webengine; then
+ sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' \
+ src/plugins/help/help.pro || die "failed to disable webengine"
+ fi
+
+ # disable broken or unreliable tests
+ sed -i -e '/SUBDIRS/ s/\<dumpers\>//' tests/auto/debugger/debugger.pro || die
+ sed -i -e '/CONFIG -=/ s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die
+ sed -i -e '/SUBDIRS/ s/\<memcheck\>//' tests/auto/valgrind/valgrind.pro || die
+
# fix translations
sed -i -e "/^LANGUAGES =/ s:=.*:= $(l10n_get_locales):" \
share/qtcreator/translations/translations.pro || die
@@ -80,12 +117,14 @@ src_prepare() {
}
src_configure() {
- EQMAKE5_EXCLUDE="share/qtcreator/templates/*
- tests/*"
eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \
IDE_PACKAGE_MODE=1 \
- LLVM_INSTALL_DIR="${EPREFIX}/usr" \
- TEST=$(use test && echo 1 || echo 0) \
+ $(use clangcodemodel && echo LLVM_INSTALL_DIR="${EPREFIX}/usr") \
+ $(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \
+ CONFIG+=qbs_disable_rpath \
+ CONFIG+=qbs_enable_project_file_updates \
+ $(use systemd && echo CONFIG+=journald) \
+ $(use test && echo BUILD_TESTS=1) \
USE_SYSTEM_BOTAN=1
}
@@ -107,9 +146,10 @@ src_install() {
# install documentation
if use doc; then
emake docs
- insinto /usr/share/doc/${PF}
+ # don't use ${PF} or the doc will not be found
+ insinto /usr/share/doc/qtcreator
doins share/doc/qtcreator/qtcreator{,-dev}.qch
- docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch
+ docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch
fi
# install desktop file