commit: bc7b92e875db316b8b81055c21334dcd0dcbd16c Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> AuthorDate: Fri Sep 11 16:22:48 2015 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Fri Sep 11 16:30:29 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc7b92e8
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 www-client/chromium/chromium-47.0.2503.0.ebuild | 10 +++++++--- www-client/chromium/files/chromium-widevine-r1.patch | 14 ++++++++++++++ www-client/chromium/metadata.xml | 1 + 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 a29ad86..346ae3a 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 0000000..f206878 --- /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 1022e5d..86d5ae4 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>
