diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2017-11-25 22:33:40 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2017-11-25 22:33:40 +0300 |
commit | 1cee6ac6b3c5576b11097a02dc578d9fcc2b47ed (patch) | |
tree | 9afeb475471481a04926520a145280dc241f40fc | |
parent | 999a28a087707950a11595d31b03f29afbc4a9ef (diff) |
qtwebengine, qtnetwork 5.10.x ebuilds with libressl patches
-rw-r--r-- | dev-qt/qtnetwork/files/qtnetwork-5.10-libressl.patch | 42 | ||||
-rw-r--r-- | dev-qt/qtnetwork/qtnetwork-5.10.9999-r1.ebuild | 4 | ||||
-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.eclass | 36 |
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 |