diff options
-rw-r--r-- | libre/qt5-webengine/PKGBUILD | 16 | ||||
-rw-r--r-- | libre/qt5-webengine/qtwebengine-opensource-src-5.6.0-beta-no-neon.patch | 11 | ||||
-rw-r--r-- | libre/qt5-webengine/system-ffmpeg.patch | 67 |
3 files changed, 91 insertions, 3 deletions
diff --git a/libre/qt5-webengine/PKGBUILD b/libre/qt5-webengine/PKGBUILD index 282bf7e5f..4ff51ae96 100644 --- a/libre/qt5-webengine/PKGBUILD +++ b/libre/qt5-webengine/PKGBUILD @@ -3,12 +3,13 @@ # Contributor (Arch): Andrea Scarpino <andrea@archlinux.org> # Maintainer: André Silva <emulatorman@parabola.nu> # Contributor: Luke R. <g4jc@openmailbox.org> +# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info> pkgname=qt5-webengine _qtver=5.7.1 pkgver=${_qtver/-/} pkgrel=2.parabola1 -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'armv7h') url='http://qt-project.org/' license=('LGPL3' 'LGPL2.1' 'BSD') pkgdesc='Provides support for web applications using the Chromium browser project, without nonfree codecs' @@ -18,11 +19,15 @@ makedepends=('python2' 'git' 'gperf' 'jsoncpp') groups=('qt' 'qt5') _pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}" source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch - qtwebengine-5.7.0-icu58.patch) + qtwebengine-5.7.0-icu58.patch + qtwebengine-opensource-src-5.6.0-beta-no-neon.patch + system-ffmpeg.patch) md5sums=('c90fba515fb33c091904fe2cadbb345a' '2a1610b34204102938a24154a52e5571' - 'c2ffb0073e6f67a0a77a8fe39f9e9859') + 'c2ffb0073e6f67a0a77a8fe39f9e9859' + '123d4d0d7db7473649ff2b5650330cc4' + '9f79b14f7c5ff603c1fcd87f37a8904f') prepare() { mkdir -p build @@ -37,6 +42,11 @@ prepare() { # Fix build with ICU 58 (gentoo) patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch + + if [[ $CARCH == "armv7h" ]]; then + patch -p0 -i ../qtwebengine-opensource-src-5.6.0-beta-no-neon.patch + patch -p1 -i ../system-ffmpeg.patch + fi } build() { diff --git a/libre/qt5-webengine/qtwebengine-opensource-src-5.6.0-beta-no-neon.patch b/libre/qt5-webengine/qtwebengine-opensource-src-5.6.0-beta-no-neon.patch new file mode 100644 index 000000000..f4eda4bdc --- /dev/null +++ b/libre/qt5-webengine/qtwebengine-opensource-src-5.6.0-beta-no-neon.patch @@ -0,0 +1,11 @@ +--- src/core/gyp_run.pro.orig 2016-12-17 09:08:25.447058042 -0700 ++++ src/core/gyp_run.pro 2016-12-17 09:11:34.499737847 -0700 +@@ -80,7 +80,7 @@ + # we use arm_neon_optional for ARMv7 and newer and let chromium decide + # about the mfpu option. + contains(MFPU, ".*neon.*"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1 +- else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1 ++ # else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1 + else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0 + } else { + # Chromium defaults to arm_neon=1, Qt does not. diff --git a/libre/qt5-webengine/system-ffmpeg.patch b/libre/qt5-webengine/system-ffmpeg.patch new file mode 100644 index 000000000..a2ff5748d --- /dev/null +++ b/libre/qt5-webengine/system-ffmpeg.patch @@ -0,0 +1,67 @@ +diff --git a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h +index 11659fb..e943b16 100644 +--- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h ++++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h +@@ -21,10 +21,6 @@ + + // Include FFmpeg header files. + extern "C" { +-// Disable deprecated features which result in spammy compile warnings. This +-// list of defines must mirror those in the 'defines' section of BUILD.gn file & +-// ffmpeg.gyp file or the headers below will generate different structures! +-#define FF_API_CONVERGENCE_DURATION 0 + // Upstream libavcodec/utils.c still uses the deprecated + // av_dup_packet(), causing deprecation warnings. + // The normal fix for such things is to disable the feature as below, +@@ -39,7 +35,6 @@ MSVC_PUSH_DISABLE_WARNING(4244); + #include <libavcodec/avcodec.h> + #include <libavformat/avformat.h> + #if !defined(USE_SYSTEM_FFMPEG) +-#include <libavformat/internal.h> + #endif + #include <libavformat/avio.h> + #include <libavutil/avutil.h> +diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc +index 237c938..2b6cd3e 100644 +--- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc ++++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc +@@ -1036,24 +1036,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, + std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams, + kInfiniteDuration()); + #if !defined(USE_SYSTEM_FFMPEG) +- const AVFormatInternal* internal = format_context->internal; +- if (internal && internal->packet_buffer && +- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) { +- struct AVPacketList* packet_buffer = internal->packet_buffer; +- while (packet_buffer != internal->packet_buffer_end) { +- DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index), +- start_time_estimates.size()); +- const AVStream* stream = +- format_context->streams[packet_buffer->pkt.stream_index]; +- if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) { +- const base::TimeDelta packet_pts = +- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); +- if (packet_pts < start_time_estimates[stream->index]) +- start_time_estimates[stream->index] = packet_pts; +- } +- packet_buffer = packet_buffer->next; +- } +- } + #endif + + AVStream* audio_stream = NULL; +diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri +index 8854a4b..9af24c5 100644 +--- a/src/core/config/linux.pri ++++ b/src/core/config/linux.pri +@@ -21,6 +21,10 @@ GYP_CONFIG += \ + use_pango=0 \ + use_openssl=1 + ++GYP_CONFIG += \ ++ enable_webrtc=0 \ ++ use_system_ffmpeg=1 ++ + use?(nss) { + GYP_CONFIG += use_nss_certs=1 \ + use_openssl_certs=0 |