summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/qt5-webengine/PKGBUILD16
-rw-r--r--libre/qt5-webengine/qtwebengine-opensource-src-5.6.0-beta-no-neon.patch11
-rw-r--r--libre/qt5-webengine/system-ffmpeg.patch67
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