summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-25 22:33:40 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-25 22:33:40 +0300
commit1cee6ac6b3c5576b11097a02dc578d9fcc2b47ed (patch)
tree9afeb475471481a04926520a145280dc241f40fc
parent999a28a087707950a11595d31b03f29afbc4a9ef (diff)
qtwebengine, qtnetwork 5.10.x ebuilds with libressl patches
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.10-libressl.patch42
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild4
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.10.9999-r1.ebuild (renamed from dev-qt/qtwebengine/qtwebengine-5.9.9999-r1.ebuild)8
-rw-r--r--eclass/qt5-build.eclass36
4 files changed, 74 insertions, 16 deletions
diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.10-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.10-libressl.patch
new file mode 100644
index 0000000..3a1f80a
--- /dev/null
+++ b/dev-qt/qtnetwork/files/qtnetwork-5.10-libressl.patch
@@ -0,0 +1,42 @@
+--- a/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:40.963385070 -0500
++++ b/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:51.755255545 -0500
+@@ -39,7 +39,7 @@
+
+ #include <openssl/opensslv.h>
+
+-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ # error "OpenSSL >= 1.1 is required"
+ #endif
+
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h 2017-11-06 00:02:18.919611226 -0500
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h 2017-11-06 00:09:46.879756111 -0500
+@@ -232,7 +232,7 @@
+ int q_BIO_read(BIO *a, void *b, int c);
+ Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
+ int q_BN_num_bits(const BIGNUM *a);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if QT_CONFIG(opensslv11)
+ int q_BN_is_word(BIGNUM *a, BN_ULONG w);
+ #else
+ // BN_is_word is implemented purely as a
+@@ -245,7 +245,7 @@
+ //
+ // Users are required to include <openssl/bn.h>.
+ #define q_BN_is_word BN_is_word
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10100000L
++#endif // QT_CONFIG
+ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w);
+ #ifndef OPENSSL_NO_EC
+ const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k);
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp 2017-11-06 00:04:58.843877923 -0500
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp 2017-11-06 00:06:12.985074360 -0500
+@@ -1017,7 +1017,7 @@
+ RESOLVEFUNC(EC_GROUP_get_degree)
+ #endif
+ RESOLVEFUNC(BN_num_bits)
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if QT_CONFIG(opensslv11)
+ RESOLVEFUNC(BN_is_word)
+ #endif
+ RESOLVEFUNC(BN_mod_word)
diff --git a/dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild b/dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild
index 24105c2..264a801 100644
--- a/dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild
+++ b/dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild
@@ -38,6 +38,10 @@ QT5_GENTOO_CONFIG=(
ssl:openssl-linked:LINKED_OPENSSL
)
+PATCHES=(
+ "${FILESDIR}/qtnetwork-5.10-libressl.patch"
+)
+
pkg_setup() {
use connman && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/connman)
use networkmanager && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/networkmanager)
diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.9999-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.10.9999-r1.ebuild
index cd913e8..d515498 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.9999-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.10.9999-r1.ebuild
@@ -8,13 +8,13 @@ inherit multiprocessing pax-utils python-any-r1 qt5-build
DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
IUSE="alsa bindist geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
RDEPEND="
- app-arch/snappy
+ app-arch/snappy:=
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
@@ -22,6 +22,7 @@ RDEPEND="
~dev-qt/qtdeclarative-${PV}
~dev-qt/qtgui-${PV}
~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qtprintsupport-${PV}
~dev-qt/qtwebchannel-${PV}[qml]
dev-libs/expat
dev-libs/libevent:=
@@ -78,6 +79,9 @@ src_prepare() {
"${FILESDIR}/build_fix2.patch"
)
+ # bug 620444 - ensure local headers are used
+ find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die
+
qt_use_disable_config alsa alsa src/core/config/linux.pri
qt_use_disable_config pulseaudio pulseaudio src/core/config/linux.pri
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 7ec6cac..13eb968 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -69,7 +69,7 @@ case ${PV} in
QT5_BUILD_TYPE="live"
EGIT_BRANCH="dev"
;;
- 5.?.9999)
+ 5.?.9999|5.??.9999|5.???.9999|5.??.9999-r?)
# git stable branch
QT5_BUILD_TYPE="live"
EGIT_BRANCH=${PV%.9999}
@@ -92,9 +92,8 @@ esac
readonly QT5_BUILD_TYPE
EGIT_REPO_URI=(
- "git://code.qt.io/qt/${QT5_MODULE}.git"
- "https://code.qt.io/git/qt/${QT5_MODULE}.git"
- "https://github.com/qtproject/${QT5_MODULE}.git"
+ "https://code.qt.io/qt/${QT5_MODULE}.git"
+ "https://github.com/qt/${QT5_MODULE}.git"
)
[[ ${QT5_BUILD_TYPE} == live ]] && inherit git-r3
@@ -115,7 +114,7 @@ DEPEND="
dev-lang/perl
virtual/pkgconfig
"
-if [[ ${PN} != qttest ]]; then
+if [[ (${PN} != qttest && ${PN} != qtwebkit) || (${PN} == qtwebkit && ${QT5_MINOR_VERSION} -lt 9) ]]; then
DEPEND+=" test? ( ~dev-qt/qttest-${PV} )"
fi
RDEPEND="
@@ -194,9 +193,11 @@ qt5-build_src_prepare() {
sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \
configure || die "sed failed (QMAKE_CONF_COMPILER)"
- # Respect toolchain and flags in config.tests
- find config.tests/unix -name '*.test' -type f -execdir \
- sed -i -e 's/-nocache //' '{}' + || die
+ if [[ ${QT5_MINOR_VERSION} -le 7 ]]; then
+ # Respect toolchain and flags in config.tests
+ find config.tests/unix -name '*.test' -type f -execdir \
+ sed -i -e 's/-nocache //' '{}' + || die
+ fi
# Don't inject -msse/-mavx/... into CXXFLAGS when detecting
# compiler support for extended instruction sets (bug 552942)
@@ -518,6 +519,11 @@ qt5_base_configure() {
tc-export AR CC CXX OBJDUMP RANLIB STRIP
export LD="$(tc-getCXX)"
+ # bug 633838
+ if [[ ${QT5_MINOR_VERSION} -ge 9 ]]; then
+ unset QMAKESPEC XQMAKESPEC QMAKEPATH QMAKEFEATURES
+ fi
+
# configure arguments
local conf=(
# installation paths
@@ -616,12 +622,7 @@ qt5_base_configure() {
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -iconv)
# disable everything to prevent automagic deps (part 3)
- -no-cups -no-evdev -no-tslib -no-icu -no-fontconfig
-
- # FIXME
- # since 5.8, disabling dbus generates a QT_NO_DBUS in QtCore/qconfig.h,
- # thus specify runtime loading of libdbus to avoid the #define
- $([[ ${QT5_MINOR_VERSION} -ge 8 ]] && echo -dbus-runtime || echo -no-dbus)
+ -no-cups -no-evdev -no-tslib -no-icu -no-fontconfig -no-dbus
# let portage handle stripping
-no-strip
@@ -684,7 +685,14 @@ qt5_base_configure() {
einfo "Configuring with: ${conf[@]}"
"${S}"/configure "${conf[@]}" || die "configure failed"
+ if [[ ${QT5_MINOR_VERSION} -ge 8 ]]; then
+ # a forwarding header is no longer created since 5.8, causing the system
+ # config to always be used. bug 599636
+ cp src/corelib/global/qconfig.h include/QtCore/ || die
+ fi
+
popd >/dev/null || die
+
}
# @FUNCTION: qt5_qmake