public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Gilbert" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Wed,  9 May 2018 17:12:00 +0000 (UTC)	[thread overview]
Message-ID: <1525885017.09b804516320eee06930303870cd68008aac8a8a.floppym@gentoo> (raw)

commit:     09b804516320eee06930303870cd68008aac8a8a
Author:     Gregory M. Turner <gmt <AT> be-evil <DOT> net>
AuthorDate: Tue May  8 19:27:31 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed May  9 16:56:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09b80451

www-client/chromium: widevine rehabilitation

>chromium-66 ebuilds dropped the widevine useflag because upstream
decided (again! but only "for now") to add code to induce build
failure when linux builds request widevine.

However, it seems that if we just add linux to the whitelist,
everything works as before (but buckle up, there may be
turbulent skies ahead).

nb: ninja no longer copies the widevine .so to out/ (so we needn't
remove it anymore in src_install).

Signed-off-by: Gregory M. Turner <gmt <AT> be-evil.net>
Closes: https://github.com/gentoo/gentoo/pull/8323

 www-client/chromium/chromium-67.0.3396.18.ebuild   |  5 ++-
 www-client/chromium/chromium-67.0.3396.30.ebuild   |  5 ++-
 www-client/chromium/chromium-68.0.3409.2.ebuild    |  5 ++-
 .../chromium/files/chromium-widevine-r2.patch      | 39 ++++++++++++++++++++++
 4 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/www-client/chromium/chromium-67.0.3396.18.ebuild b/www-client/chromium/chromium-67.0.3396.18.ebuild
index ececa654c8c..fe48e8dc8ec 100644
--- a/www-client/chromium/chromium-67.0.3396.18.ebuild
+++ b/www-client/chromium/chromium-67.0.3396.18.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
 RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
 
 COMMON_DEPEND="
@@ -85,6 +85,7 @@ RDEPEND="${COMMON_DEPEND}
 	virtual/ttf-fonts
 	selinux? ( sec-policy/selinux-chromium )
 	tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
+	widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
 "
 # dev-vcs/git - https://bugs.gentoo.org/593476
 # sys-apps/sandbox - https://crbug.com/586444
