Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 547630 | Differences between
and this patch

Collapse All | Expand All

(-)www-client/chromium/chromium-44.0.2403.89.ebuild (-3 / +50 lines)
Lines 19-25 SRC_URI="https://commondatastorage.googl Link Here
19
LICENSE="BSD hotwording? ( no-source-code )"
19
LICENSE="BSD hotwording? ( no-source-code )"
20
SLOT="0"
20
SLOT="0"
21
KEYWORDS="amd64 ~arm x86"
21
KEYWORDS="amd64 ~arm x86"
22
IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc"
22
IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc +widevine"
23
RESTRICT="proprietary-codecs? ( bindist )"
23
RESTRICT="proprietary-codecs? ( bindist )"
24
24
25
# Native Client binaries are compiled with different set of flags, bug #452066.
25
# Native Client binaries are compiled with different set of flags, bug #452066.
Lines 91-97 DEPEND="${RDEPEND} Link Here
91
	sys-apps/hwids[usb(+)]
91
	sys-apps/hwids[usb(+)]
92
	>=sys-devel/bison-2.4.3
92
	>=sys-devel/bison-2.4.3
93
	sys-devel/flex
93
	sys-devel/flex
94
	virtual/pkgconfig"
94
	virtual/pkgconfig
95
	widevine? ( www-plugins/chrome-binary-plugins[widevine] )"
95
96
96
# For nvidia-drivers blocker, see bug #413637 .
97
# For nvidia-drivers blocker, see bug #413637 .
97
RDEPEND+="
98
RDEPEND+="
Lines 122-127 if ! has chromium_pkg_die ${EBUILD_DEATH Link Here
122
	EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
123
	EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
123
fi
124
fi
124
125
126
# TODO: flag-mask widevine in non-intel profiles in lieu of this
127
REQUIRED_USE="|| ( x86 amd64 !widevine )"
128
125
DISABLE_AUTOFORMATTING="yes"
129
DISABLE_AUTOFORMATTING="yes"
126
DOC_CONTENTS="
130
DOC_CONTENTS="
127
Some web pages may require additional fonts to display properly.
131
Some web pages may require additional fonts to display properly.
Lines 188-193 src_prepare() { Link Here
188
192
189
	epatch "${FILESDIR}/${PN}-system-jinja-r7.patch"
193
	epatch "${FILESDIR}/${PN}-system-jinja-r7.patch"
190
194
195
	# When building non-Chrome-branded linux targets,
196
	# build a full widevine cdm if requested (#547630)
197
	epatch "${FILESDIR}/${PN}-widevine-2403.patch"
198
199
	if use widevine; then
200
		local WIDEVINE_VERSION="$(< "${ROOT}/usr/$(get_libdir)/chromium-browser/widevine.version")"
201
		[[ -z $WIDEVINE_VERSION ]] && die "Could not determine Widevine version."
202
203
		# to build the full widevine cdm, we must provide some versioning constants:
204
		local header_lines=(
205
			"#include \"third_party/widevine/cdm/widevine_cdm_common.h\""
206
			"#define WIDEVINE_CDM_AVAILABLE"
207
			"#define WIDEVINE_CDM_VERSION_STRING \"${WIDEVINE_VERSION}\""
208
		)
209
210
		# inject just above widevine_cdm_version.h's last line
211
		local header_line sedscript='$i'
212
		for header_line in "${header_lines[@]}"; do 
213
			sedscript+=${header_line}
214
			sedscript+='\n'
215
		done
216
		sed -e "${sedscript}" -i third_party/widevine/cdm/widevine_cdm_version.h || die
217
	fi
218
191
	epatch_user
219
	epatch_user
192
220
193
	# Remove most bundled libraries. Some are still needed.
221
	# Remove most bundled libraries. Some are still needed.
Lines 290-295 src_prepare() { Link Here
290
}
318
}
291
319
292
src_configure() {
320
src_configure() {
321
	if use widevine; then
322
		local WIDEVINE_SUPPORTED_ARCHS="x64 ia32"
323
		local arch
324
		for arch in ${WIDEVINE_SUPPORTED_ARCHS}; do
325
			[[ -d third_party/widevine/cdm/linux/${arch} ]] \
326
				|| mkdir -p third_party/widevine/cdm/linux/${arch} \
327
					|| die "Could not make widevine header directory for arch \"${arch}\"."
328
			cp "${ROOT}/usr/$(get_libdir)/chromium-browser/libwidevinecdm.so" \
329
				third_party/widevine/cdm/widevine_cdm_*.h \
330
				third_party/widevine/cdm/linux/${arch}/ \
331
					|| die "Could not copy headers for Widevine."
332
		done
333
	fi
334
293
	local myconf=""
335
	local myconf=""
294
336
295
	# Never tell the build system to "enable" SSE2, it has a few unexpected
337
	# Never tell the build system to "enable" SSE2, it has a few unexpected
Lines 362-368 src_configure() { Link Here
362
		$(gyp_use hotwording enable_hotwording)
404
		$(gyp_use hotwording enable_hotwording)
363
		$(gyp_use kerberos)
405
		$(gyp_use kerberos)
364
		$(gyp_use pulseaudio)
406
		$(gyp_use pulseaudio)
365
		$(gyp_use tcmalloc use_allocator tcmalloc none)"
407
		$(gyp_use tcmalloc use_allocator tcmalloc none)
408
		$(gyp_use widevine enable_widevine)"
366
409
367
	# Use explicit library dependencies instead of dlopen.
410
	# Use explicit library dependencies instead of dlopen.
368
	# This makes breakages easier to detect by revdep-rebuild.
411
	# This makes breakages easier to detect by revdep-rebuild.
Lines 582-587 src_install() { Link Here
582
	newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
625
	newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
583
	newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
626
	newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
584
627
628
	if use widevine; then
629
		doexe out/Release/libwidevinecdmadapter.so
630
	fi
631
585
	# Install icons and desktop entry.
632
	# Install icons and desktop entry.
586
	local branding size
633
	local branding size
587
	for size in 16 22 24 32 48 64 128 256 ; do
634
	for size in 16 22 24 32 48 64 128 256 ; do

Return to bug 547630