Gentoo Archives: gentoo-commits

From: Davide Pesavento <pesa@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/qt:master commit in: dev-qt/qtwebkit23/
Date: Sat, 30 May 2015 02:25:04
Message-Id: 1432951051.f830be2016a1d4773032d7d821dea6c61c496937.pesa@gentoo
1 commit: f830be2016a1d4773032d7d821dea6c61c496937
2 Author: Davide Pesavento <pesa <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 30 01:57:31 2015 +0000
4 Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
5 CommitDate: Sat May 30 01:57:31 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=f830be20
7
8 [dev-qt/qtwebkit23] Several fixes and enhancements.
9
10 * Implement debug USE flag
11 * Relaxed and simplified some deps
12 * Drop qtsvg, qtxmlpatterns, freetype, libXext deps as they don't seem
13 to be used directly by this module
14 * USE=sqlite is required for qtsql
15 * Rewrite multilib_src_compile using a bash array so that we can print
16 the command before executing it
17 * Pass more QMAKE_* variables to the build system, similarly to eqmake4
18 * Other minor cleanups
19
20 Package-Manager: portage-2.2.20
21
22 dev-qt/qtwebkit23/metadata.xml | 3 +
23 dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild | 106 ++++++++++++++++--------------
24 2 files changed, 61 insertions(+), 48 deletions(-)
25
26 diff --git a/dev-qt/qtwebkit23/metadata.xml b/dev-qt/qtwebkit23/metadata.xml
27 index afb3b43..37dc834 100644
28 --- a/dev-qt/qtwebkit23/metadata.xml
29 +++ b/dev-qt/qtwebkit23/metadata.xml
30 @@ -2,6 +2,9 @@
31 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
32 <pkgmetadata>
33 <herd>qt</herd>
34 + <use>
35 + <flag name="gstreamer">Enable HTML5 audio/video support via <pkg>media-libs/gstreamer:1.0</pkg></flag>
36 + </use>
37 <upstream>
38 <bugs-to>https://bugreports.qt.io/</bugs-to>
39 <doc>http://doc.qt.io/</doc>
40
41 diff --git a/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild b/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
42 index 3148278..f375165 100644
43 --- a/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
44 +++ b/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
45 @@ -3,9 +3,8 @@
46 # $Header: /var/cvsroot/gentoo-x86/dev-qt/qtwebkit/qtwebkit-4.8.6-r1.ebuild,v 1.1 2014/11/15 02:38:53 pesa Exp $
47
48 EAPI=5
49 -
50 PYTHON_COMPAT=( python2_7 )
51 -inherit eutils multibuild multilib python-any-r1 qmake-utils toolchain-funcs multilib-minimal
52 +inherit eutils multilib python-any-r1 qmake-utils toolchain-funcs multilib-minimal
53
54 DESCRIPTION="The WebKit module for the Qt toolkit"
55 HOMEPAGE="https://www.qt.io/"
56 @@ -14,34 +13,30 @@ SRC_URI="http://dev.gentoo.org/~kensington/distfiles/${P}.tar.xz"
57 LICENSE="|| ( LGPL-2.1 GPL-3 )"
58 SLOT="4"
59 KEYWORDS="~amd64"
60 -IUSE="+gstreamer"
61 +IUSE="debug +gstreamer"
62
63 RDEPEND="
64 - >=dev-db/sqlite-3.8.9:3[${MULTILIB_USEDEP}]
65 - >=dev-libs/libxml2-2.9.2-r1:2[${MULTILIB_USEDEP}]
66 - >=dev-libs/libxslt-1.1.28-r4[${MULTILIB_USEDEP}]
67 + >=dev-db/sqlite-3.8.3:3[${MULTILIB_USEDEP}]
68 + dev-libs/libxml2:2[${MULTILIB_USEDEP}]
69 + dev-libs/libxslt[${MULTILIB_USEDEP}]
70 >=dev-qt/qtcore-4.8.6-r1:4[ssl,${MULTILIB_USEDEP}]
71 >=dev-qt/qtdeclarative-4.8.6-r1:4[${MULTILIB_USEDEP}]
72 - >=dev-qt/qtgui-4.8.6-r2:4[${MULTILIB_USEDEP}]
73 + >=dev-qt/qtgui-4.8.6-r1:4[${MULTILIB_USEDEP}]
74 >=dev-qt/qtopengl-4.8.6-r1:4[${MULTILIB_USEDEP}]
75 >=dev-qt/qtscript-4.8.6-r1:4[${MULTILIB_USEDEP}]
76 - >=dev-qt/qtsql-4.8.6-r1:4[${MULTILIB_USEDEP}]
77 - >=dev-qt/qtsvg-4.8.6-r1:4[${MULTILIB_USEDEP}]
78 - >=dev-qt/qtxmlpatterns-4.8.6-r1:4[${MULTILIB_USEDEP}]
79 - >=media-libs/fontconfig-2.11.1-r2[${MULTILIB_USEDEP}]
80 - >=media-libs/freetype-2.5.5[${MULTILIB_USEDEP}]
81 - >=media-libs/libpng-1.6.16:0=[${MULTILIB_USEDEP}]
82 + >=dev-qt/qtsql-4.8.6-r1:4[sqlite,${MULTILIB_USEDEP}]
83 + >=media-libs/fontconfig-2.10.2-r1[${MULTILIB_USEDEP}]
84 + media-libs/libpng:0=[${MULTILIB_USEDEP}]
85 >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
86 virtual/jpeg:0[${MULTILIB_USEDEP}]
87 - virtual/libudev[${MULTILIB_USEDEP}]
88 + virtual/libudev:=[${MULTILIB_USEDEP}]
89 >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
90 - >=x11-libs/libXext-1.3.3[${MULTILIB_USEDEP}]
91 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
92 - >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
93 + x11-libs/libX11[${MULTILIB_USEDEP}]
94 + x11-libs/libXrender[${MULTILIB_USEDEP}]
95 gstreamer? (
96 - >=dev-libs/glib-2.42.2:2[${MULTILIB_USEDEP}]
97 - >=media-libs/gstreamer-1.4.5:1.0[${MULTILIB_USEDEP}]
98 - >=media-libs/gst-plugins-base-1.4.5:1.0[${MULTILIB_USEDEP}]
99 + dev-libs/glib:2[${MULTILIB_USEDEP}]
100 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
101 + media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
102 )
103 "
104 DEPEND="${RDEPEND}
105 @@ -51,47 +46,62 @@ DEPEND="${RDEPEND}
106 dev-util/gperf
107 sys-devel/bison
108 sys-devel/flex
109 + virtual/perl-Digest-MD5
110 virtual/perl-File-Spec
111 virtual/perl-Getopt-Long
112 "
113
114 src_prepare() {
115 - # bug 458222
116 + # examples cause a sandbox violation (bug 458222)
117 sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
118 - sed -i -e "/QMAKE_CXXFLAGS_RELEASE/d" Source/WTF/WTF.pro Source/JavaScriptCore/Target.pri || die
119 +
120 + # respect CXXFLAGS
121 + sed -i -e '/QMAKE_CXXFLAGS_RELEASE.*=/d' \
122 + Source/WTF/WTF.pro \
123 + Source/JavaScriptCore/Target.pri || die
124
125 epatch "${FILESDIR}"/${PN}-2.3.4-use-correct-typedef.patch
126 + epatch_user
127 }
128
129 multilib_src_compile() {
130 - # Change the build dir
131 - # Trick stolen from Fedora 21 SRPM
132 - export WEBKITOUTPUTDIR="$PWD"
133 + local -x \
134 + QTDIR=${EPREFIX}/usr/$(get_libdir)/qt4 \
135 + WEBKITOUTPUTDIR=${BUILD_DIR}
136
137 - export QTDIR=/usr/$(get_libdir)/qt4/
138 - export CC=$(tc-getCC)
139 - export CXX=$(tc-getCXX)
140 - # --qmake is needed to force the build system to use the qmake
141 - # compiled for the correct architecture. For example using the amd64
142 - # qmake to compile the x86 qtwebkit will try to link it against
143 - # amd64 qt libs, causing the build to fail
144 - "${S}"/Tools/Scripts/build-webkit \
145 - --qt --release --no-webkit2 \
146 - --qmake=$(qt4_get_bindir)/qmake \
147 - $(use gstreamer || echo --no-video) \
148 - --makeargs="${MAKEOPTS}" \
149 - --qmakearg="CONFIG+=production_build CONFIG+=nostrip DEFINES+=HAVE_QTTESTLIB=0" \
150 - QMAKE_CC=\"$(tc-getCC)\" \
151 - QMAKE_CFLAGS=\"${CFLAGS}\" \
152 - QMAKE_CFLAGS_RELEASE=\"\" \
153 - QMAKE_CXX=\"$(tc-getCXX)\" \
154 - QMAKE_CXXFLAGS=\"${CXXFLAGS}\" \
155 - QMAKE_CXXFLAGS_RELEASE=\"\" \
156 - QMAKE_LINK=\"$(tc-getCXX)\" \
157 - QMAKE_LFLAGS+=\"${LDFLAGS}\" \
158 - || die
159 + local myconf=(
160 + "${S}"/Tools/Scripts/build-webkit
161 + --qt
162 + # tell the build system where to find the qmake binary for the current ABI
163 + --qmake="$(qt4_get_bindir)"/qmake
164 + --qmakearg="CONFIG+=nostrip CONFIG+=production_build DEFINES+=HAVE_QTTESTLIB=0"
165 + --makeargs="${MAKEOPTS}"
166 + --$(usex debug debug release)
167 + --$(usex gstreamer video no-video)
168 + --no-webkit2
169 + # copied from eqmake4
170 + QMAKE_AR="'$(tc-getAR) cqs'"
171 + QMAKE_CC="'$(tc-getCC)'"
172 + QMAKE_CXX="'$(tc-getCXX)'"
173 + QMAKE_LINK="'$(tc-getCXX)'"
174 + QMAKE_LINK_C="'$(tc-getCC)'"
175 + QMAKE_OBJCOPY="'$(tc-getOBJCOPY)'"
176 + QMAKE_RANLIB=
177 + QMAKE_STRIP=
178 + QMAKE_CFLAGS="'${CFLAGS}'"
179 + QMAKE_CFLAGS_RELEASE=
180 + QMAKE_CFLAGS_DEBUG=
181 + QMAKE_CXXFLAGS="'${CXXFLAGS}'"
182 + QMAKE_CXXFLAGS_RELEASE=
183 + QMAKE_CXXFLAGS_DEBUG=
184 + QMAKE_LFLAGS="'${LDFLAGS}'"
185 + QMAKE_LFLAGS_RELEASE=
186 + QMAKE_LFLAGS_DEBUG=
187 + )
188 + echo "${myconf[@]}"
189 + "${myconf[@]}" || die
190 }
191
192 multilib_src_install() {
193 - emake INSTALL_ROOT="${D}" install -C Release
194 + emake INSTALL_ROOT="${D}" install -C $(usex debug Debug Release)
195 }