@@ -144,6 +145,7 @@ GTK+ icon theme.
 "
 
 PATCHES=(
+	"${FILESDIR}/chromium-widevine-r2.patch"
 	"${FILESDIR}/chromium-compiler-r0.patch"
 	"${FILESDIR}/chromium-webrtc-r0.patch"
 	"${FILESDIR}/chromium-memcpy-r0.patch"
@@ -467,6 +469,7 @@ src_configure() {
 
 	# Optional dependencies.
 	myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+	myconf_gn+=" enable_widevine=$(usex widevine true false)"
 	myconf_gn+=" use_cups=$(usex cups true false)"
 	myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
 	myconf_gn+=" use_kerberos=$(usex kerberos true false)"

diff --git a/www-client/chromium/chromium-67.0.3396.30.ebuild b/www-client/chromium/chromium-67.0.3396.30.ebuild
index ececa654c8c..fe48e8dc8ec 100644
--- a/www-client/chromium/chromium-67.0.3396.30.ebuild
+++ b/www-client/chromium/chromium-67.0.3396.30.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
 RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
 
 COMMON_DEPEND="
@@ -85,6 +85,7 @@ RDEPEND="${COMMON_DEPEND}
 	virtual/ttf-fonts
 	selinux? ( sec-policy/selinux-chromium )
 	tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
+	widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
 "
 # dev-vcs/git - https://bugs.gentoo.org/593476
 # sys-apps/sandbox - https://crbug.com/586444
@@ -144,6 +145,7 @@ GTK+ icon theme.
 "
 
 PATCHES=(
+	"${FILESDIR}/chromium-widevine-r2.patch"
 	"${FILESDIR}/chromium-compiler-r0.patch"
 	"${FILESDIR}/chromium-webrtc-r0.patch"
 	"${FILESDIR}/chromium-memcpy-r0.patch"
@@ -467,6 +469,7 @@ src_configure() {
 
 	# Optional dependencies.
 	myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+	myconf_gn+=" enable_widevine=$(usex widevine true false)"
 	myconf_gn+=" use_cups=$(usex cups true false)"
 	myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
 	myconf_gn+=" use_kerberos=$(usex kerberos true false)"

diff --git a/www-client/chromium/chromium-68.0.3409.2.ebuild b/www-client/chromium/chromium-68.0.3409.2.ebuild
index 86da01dec68..956659ce7cf 100644
--- a/www-client/chromium/chromium-68.0.3409.2.ebuild
+++ b/www-client/chromium/chromium-68.0.3409.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
 RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
 
 COMMON_DEPEND="
@@ -85,6 +85,7 @@ RDEPEND="${COMMON_DEPEND}
 	virtual/ttf-fonts
 	selinux? ( sec-policy/selinux-chromium )
 	tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
+	widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
 "
 # dev-vcs/git - https://bugs.gentoo.org/593476
 # sys-apps/sandbox - https://crbug.com/586444
@@ -144,6 +145,7 @@ GTK+ icon theme.
 "
 
 PATCHES=(
+	"${FILESDIR}/chromium-widevine-r2.patch"
 	"${FILESDIR}/chromium-compiler-r1.patch"
 	"${FILESDIR}/chromium-ffmpeg-build-r0.patch"
 	"${FILESDIR}/chromium-webrtc-r0.patch"
@@ -472,6 +474,7 @@ src_configure() {
 
 	# Optional dependencies.
 	myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+	myconf_gn+=" enable_widevine=$(usex widevine true false)"
 	myconf_gn+=" use_cups=$(usex cups true false)"
 	myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
 	myconf_gn+=" use_kerberos=$(usex kerberos true false)"

diff --git a/www-client/chromium/files/chromium-widevine-r2.patch b/www-client/chromium/files/chromium-widevine-r2.patch
new file mode 100644
index 00000000000..5527f7f293c
--- /dev/null
+++ b/www-client/chromium/files/chromium-widevine-r2.patch
@@ -0,0 +1,39 @@
+Minimal patch to get chromium to compile with widevine support.
+
+Exactly the same as -r1, but we now need to patch
+ninja to pretty please not terminate our build.
+
+caveat emptor: it's in no way clear that building chromium this
+way is safer, from a security perspective, than whatever Google
+Chrome does.
+
+Upstream appears to be cooking up a code-signing trust-chain
+which may protect users against malicious cdm blobs; I doubt
+we benefit from these using this kludge.  Ideally, someone
+would look into this more carefully than I have ... tbh as
+soon as I got my "stories" back, I pretty much lost interest :)
+
+-gmt
+
+--
+--- 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_
+--- a/third_party/widevine/cdm/BUILD.gn
++++ b/third_party/widevine/cdm/BUILD.gn
+@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev
+ # Internal Cast builds set enable_widevine=true to bring in Widevine support.
+ # TODO(xhwang): Support component updated CDM on other platforms and remove this
+ # assert.
+-assert(!enable_widevine || is_win || is_mac || is_chromecast,
++assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux,
+        "Component updated CDM only supported on Windows and Mac for now.")
+
+ widevine_arch = current_cpu


             reply	other threads:[~2018-05-09 17:12 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-09 17:12 Mike Gilbert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-14 12:02 [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/ Matt Jolly
2025-02-13 10:59 Matt Jolly
2025-02-06 23:43 Matt Jolly
2024-12-06  6:02 Matt Jolly
2024-08-08  2:14 Matt Jolly
2024-08-01  8:40 Matt Jolly
2024-07-29 22:43 Matt Jolly
2024-04-11  9:27 Matt Jolly
2023-06-10  5:31 Sam James
2023-05-05 23:27 Mike Gilbert
2023-04-20 17:43 Mike Gilbert
2023-04-13 21:23 Mike Gilbert
2023-01-25 11:17 Stephan Hartmann
2023-01-18 17:29 Stephan Hartmann
2022-12-17 22:05 Stephan Hartmann
2022-10-09 11:48 Stephan Hartmann
2022-10-06  9:12 Stephan Hartmann
2022-09-22 18:17 Stephan Hartmann
2022-08-21 13:04 Stephan Hartmann
2022-06-28  6:53 Stephan Hartmann
2022-06-14 17:01 Stephan Hartmann
2022-06-05 13:13 Stephan Hartmann
2022-06-01 21:06 Stephan Hartmann
2022-04-13 12:42 Stephan Hartmann
2022-04-08 12:28 Stephan Hartmann
2022-04-05  8:15 Stephan Hartmann
2022-03-06  8:29 Stephan Hartmann
2022-03-06  7:59 Stephan Hartmann
2022-02-15 18:45 Stephan Hartmann
2022-01-15  8:48 Stephan Hartmann
2022-01-12 19:56 Stephan Hartmann
2021-12-07 21:20 Stephan Hartmann
2021-11-24  8:06 Stephan Hartmann
2021-10-10 11:16 Stephan Hartmann
2021-09-25  7:47 Stephan Hartmann
2021-09-18 11:15 Stephan Hartmann
2021-08-03 21:08 Stephan Hartmann
2021-06-26 15:45 Stephan Hartmann
2021-04-17 12:38 Stephan Hartmann
2021-03-05 21:34 Stephan Hartmann
2021-02-20 11:43 Stephan Hartmann
2021-02-10 12:13 Stephan Hartmann
2021-01-22  8:59 Stephan Hartmann
2021-01-21 11:28 Stephan Hartmann
2021-01-10 21:36 Stephan Hartmann
2020-12-03 19:26 Stephan Hartmann
2020-11-08 12:34 Stephan Hartmann
2020-10-08  6:21 Stephan Hartmann
2020-09-24 16:38 Stephan Hartmann
2020-07-18 13:37 Mike Gilbert
2020-06-29 20:55 Mike Gilbert
2020-06-28  2:21 Mike Gilbert
2020-06-01 17:34 Mike Gilbert
2020-05-12 19:08 Mike Gilbert
2020-05-01 15:32 Mike Gilbert
2020-05-01 15:31 Mike Gilbert
2020-04-04  3:15 Mike Gilbert
2020-03-24 13:48 Mike Gilbert
2020-02-27 16:22 Mike Gilbert
2020-02-16 17:16 Mike Gilbert
2020-01-23 20:58 Mike Gilbert
2019-11-22 20:09 Mike Gilbert
2019-10-27 14:40 Mike Gilbert
2019-10-20 16:26 Mike Gilbert
2019-10-15 20:38 Mike Gilbert
2019-10-08 17:50 Mike Gilbert
2019-10-01 20:19 Mike Gilbert
2019-09-29 21:24 Mike Gilbert
2019-09-25 16:20 Mike Gilbert
2019-09-15 22:51 Mike Gilbert
2019-08-23 14:08 Mike Gilbert
2019-08-15 15:02 Mike Gilbert
2019-08-13 15:19 Mike Gilbert
2019-07-17 14:39 Mike Gilbert
2019-07-03 17:44 Mike Gilbert
2019-06-25 14:58 Mike Gilbert
2019-06-16 23:35 Mike Gilbert
2019-06-15 17:48 Mike Gilbert
2019-05-28 20:45 Mike Gilbert
2019-05-28  4:01 Mike Gilbert
2019-04-18 21:35 Pacho Ramos
2019-03-17 20:51 Mike Gilbert
2019-02-15 20:57 Mike Gilbert
2019-02-10  6:29 Mike Gilbert
2018-12-28  2:40 Jason A. Donenfeld
2018-11-05  3:30 Mike Gilbert
2018-10-15  4:59 Mike Gilbert
2018-09-30 21:28 Mike Gilbert
2018-07-22  4:46 Mike Gilbert
2018-06-15 17:39 Mike Gilbert
2018-06-10  2:48 Mike Gilbert
2018-06-09 18:21 Mike Gilbert
2018-05-06 17:29 Mike Gilbert
2018-04-25 21:02 Mike Gilbert
2018-04-23 16:14 Mike Gilbert
2018-03-09 21:03 Mike Gilbert
2018-02-09 17:06 Mike Gilbert
2017-12-24 22:11 Mike Gilbert
2017-12-23 17:45 Mike Gilbert
2017-12-16 23:24 Mike Gilbert
2017-12-16 14:07 Mike Gilbert
2017-11-13 18:19 Mike Gilbert
2017-11-12 17:49 Mike Gilbert
2017-09-30 16:26 Paweł Hajdan
2017-09-20  9:38 Paweł Hajdan
2017-09-18 15:33 Paweł Hajdan
2017-09-07 12:44 Paweł Hajdan
2017-08-22 22:08 Paweł Hajdan
2017-08-19 11:17 Paweł Hajdan
2017-08-09 16:19 Paweł Hajdan
2017-08-09 14:04 Mike Gilbert
2017-07-19 19:04 Paweł Hajdan
2017-05-24  7:07 Paweł Hajdan
2017-05-05 18:27 Paweł Hajdan
2017-04-28 15:45 Paweł Hajdan
2017-04-08 17:22 Paweł Hajdan
2017-03-29 16:27 Paweł Hajdan
2017-03-14 22:34 Mike Gilbert
2017-03-08 15:33 Paweł Hajdan
2017-02-18 14:35 Paweł Hajdan
2016-12-23 21:24 Mike Gilbert
2016-12-11 18:01 Mike Gilbert
2016-11-08  5:47 Mike Gilbert
2016-10-24 17:18 Mike Gilbert
2016-09-29  1:50 Mike Gilbert
2016-09-26  1:13 Mike Gilbert
2016-09-15  3:44 Mike Gilbert
2016-09-09 22:40 Paweł Hajdan
2016-08-24 10:23 Paweł Hajdan
2016-08-20 11:50 Paweł Hajdan
2016-08-10 20:33 Paweł Hajdan
2016-06-29 20:19 Paweł Hajdan
2016-06-02 20:14 Paweł Hajdan
2016-04-20 20:06 Paweł Hajdan
2016-03-24 23:36 Paweł Hajdan
2016-01-07 20:39 Paweł Hajdan
2015-09-30 20:29 Paweł Hajdan
2015-09-11 16:31 Mike Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1525885017.09b804516320eee06930303870cd68008aac8a8a.floppym@gentoo \
    --to=floppym@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox