blob: ba55f5dbfb474e76e5db7e027213e7dfeee49a92 (
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/qt-creator/qt-creator-2.6.2.ebuild,v 1.1 2013/02/02 11:06:25 pesa Exp $
EAPI=4
PLOCALES="cs de fr hu ja pl ru sl zh_CN"
inherit eutils flag-o-matic l10n multilib qt4-r2
DESCRIPTION="Lightweight IDE for C++ development centering around Qt"
HOMEPAGE="http://qt-project.org/wiki/Category:Tools::QtCreator"
LICENSE="LGPL-2.1"
if [[ ${PV} == *9999* ]]; then
inherit git-2
EGIT_REPO_URI="git://gitorious.org/${PN}/${PN}.git
https://git.gitorious.org/${PN}/${PN}.git"
else
MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}-src
SRC_URI="http://releases.qt-project.org/qtcreator/${MY_PV}/${MY_P}.tar.gz"
S=${WORKDIR}/${MY_P}
fi
SLOT="0"
KEYWORDS="~amd64 ~x86"
QTC_PLUGINS=(android autotools:autotoolsprojectmanager bazaar
clearcase cmake:cmakeprojectmanager cvs fakevim git
madde mercurial perforce qnx subversion valgrind)
IUSE="+botan-bundled debug doc examples ${QTC_PLUGINS[@]%:*}"
# minimum Qt version required
QT_PV="4.8.0:4"
CDEPEND="
>=x11-libs/qt-assistant-${QT_PV}[doc?]
>=x11-libs/qt-core-${QT_PV}[ssl]
>=x11-libs/qt-declarative-${QT_PV}
>=x11-libs/qt-gui-${QT_PV}
>=x11-libs/qt-script-${QT_PV}
>=x11-libs/qt-sql-${QT_PV}
>=x11-libs/qt-svg-${QT_PV}
debug? ( >=x11-libs/qt-test-${QT_PV} )
!botan-bundled? ( >=dev-libs/botan-1.10.2 )
"
DEPEND="${CDEPEND}
!botan-bundled? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
>=sys-devel/gdb-7.2[python]
examples? ( >=x11-libs/qt-demo-${QT_PV} )
"
PDEPEND="
autotools? ( sys-devel/autoconf )
bazaar? ( dev-vcs/bzr )
cmake? ( dev-util/cmake )
cvs? ( dev-vcs/cvs )
git? ( dev-vcs/git )
mercurial? ( dev-vcs/mercurial )
subversion? ( dev-vcs/subversion )
valgrind? ( dev-util/valgrind )
"
src_prepare() {
qt4-r2_src_prepare
# disable unwanted plugins
for plugin in "${QTC_PLUGINS[@]#[+-]}"; do
if ! use ${plugin%:*}; then
einfo "Disabling ${plugin%:*} plugin"
sed -i -re "/(^|SUBDIRS\s+\+=)\s+plugin_${plugin#*:}\>/d" src/plugins/plugins.pro \
|| die "failed to disable ${plugin} plugin"
fi
done
# fix translations
sed -i -e "/^LANGUAGES =/ s:=.*:= $(l10n_get_locales):" \
share/qtcreator/translations/translations.pro || die
if ! use botan-bundled; then
# identify system botan and pkg-config file
local botan_version=$(best_version dev-libs/botan | cut -d '-' -f3 | cut -d '.' -f1,2)
local lib_botan=$(pkg-config --libs botan-${botan_version})
einfo "Major version of system's botan library to be used: ${botan_version}"
# drop bundled libBotan. Bug #383033
rm -rf "${S}"/src/libs/3rdparty/botan || die
# remove references to bundled botan
sed -i -e "s:botan::" "${S}"/src/libs/3rdparty/3rdparty.pro || die
for x in testrunner parsertests modeldemo; do
sed -i -e "/botan.pri/d" "${S}"/tests/valgrind/memcheck/${x}.pro || die
done
sed -i -e "/botan.pri/d" "${S}"/src/libs/utils/utils_dependencies.pri || die
sed -i -e "/botan.pri/d" "${S}"/tests/manual/preprocessor/preprocessor.pro || die
# link to system botan
sed -i -e "/LIBS/s:$: ${lib_botan}:" "${S}"/qtcreator.pri || die
sed -i -e "s:-lBotan:${lib_botan}:" "${S}"/tests/manual/appwizards/appwizards.pro || die
# append botan refs to compiler flags
append-flags $(pkg-config --cflags --libs botan-${botan_version})
fi
}
src_configure() {
eqmake4 qtcreator.pro \
IDE_LIBRARY_BASENAME="$(get_libdir)" \
IDE_PACKAGE_MODE=yes
}
src_compile() {
emake
use doc && emake docs
}
src_install() {
emake INSTALL_ROOT="${ED}usr" install
dodoc dist/{changes-2.*,known-issues}
# Install documentation
if use doc; then
insinto /usr/share/doc/${PF}
doins share/doc/qtcreator/qtcreator{,-dev}.qch
docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch
fi
# Install desktop file
make_desktop_entry qtcreator 'Qt Creator' QtProject-qtcreator 'Qt;Development;IDE'
}
|