-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
wpewebkit: add recipe to fetch from upstream trunk
Use it with the following line on local.conf: PREFERRED_VERSION_wpewebkit = "0.r%" Signed-off-by: Carlos Alberto Lopez Perez <[email protected]>
- Loading branch information
Showing
2 changed files
with
375 additions
and
0 deletions.
There are no files selected for viewing
183 changes: 183 additions & 0 deletions
183
...es-browser/wpewebkit/wpewebkit/Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
From e7d59b1bfdf68e2f53a2a8f45eec0ef8eb6e2b95 Mon Sep 17 00:00:00 2001 | ||
From: Carlos Alberto Lopez Perez <[email protected]> | ||
Date: Tue, 26 Sep 2017 15:22:30 +0200 | ||
Subject: [PATCH] Revert "[GTK][WPE][GSTREAMER_GL] Change the colorspace used | ||
by the video frames provided by GStreamer" | ||
|
||
This reverts commit fed922529570b7cc64c52e6ecb74651fa9e5b266. | ||
--- | ||
.../gstreamer/MediaPlayerPrivateGStreamerBase.cpp | 18 ++++-------------- | ||
.../gstreamer/VideoTextureCopierGStreamer.cpp | 19 ++----------------- | ||
.../graphics/gstreamer/VideoTextureCopierGStreamer.h | 9 +-------- | ||
.../platform/graphics/texmap/TextureMapperGL.cpp | 2 -- | ||
.../platform/graphics/texmap/TextureMapperGL.h | 3 +-- | ||
5 files changed, 8 insertions(+), 43 deletions(-) | ||
|
||
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp | ||
index 46c89308853..7531253ed62 100644 | ||
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp | ||
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp | ||
@@ -55,16 +55,6 @@ | ||
#endif | ||
|
||
#if USE(GSTREAMER_GL) | ||
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN | ||
-#define GST_GL_CAPS_FORMAT "{ BGRx, BGRA }" | ||
-#define TEXTURE_MAPPER_COLOR_CONVERT_FLAG TextureMapperGL::ShouldConvertTextureBGRAToRGBA | ||
-#define TEXTURE_COPIER_COLOR_CONVERT_FLAG VideoTextureCopierGStreamer::ColorConversion::ConvertBGRAToRGBA | ||
-#else | ||
-#define GST_GL_CAPS_FORMAT "{ xRGB, ARGB }" | ||
-#define TEXTURE_MAPPER_COLOR_CONVERT_FLAG TextureMapperGL::ShouldConvertTextureARGBToRGBA | ||
-#define TEXTURE_COPIER_COLOR_CONVERT_FLAG VideoTextureCopierGStreamer::ColorConversion::ConvertARGBToRGBA | ||
-#endif | ||
- | ||
#include <gst/app/gstappsink.h> | ||
|
||
#if USE(LIBEPOXY) | ||
@@ -193,7 +183,7 @@ public: | ||
return; | ||
|
||
m_size = IntSize(GST_VIDEO_INFO_WIDTH(&videoInfo), GST_VIDEO_INFO_HEIGHT(&videoInfo)); | ||
- m_flags = flags | (GST_VIDEO_INFO_HAS_ALPHA(&videoInfo) ? TextureMapperGL::ShouldBlend : 0) | TEXTURE_MAPPER_COLOR_CONVERT_FLAG; | ||
+ m_flags = flags | (GST_VIDEO_INFO_HAS_ALPHA(&videoInfo) ? TextureMapperGL::ShouldBlend : 0); | ||
|
||
GstBuffer* buffer = gst_sample_get_buffer(sample); | ||
if (UNLIKELY(!gst_video_frame_map(&m_videoFrame, &videoInfo, buffer, static_cast<GstMapFlags>(GST_MAP_READ | GST_MAP_GL)))) | ||
@@ -887,7 +877,7 @@ bool MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture(Graphics | ||
unsigned textureID = *reinterpret_cast<unsigned*>(videoFrame.data[0]); | ||
|
||
if (!m_videoTextureCopier) | ||
- m_videoTextureCopier = std::make_unique<VideoTextureCopierGStreamer>(TEXTURE_COPIER_COLOR_CONVERT_FLAG); | ||
+ m_videoTextureCopier = std::make_unique<VideoTextureCopierGStreamer>(); | ||
|
||
bool copied = m_videoTextureCopier->copyVideoTextureToPlatformTexture(textureID, size, outputTexture, outputTarget, level, internalFormat, format, type, flipY, m_videoSourceOrientation); | ||
|
||
@@ -921,7 +911,7 @@ NativeImagePtr MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime() | ||
context->makeContextCurrent(); | ||
|
||
if (!m_videoTextureCopier) | ||
- m_videoTextureCopier = std::make_unique<VideoTextureCopierGStreamer>(TEXTURE_COPIER_COLOR_CONVERT_FLAG); | ||
+ m_videoTextureCopier = std::make_unique<VideoTextureCopierGStreamer>(); | ||
|
||
unsigned textureID = *reinterpret_cast<unsigned*>(videoFrame.data[0]); | ||
bool copied = m_videoTextureCopier->copyVideoTextureToPlatformTexture(textureID, size, 0, GraphicsContext3D::TEXTURE_2D, 0, GraphicsContext3D::RGBA, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, false, m_videoSourceOrientation); | ||
@@ -1024,7 +1014,7 @@ GstElement* MediaPlayerPrivateGStreamerBase::createVideoSinkGL() | ||
|
||
gst_bin_add_many(GST_BIN(videoSink), upload, colorconvert, appsink, nullptr); | ||
|
||
- GRefPtr<GstCaps> caps = adoptGRef(gst_caps_from_string("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), format = (string) " GST_GL_CAPS_FORMAT)); | ||
+ GRefPtr<GstCaps> caps = adoptGRef(gst_caps_from_string("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), format = (string) { RGBA }")); | ||
|
||
result &= gst_element_link_pads(upload, "src", colorconvert, "sink"); | ||
result &= gst_element_link_pads_filtered(colorconvert, "src", appsink, "sink", caps.get()); | ||
diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp | ||
index c78b2d635de..dce5a4b0af9 100644 | ||
--- a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp | ||
+++ b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp | ||
@@ -32,7 +32,7 @@ | ||
|
||
namespace WebCore { | ||
|
||
-VideoTextureCopierGStreamer::VideoTextureCopierGStreamer(ColorConversion colorConversion) | ||
+VideoTextureCopierGStreamer::VideoTextureCopierGStreamer() | ||
{ | ||
GLContext* previousContext = GLContext::current(); | ||
ASSERT(previousContext); | ||
@@ -52,7 +52,6 @@ VideoTextureCopierGStreamer::VideoTextureCopierGStreamer(ColorConversion colorCo | ||
glBindBuffer(GL_ARRAY_BUFFER, m_vbo); | ||
glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 8, vertices, GL_STATIC_DRAW); | ||
|
||
- updateColorConversionMatrix(colorConversion); | ||
updateTextureSpaceMatrix(); | ||
|
||
previousContext->makeContextCurrent(); | ||
@@ -72,20 +71,6 @@ VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer() | ||
previousContext->makeContextCurrent(); | ||
} | ||
|
||
-void VideoTextureCopierGStreamer::updateColorConversionMatrix(ColorConversion colorConversion) | ||
-{ | ||
- switch (colorConversion) { | ||
- case ColorConversion::ConvertBGRAToRGBA: | ||
- m_colorConversionMatrix.setMatrix(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0); | ||
- break; | ||
- case ColorConversion::ConvertARGBToRGBA: | ||
- m_colorConversionMatrix.setMatrix(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0); | ||
- break; | ||
- default: | ||
- RELEASE_ASSERT_NOT_REACHED(); | ||
- } | ||
-} | ||
- | ||
void VideoTextureCopierGStreamer::updateTextureSpaceMatrix() | ||
{ | ||
m_textureSpaceMatrix.makeIdentity(); | ||
@@ -190,7 +175,7 @@ bool VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture(GLuint input | ||
m_shaderProgram->setMatrix(m_shaderProgram->modelViewMatrixLocation(), m_modelViewMatrix); | ||
m_shaderProgram->setMatrix(m_shaderProgram->projectionMatrixLocation(), m_projectionMatrix); | ||
m_shaderProgram->setMatrix(m_shaderProgram->textureSpaceMatrixLocation(), m_textureSpaceMatrix); | ||
- m_shaderProgram->setMatrix(m_shaderProgram->textureColorSpaceMatrixLocation(), m_colorConversionMatrix); | ||
+ m_shaderProgram->setMatrix(m_shaderProgram->textureColorSpaceMatrixLocation(), TransformationMatrix()); | ||
|
||
// Perform the copy. | ||
glEnableVertexAttribArray(m_shaderProgram->vertexLocation()); | ||
diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h | ||
index 218977ca014..9971f2de593 100644 | ||
--- a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h | ||
+++ b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h | ||
@@ -34,16 +34,10 @@ class ImageOrientation; | ||
|
||
class VideoTextureCopierGStreamer { | ||
public: | ||
- enum class ColorConversion { | ||
- ConvertBGRAToRGBA, | ||
- ConvertARGBToRGBA | ||
- }; | ||
- | ||
- VideoTextureCopierGStreamer(ColorConversion); | ||
+ VideoTextureCopierGStreamer(); | ||
~VideoTextureCopierGStreamer(); | ||
|
||
bool copyVideoTextureToPlatformTexture(GLuint inputTexture, IntSize& frameSize, GLuint outputTexture, GLenum outputTarget, GLint level, GLenum internalFormat, GLenum format, GLenum type, bool flipY, ImageOrientation& sourceOrientation); | ||
- void updateColorConversionMatrix(ColorConversion); | ||
void updateTextureSpaceMatrix(); | ||
void updateTransformationMatrix(); | ||
GLuint resultTexture() { return m_resultTexture; } | ||
@@ -58,7 +52,6 @@ private: | ||
TransformationMatrix m_modelViewMatrix; | ||
TransformationMatrix m_projectionMatrix; | ||
TransformationMatrix m_textureSpaceMatrix; | ||
- TransformationMatrix m_colorConversionMatrix; | ||
GLuint m_resultTexture { 0 }; | ||
}; | ||
|
||
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp | ||
index 15ed70a5b6b..908aa3d6f0d 100644 | ||
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp | ||
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp | ||
@@ -418,8 +418,6 @@ static TransformationMatrix colorSpaceMatrixForFlags(TextureMapperGL::Flags flag | ||
TransformationMatrix matrix; | ||
if (flags & TextureMapperGL::ShouldConvertTextureBGRAToRGBA) | ||
matrix.setMatrix(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0); | ||
- else if (flags & TextureMapperGL::ShouldConvertTextureARGBToRGBA) | ||
- matrix.setMatrix(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0); | ||
|
||
return matrix; | ||
} | ||
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h | ||
index 1c889965608..55da5faad47 100644 | ||
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h | ||
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h | ||
@@ -51,8 +51,7 @@ public: | ||
ShouldRotateTexture90 = 0x10, | ||
ShouldRotateTexture180 = 0x20, | ||
ShouldRotateTexture270 = 0x40, | ||
- ShouldConvertTextureBGRAToRGBA = 0x80, | ||
- ShouldConvertTextureARGBToRGBA = 0x100 | ||
+ ShouldConvertTextureBGRAToRGBA = 0x80 | ||
}; | ||
|
||
typedef int Flags; | ||
-- | ||
2.11.0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
SUMMARY = "WPE WebKit port pairs the WebKit engine with the Wayland display protocol, \ | ||
allowing embedders to create simple and performant systems based on Web platform technologies. \ | ||
It is designed with hardware acceleration in mind, relying on EGL, the Wayland EGL platform, and OpenGL ES." | ||
HOMEPAGE = "http://www.webkitforwayland.org/" | ||
LICENSE = "BSD & LGPLv2+" | ||
LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 " | ||
|
||
DEPENDS += " \ | ||
wpebackend \ | ||
bison-native gperf-native harfbuzz-native libxml2-native ruby-native ninja-native chrpath-replacement-native \ | ||
cairo fontconfig freetype glib-2.0 gnutls harfbuzz icu jpeg pcre sqlite3 zlib \ | ||
libpng libsoup-2.4 libwebp libxml2 libxslt \ | ||
virtual/egl virtual/libgles2 libepoxy \ | ||
" | ||
|
||
SVNREV ?= "226305" | ||
|
||
SRC_URI = " \ | ||
svn://svn.webkit.org/repository/webkit;module=trunk;rev=${SVNREV};protocol=https \ | ||
file://Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch \ | ||
" | ||
|
||
S = "${WORKDIR}/trunk" | ||
PV = "0.r${SVNREV}" | ||
|
||
|
||
inherit cmake pkgconfig perlnative pythonnative | ||
|
||
TOOLCHAIN = "gcc" | ||
|
||
|
||
PACKAGECONFIG ?= "deviceorientation fetchapi gamepad indexeddb libinput logs mediasource notifications sampling-profiler shadowdom subtitle udev video webaudio wayland touch gst_gl" | ||
|
||
# Mesa only offscreen target support for Westeros backend | ||
# FIXME Needs to be moved to mesa backend | ||
PACKAGECONFIG[westeros-mesa] = "-DUSE_WPEWEBKIT_BACKEND_WESTEROS_MESA=ON,," | ||
|
||
# WPE Platform specific switches | ||
PACKAGECONFIG[intelce] = "-DUSE_WPEWEBKIT_PLATFORM_INTEL_CE=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON,," | ||
PACKAGECONFIG[nexus] = "-DUSE_WPEWEBKIT_PLATFORM_BCM_NEXUS=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON,," | ||
PACKAGECONFIG[westeros] = "-DUSE_WPEWEBKIT_PLATFORM_WESTEROS=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON -DUSE_WESTEROS_SINK=ON,,westeros" | ||
|
||
PACKAGECONFIG[wayland] = "-DUSE_WPEWEBKIT_BACKEND_WAYLAND_EGL=ON,," | ||
|
||
# WPE features | ||
PACKAGECONFIG[2dcanvas] = "-DENABLE_ACCELERATED_2D_CANVAS=ON,-DENABLE_ACCELERATED_2D_CANVAS=OFF," | ||
PACKAGECONFIG[deviceorientation] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF," | ||
PACKAGECONFIG[encryptedmedia] = "-DENABLE_LEGACY_ENCRYPTED_MEDIA=ON,-DENABLE_LEGACY_ENCRYPTED_MEDIA=OFF,libgcrypt" | ||
PACKAGECONFIG[encryptedmediav1] = "-DENABLE_LEGACY_ENCRYPTED_MEDIA_V1=ON,-DENABLE_LEGACY_ENCRYPTED_MEDIA_V1=OFF,libgcrypt" | ||
PACKAGECONFIG[fetchapi] = "-DENABLE_FETCH_API=ON,-DENABLE_FETCH_API=OFF," | ||
PACKAGECONFIG[fusion] = "-DUSE_FUSION_API_GSTREAMER=ON,-DUSE_FUSION_API_GSTREAMER=OFF," | ||
PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF," | ||
PACKAGECONFIG[geolocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" | ||
PACKAGECONFIG[indexeddb] = "-DENABLE_DATABASE_PROCESS=ON -DENABLE_INDEXED_DATABASE=ON,-DENABLE_DATABASE_PROCESS=OFF -DENABLE_INDEXED_DATABASE=OFF," | ||
PACKAGECONFIG[libinput] = "-DUSE_WPEWEBKIT_INPUT_LIBINPUT=ON,-DUSE_WPEWEBKIT_INPUT_LIBINPUT=OFF,libinput" | ||
PACKAGECONFIG[logs] = "-DLOG_DISABLED=OFF,-DLOG_DISABLED=ON," | ||
PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good" | ||
PACKAGECONFIG[mediastream] = "-DENABLE_MEDIA_STREAM=ON,-DENABLE_MEDIA_STREAM=OFF,openwebrtc" | ||
PACKAGECONFIG[nativevideo] = "-DENABLE_NATIVE_VIDEO=ON,-DENABLE_NATIVE_VIDEO=OFF," | ||
PACKAGECONFIG[notifications] = "-DENABLE_NOTIFICATIONS=ON,-DENABLE_NOTIFICATIONS=OFF," | ||
PACKAGECONFIG[sampling-profiler] = "-DENABLE_SAMPLING_PROFILER=ON,-DENABLE_SAMPLING_PROFILER=OFF," | ||
PACKAGECONFIG[shadowdom] = "-DENABLE_SHADOW_DOM=ON,-DENABLE_SHADOW_DOM=OFF," | ||
PACKAGECONFIG[subtitle] = "-DENABLE_TEXT_SINK=ON,-DENABLE_TEXT_SINK=OFF," | ||
PACKAGECONFIG[touch] = "-DENABLE_TOUCH_EVENTS=ON,-DENABLE_TOUCH_EVENTS=OFF," | ||
PACKAGECONFIG[udev] = "-DUSE_WPEWEBKIT_INPUT_UDEV=ON,-DUSE_WPEWEBKIT_INPUT_UDEV=OFF,udev" | ||
PACKAGECONFIG[video] = "-DENABLE_VIDEO=ON -DENABLE_VIDEO_TRACK=ON,-DENABLE_VIDEO=OFF -DENABLE_VIDEO_TRACK=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" | ||
PACKAGECONFIG[webaudio] = "-DENABLE_WEB_AUDIO=ON,-DENABLE_WEB_AUDIO=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good" | ||
PACKAGECONFIG[webcrypto] = "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1" | ||
|
||
# DRM | ||
PACKAGECONFIG[opencdm] = "-DENABLE_OCDM=ON,-DENABLE_OCDM=OFF,opencdm" | ||
PACKAGECONFIG[playready] = "-DENABLE_PLAYREADY=ON,-DENABLE_PLAYREADY=OFF,playready" | ||
PACKAGECONFIG[provisioning] = "-DENABLE_PROVISIONING=ON,-DENABLE_PROVISIONING=OFF,libprovision,libprovision" | ||
|
||
# GStreamer | ||
PACKAGECONFIG[gst_gl] = "-DUSE_GSTREAMER_GL=ON,," | ||
PACKAGECONFIG[gst_httpsrc] = "-DUSE_GSTREAMER_WEBKIT_HTTP_SRC=ON,," | ||
PACKAGECONFIG[gst_holepunch] = "-DUSE_HOLE_PUNCH_GSTREAMER=ON,," | ||
|
||
EXTRA_OECMAKE += " \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_SHARED_LIBS=ON -DPORT=WPE \ | ||
-DEXPORT_DEPRECATED_WEBKIT2_C_API=ON \ | ||
-G Ninja \ | ||
" | ||
EXTRANATIVEPATH += "chrpath-native" | ||
|
||
# don't build debug | ||
FULL_OPTIMIZATION_remove = "-g" | ||
|
||
# WPEWebProcess crashes when built with ARM mode on RPi | ||
ARM_INSTRUCTION_SET_armv7a = "thumb" | ||
ARM_INSTRUCTION_SET_armv7r = "thumb" | ||
ARM_INSTRUCTION_SET_armv7m = "thumb" | ||
ARM_INSTRUCTION_SET_armv7ve = "thumb" | ||
|
||
|
||
do_compile() { | ||
${STAGING_BINDIR_NATIVE}/ninja -v ${PARALLEL_MAKE} libWPEWebKit.so libWPEWebInspectorResources.so WPEWebProcess WPENetworkProcess WPEStorageProcess | ||
} | ||
do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" | ||
|
||
do_install() { | ||
DESTDIR=${D} cmake -DCOMPONENT=Development -P ${B}/Source/WebKit/cmake_install.cmake | ||
DESTDIR=${D} cmake -DCOMPONENT=Development -P ${B}/Source/JavaScriptCore/cmake_install.cmake | ||
|
||
install -d ${D}${libdir} | ||
cp -av --no-preserve=ownership ${B}/lib/libWPE* ${D}${libdir}/ | ||
install -m 0755 ${B}/lib/libWPEWebInspectorResources.so ${D}${libdir}/ | ||
# Hack: Remove the RPATH embedded in libWPEWebKit.so | ||
chrpath --delete ${D}${libdir}/libWPE* | ||
|
||
install -d ${D}${bindir} | ||
install -m755 ${B}/bin/WPEWebProcess ${D}${bindir}/ | ||
install -m755 ${B}/bin/WPENetworkProcess ${D}${bindir}/ | ||
install -m755 ${B}/bin/WPEStorageProcess ${D}${bindir}/ | ||
|
||
# Hack: Remove RPATHs embedded in apps | ||
chrpath --delete ${D}${bindir}/WPEWebProcess | ||
chrpath --delete ${D}${bindir}/WPENetworkProcess | ||
chrpath --delete ${D}${bindir}/WPEStorageProcess | ||
} | ||
|
||
LEAD_SONAME = "libWPEWebKit.so" | ||
|
||
PACKAGES =+ "${PN}-web-inspector-plugin" | ||
|
||
FILES_${PN}-web-inspector-plugin += "${libdir}/libWPEWebInspectorResources.so" | ||
INSANE_SKIP_${PN}-web-inspector-plugin = "dev-so" | ||
|
||
PACKAGES =+ "${PN}-platform-plugin" | ||
|
||
|
||
RDEPS_MEDIASOURCE = " \ | ||
gstreamer1.0-plugins-good-isomp4 \ | ||
" | ||
|
||
RDEPS_VIDEO = " \ | ||
gstreamer1.0-plugins-base-app \ | ||
gstreamer1.0-plugins-base-playback \ | ||
gstreamer1.0-plugins-good-souphttpsrc \ | ||
" | ||
|
||
RDEPS_WEBAUDIO = " \ | ||
gstreamer1.0-plugins-good-wavparse \ | ||
" | ||
|
||
# plugins-bad config option 'dash' -> gstreamer1.0-plugins-bad-dashdemux | ||
# plugins-bad config option 'videoparsers' -> gstreamer1.0-plugins-bad-videoparsersbad | ||
|
||
RDEPS_EXTRA = " \ | ||
gstreamer1.0-plugins-base-audioconvert \ | ||
gstreamer1.0-plugins-base-audioresample \ | ||
gstreamer1.0-plugins-base-gio \ | ||
gstreamer1.0-plugins-base-videoconvert \ | ||
gstreamer1.0-plugins-base-videoscale \ | ||
gstreamer1.0-plugins-base-volume \ | ||
gstreamer1.0-plugins-base-typefindfunctions \ | ||
gstreamer1.0-plugins-good-audiofx \ | ||
gstreamer1.0-plugins-good-audioparsers \ | ||
gstreamer1.0-plugins-good-autodetect \ | ||
gstreamer1.0-plugins-good-avi \ | ||
gstreamer1.0-plugins-good-deinterlace \ | ||
gstreamer1.0-plugins-good-interleave \ | ||
gstreamer1.0-plugins-bad-dashdemux \ | ||
gstreamer1.0-plugins-bad-mpegtsdemux \ | ||
gstreamer1.0-plugins-bad-smoothstreaming \ | ||
gstreamer1.0-plugins-bad-videoparsersbad \ | ||
" | ||
|
||
RDEPS_VIDEOGL = " \ | ||
gstreamer1.0-omx \ | ||
gstreamer1.0-plugins-bad-opengl \ | ||
" | ||
#fixme | ||
# gstreamer1.0-plugins-bad-faad (videogl=> aac) | ||
# gstreamer1.0-plugins-bad-hls | ||
# gstreamer1.0-plugins-ugly-mpg123 | ||
|
||
|
||
RDEPS_MEDIASOURCE += "${RDEPS_EXTRA}" | ||
RDEPS_VIDEO += "${RDEPS_EXTRA}" | ||
RDEPS_WEBAUDIO += "${RDEPS_EXTRA}" | ||
|
||
RRECOMMENDS_${PN} += " \ | ||
ca-certificates \ | ||
shared-mime-info \ | ||
ttf-bitstream-vera \ | ||
${PN}-platform-plugin \ | ||
" | ||
# FIXME: add this conditionally based on selected pkconfig entries | ||
RDEPENDS_${PN} = " ${RDEPS_MEDIASOURCE} ${RDEPS_VIDEO} ${RDEPS_VIDEOGL} ${RDEPS_WEBAUDIO} ${RDEPS_EXTRA} " |