mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-16 14:29:05 -07:00
dev-qt/qtwebkit: Security cleanup
Bug: https://bugs.gentoo.org/665240 Package-Manager: Portage-2.3.49, Repoman-2.3.10
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST qtwebkit-5.212.0_pre20180120.tar.gz 18830192 BLAKE2B a74329c424f5546cbbfda8f398da8547a78661c66e26e8168ba2fc35140070cbd0e826aeadc6b4f1b30ef3f8dc5259a017fb4cb73990b1f03ed541afcab50ec0 SHA512 582b0c5cb10756d88206a9b935a868026f2c2294c6476c0668ad416880b921735efbad32635671daa89792ba9a6d4ff397534df150fe641d984d5784ce0bf047
|
||||
DIST qtwebkit-opensource-src-5.9.1.tar.xz 35300628 BLAKE2B eb64f6345e14698d176958faccf7493073e177ac8c2e25b44f02c09df6b45e4a069e2c86960d9fbe497f7d59099b25d021743437276c1bd6bc8fd0593052faa2 SHA512 79316ab746a230fdb290e28629d7cec5fca75119ba8868060742c682ab86490de9ffd8e517569aa7412f35fd709568dbb5f7d2d467bdb4461e192f8b05d6f1e5
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
Correct header location so system dev-libs/leveldb can be detected.
|
||||
|
||||
--- a/Tools/qmake/config.tests/leveldb/leveldb.cpp
|
||||
+++ b/Tools/qmake/config.tests/leveldb/leveldb.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <leveldb/db.h>
|
||||
#include <leveldb/env.h>
|
||||
-#include <helpers/memenv/memenv.h>
|
||||
+#include <leveldb/helpers/memenv.h>
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
|
||||
--- a/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp
|
||||
+++ b/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <leveldb/comparator.h>
|
||||
#include <leveldb/db.h>
|
||||
#include <leveldb/env.h>
|
||||
-#include <helpers/memenv/memenv.h>
|
||||
+#include <leveldb/helpers/memenv.h>
|
||||
#include <leveldb/slice.h>
|
||||
#include <string>
|
||||
#include <wtf/PassOwnPtr.h>
|
||||
@@ -1,15 +0,0 @@
|
||||
Allow disabling JIT for hardened.
|
||||
|
||||
Author: Magnus Granberg <zorry@gentoo.org>
|
||||
Gentoo-bug: 562396
|
||||
|
||||
--- a/Tools/qmake/mkspecs/features/features.pri
|
||||
+++ b/Tools/qmake/mkspecs/features/features.pri
|
||||
@@ -70,6 +70,7 @@ FEATURE_DEFAULTS = \
|
||||
ENABLE_INPUT_TYPE_WEEK=0 \
|
||||
ENABLE_INSPECTOR=1 \
|
||||
ENABLE_INSPECTOR_SERVER=1 \
|
||||
+ ENABLE_JIT=0 \
|
||||
ENABLE_JAVASCRIPT_DEBUGGER=1 \
|
||||
ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 \
|
||||
ENABLE_LEGACY_NOTIFICATIONS=1 \
|
||||
@@ -1,15 +0,0 @@
|
||||
--- a/Tools/qmake/mkspecs/features/features.prf
|
||||
+++ b/Tools/qmake/mkspecs/features/features.prf
|
||||
@@ -101,12 +101,6 @@ defineTest(detectFeatures) {
|
||||
|
||||
# HTML5 Media Support for builds with GStreamer
|
||||
unix:!mac:qtConfig(pkg-config) {
|
||||
- packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") {
|
||||
- WEBKIT_CONFIG += video use_gstreamer
|
||||
- } else: packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") {
|
||||
- WEBKIT_CONFIG += video use_gstreamer use_gstreamer010
|
||||
- }
|
||||
- use?(gstreamer): WEBKIT_CONFIG += use_native_fullscreen_video
|
||||
}
|
||||
|
||||
!enable?(video):qtHaveModule(multimediawidgets) {
|
||||
@@ -14,7 +14,6 @@
|
||||
<flag name="orientation">Enable device orientation detection via <pkg>dev-qt/qtsensors</pkg></flag>
|
||||
<flag name="printsupport">Enable printing via <pkg>dev-qt/qtprintsupport</pkg></flag>
|
||||
<flag name="qml">Build QML/QtQuick bindings</flag>
|
||||
<flag name="webchannel">Enable integration with <pkg>dev-qt/qtwebchannel</pkg></flag>
|
||||
<flag name="webp">Add support for WebP image format</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
QT_MIN_VER="5.9.1:5"
|
||||
inherit python-any-r1 qt5-build
|
||||
|
||||
DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"
|
||||
|
||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86"
|
||||
fi
|
||||
|
||||
# TODO: qttestlib
|
||||
|
||||
IUSE="geolocation gstreamer gles2 +jit multimedia opengl orientation printsupport qml test webchannel webp"
|
||||
REQUIRED_USE="?? ( gstreamer multimedia )"
|
||||
|
||||
RDEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-libs/icu:=
|
||||
>=dev-libs/leveldb-1.18-r1:=
|
||||
dev-libs/libxml2:2
|
||||
dev-libs/libxslt
|
||||
>=dev-qt/qtcore-${QT_MIN_VER}[icu]
|
||||
>=dev-qt/qtgui-${QT_MIN_VER}
|
||||
>=dev-qt/qtnetwork-${QT_MIN_VER}
|
||||
>=dev-qt/qtsql-${QT_MIN_VER}
|
||||
>=dev-qt/qtwidgets-${QT_MIN_VER}
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/libpng:0=
|
||||
>=sys-libs/zlib-1.2.5
|
||||
virtual/jpeg:0
|
||||
virtual/opengl
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXrender
|
||||
geolocation? ( >=dev-qt/qtpositioning-${QT_MIN_VER} )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
multimedia? ( >=dev-qt/qtmultimedia-${QT_MIN_VER}[widgets] )
|
||||
opengl? (
|
||||
>=dev-qt/qtgui-${QT_MIN_VER}[gles2=]
|
||||
>=dev-qt/qtopengl-${QT_MIN_VER}
|
||||
)
|
||||
orientation? ( >=dev-qt/qtsensors-${QT_MIN_VER} )
|
||||
printsupport? ( >=dev-qt/qtprintsupport-${QT_MIN_VER} )
|
||||
qml? ( >=dev-qt/qtdeclarative-${QT_MIN_VER} )
|
||||
webchannel? ( >=dev-qt/qtwebchannel-${QT_MIN_VER} )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/ruby
|
||||
dev-util/gperf
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/rubygems
|
||||
test? ( >=dev-qt/qttest-${QT_MIN_VER} )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# ensure bundled library cannot be used
|
||||
rm -r Source/ThirdParty/leveldb || die
|
||||
|
||||
# force using system library
|
||||
sed -i -e 's/qtConfig(system-jpeg)/true/' \
|
||||
-e 's/qtConfig(system-png)/true/' \
|
||||
Tools/qmake/mkspecs/features/features.prf || die
|
||||
|
||||
# bug 466216
|
||||
sed -i -e '/CONFIG +=/s/rpath//' \
|
||||
Source/WebKit/qt/declarative/{experimental/experimental,public}.pri \
|
||||
Tools/qmake/mkspecs/features/{force_static_libs_as_shared,unix/default_post}.prf \
|
||||
|| die
|
||||
|
||||
qt_use_disable_config opengl opengl Tools/qmake/mkspecs/features/features.prf
|
||||
|
||||
qt_use_disable_mod geolocation positioning Tools/qmake/mkspecs/features/features.prf
|
||||
qt_use_disable_mod multimedia multimediawidgets Tools/qmake/mkspecs/features/features.prf
|
||||
qt_use_disable_mod orientation sensors Tools/qmake/mkspecs/features/features.prf
|
||||
qt_use_disable_mod printsupport printsupport Tools/qmake/mkspecs/features/features.prf
|
||||
qt_use_disable_mod qml quick Tools/qmake/mkspecs/features/features.prf
|
||||
qt_use_disable_mod webchannel webchannel \
|
||||
Source/WebKit2/Target.pri \
|
||||
Source/WebKit2/WebKit2.pri
|
||||
|
||||
if ! use gstreamer; then
|
||||
PATCHES+=("${FILESDIR}/${PN}-5.8.0-disable-gstreamer.patch")
|
||||
fi
|
||||
|
||||
# bug 562396
|
||||
use jit || PATCHES+=("${FILESDIR}/${PN}-5.5.1-disable-jit.patch")
|
||||
|
||||
use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
|
||||
Tools/qmake/mkspecs/features/features.prf || die
|
||||
|
||||
# bug 458222
|
||||
sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
|
||||
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt5-build_src_install
|
||||
|
||||
# bug 572056
|
||||
if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebKit.so ]]; then
|
||||
eerror "${CATEGORY}/${PF} could not build due to a broken ruby environment."
|
||||
die 'Check "eselect ruby" and ensure you have a working ruby in your $PATH'
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user