summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2015-09-11 12:22:48 -0400
committerMike Gilbert <floppym@gentoo.org>2015-09-11 12:30:29 -0400
commitbc7b92e875db316b8b81055c21334dcd0dcbd16c (patch)
tree80906557d4bdfbfcb79d43a73b6383227f0115e2 /www-client
parentdev-libs/dietlibc: add alpha keyword (diff)
downloadgentoo-bc7b92e875db316b8b81055c21334dcd0dcbd16c.tar.gz
gentoo-bc7b92e875db316b8b81055c21334dcd0dcbd16c.tar.bz2
gentoo-bc7b92e875db316b8b81055c21334dcd0dcbd16c.zip
www-client/chromium: Restore widevine support in the dev channel (47)
This includes a minimal patch to get chromium to compile. The widevine version is reported as "unknown" in chrome://plugins. A more robust solution should really be implemented upstream. Tested by viewing a video on Netflix. Based on work by Greg Turner and Ari Entlich. Closes #37. Bug: https://bugs.gentoo.org/547630 Bug: https://crbug.com/473866 Package-Manager: portage-2.2.20
Diffstat (limited to 'www-client')
-rw-r--r--www-client/chromium/chromium-47.0.2503.0.ebuild10
-rw-r--r--www-client/chromium/files/chromium-widevine-r1.patch14
-rw-r--r--www-client/chromium/metadata.xml1
3 files changed, 22 insertions, 3 deletions
diff --git a/www-client/chromium/chromium-47.0.2503.0.ebuild b/www-client/chromium/chromium-47.0.2503.0.ebuild
index a29ad8655d79..346ae3ab1274 100644
--- a/www-client/chromium/chromium-47.0.2503.0.ebuild
+++ b/www-client/chromium/chromium-47.0.2503.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD hotwording? ( no-source-code )"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
-IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc"
+IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc widevine"
RESTRICT="proprietary-codecs? ( bindist )"
# Native Client binaries are compiled with different set of flags, bug #452066.
@@ -100,7 +100,8 @@ RDEPEND+="
virtual/opengl
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
- tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )"
+ tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
+ widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )"
# Python dependencies. The DEPEND part needs to be kept in sync
# with python_check_deps.
@@ -190,6 +191,7 @@ src_prepare() {
# fi
epatch "${FILESDIR}/${PN}-system-jinja-r7.patch"
+ epatch "${FILESDIR}/chromium-widevine-r1.patch"
epatch_user
@@ -370,7 +372,8 @@ src_configure() {
$(gyp_use hotwording enable_hotwording)
$(gyp_use kerberos)
$(gyp_use pulseaudio)
- $(gyp_use tcmalloc use_allocator tcmalloc none)"
+ $(gyp_use tcmalloc use_allocator tcmalloc none)
+ $(gyp_use widevine enable_widevine)"
# Use explicit library dependencies instead of dlopen.
# This makes breakages easier to detect by revdep-rebuild.
@@ -546,6 +549,7 @@ src_install() {
fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
doexe out/Release/chromedriver || die
+ use widevine && doexe out/Release/libwidevinecdmadapter.so
# if ! use arm; then
# doexe out/Release/nacl_helper{,_bootstrap} || die
diff --git a/www-client/chromium/files/chromium-widevine-r1.patch b/www-client/chromium/files/chromium-widevine-r1.patch
new file mode 100644
index 000000000000..f206878cf073
--- /dev/null
+++ b/www-client/chromium/files/chromium-widevine-r1.patch
@@ -0,0 +1,14 @@
+Minimal patch to get chromium to compile with widevine support
+
+https://bugs.gentoo.org/show_bug.cgi?id=547630
+
+--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h
++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h
+@@ -10,6 +10,7 @@
+
+ #include "third_party/widevine/cdm/widevine_cdm_common.h"
+
++#define WIDEVINE_CDM_VERSION_STRING "unknown"
+ #define WIDEVINE_CDM_AVAILABLE
+
+ #endif // WIDEVINE_CDM_VERSION_H_
diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml
index 1022e5d5f2bf..86d5ae4b0308 100644
--- a/www-client/chromium/metadata.xml
+++ b/www-client/chromium/metadata.xml
@@ -9,5 +9,6 @@
<flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
<flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
<flag name="tcmalloc">Use bundled tcmalloc instead of system malloc</flag>
+ <flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
</use>
</pkgmetadata>