Diff firefox-102.15.1 with a firefox-115.2.1

/usr/portage/www-client/firefox/firefox-115.2.1.ebuild 2023-10-09 14:52:35.888368511 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz"
6
FIREFOX_PATCHSET="firefox-115esr-patches-06.tar.xz"
7 7

  
8 8
LLVM_MAX_SLOT=16
9 9

  
......
12 12

  
13 13
WANT_AUTOCONF="2.1"
14 14

  
15
VIRTUALX_REQUIRED="pgo"
15
VIRTUALX_REQUIRED="manual"
16 16

  
17 17
MOZ_ESR=yes
18 18

  
......
48 48
fi
49 49

  
50 50
PATCH_URIS=(
51
	https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
51
	https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
52 52
)
53 53

  
54 54
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
......
57 57
DESCRIPTION="Firefox Web Browser"
58 58
HOMEPAGE="https://www.mozilla.com/firefox"
59 59

  
60
KEYWORDS="amd64 arm64 ~ppc64 x86"
60
KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
61 61

  
62 62
SLOT="esr"
63 63
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
......
65 65
IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
66 66
IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux"
67 67
IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
68
IUSE+=" wayland wifi"
68
IUSE+=" wayland wifi +X"
69 69

  
70 70
# Firefox-only IUSE
71 71
IUSE+=" geckodriver +gmp-autoupdate screencast"
72 72

  
73
REQUIRED_USE="debug? ( !system-av1 )
73
REQUIRED_USE="|| ( X wayland )
74
	debug? ( !system-av1 )
74 75
	pgo? ( lto )
75
	wayland? ( dbus )
76 76
	wifi? ( dbus )"
77 77

  
78
# Firefox-only REQUIRED_USE flags
79
REQUIRED_USE+=" screencast? ( wayland )"
80

  
81 78
FF_ONLY_DEPEND="!www-client/firefox:0
82 79
	!www-client/firefox:rapid
83 80
	screencast? ( media-video/pipewire:= )
84 81
	selinux? ( sec-policy/selinux-mozilla )"
85 82
BDEPEND="${PYTHON_DEPS}
86 83
	|| (
87
	(
84
		(
88 85
			sys-devel/clang:16
89 86
			sys-devel/llvm:16
90 87
			clang? (
91
				|| (
92
					sys-devel/lld:16
93
					sys-devel/mold
94
				)
88
				sys-devel/lld:16
95 89
				virtual/rust:0/llvm-16
96 90
				pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] )
97 91
			)
......
105 99
				pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
106 100
			)
107 101
		)
108
		(
109
			sys-devel/clang:14
110
			sys-devel/llvm:14
111
			clang? (
112
				sys-devel/lld:14
113
				virtual/rust:0/llvm-14
114
				pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
115
			)
116
		)
117 102
	)
118
	!clang? ( virtual/rust )
103
	app-alternatives/awk
119 104
	app-arch/unzip
120 105
	app-arch/zip
121 106
	>=dev-util/cbindgen-0.24.3
122 107
	net-libs/nodejs
123 108
	virtual/pkgconfig
109
	!clang? ( >=virtual/rust-1.65 )
124 110
	amd64? ( >=dev-lang/nasm-2.14 )
125
	x86? ( >=dev-lang/nasm-2.14 )"
126

  
111
	x86? ( >=dev-lang/nasm-2.14 )
112
	pgo? (
113
		X? (
114
			sys-devel/gettext
115
			x11-base/xorg-server[xvfb]
116
			x11-apps/xhost
117
		)
118
		!X? (
119
			>=gui-libs/wlroots-0.15.1-r1[tinywl]
120
			x11-misc/xkeyboard-config
121
		)
122
	)"
127 123
COMMON_DEPEND="${FF_ONLY_DEPEND}
128 124
	>=app-accessibility/at-spi2-core-2.46.0:2
129 125
	dev-libs/expat
130 126
	dev-libs/glib:2
131 127
	dev-libs/libffi:=
132
	>=dev-libs/nss-3.79.2
133
	>=dev-libs/nspr-4.34
128
	>=dev-libs/nss-3.90
129
	>=dev-libs/nspr-4.35
134 130
	media-libs/alsa-lib
135 131
	media-libs/fontconfig
136 132
	media-libs/freetype
......
138 134
	media-video/ffmpeg
139 135
	sys-libs/zlib
140 136
	virtual/freedesktop-icon-theme
141
	virtual/opengl
142
	x11-libs/cairo[X]
137
	x11-libs/cairo
143 138
	x11-libs/gdk-pixbuf
144
	x11-libs/gtk+:3[X]
145
	x11-libs/libX11
146
	x11-libs/libXcomposite
147
	x11-libs/libXdamage
148
	x11-libs/libXext
149
	x11-libs/libXfixes
150
	x11-libs/libXrandr
151
	x11-libs/libXtst
152
	x11-libs/libxcb:=
153
	x11-libs/libxkbcommon[X]
154 139
	x11-libs/pango
155 140
	x11-libs/pixman
156 141
	dbus? (
......
158 143
		sys-apps/dbus
159 144
	)
160 145
	jack? ( virtual/jack )
161
	libproxy? ( net-libs/libproxy )
162 146
	pulseaudio? (
163 147
		|| (
164
			media-sound/pulseaudio
165
			>=media-sound/apulse-0.1.12-r4
148
			media-libs/libpulse
149
			>=media-sound/apulse-0.1.12-r4[sdk]
166 150
		)
167 151
	)
152
	libproxy? ( net-libs/libproxy )
153
	selinux? ( sec-policy/selinux-mozilla )
168 154
	sndio? ( >=media-sound/sndio-1.8.0-r1 )
155
	screencast? ( media-video/pipewire:= )
169 156
	system-av1? (
170 157
		>=media-libs/dav1d-1.0.0:=
171 158
		>=media-libs/libaom-1.0.0:=
......
174 161
		>=media-gfx/graphite2-1.3.13
175 162
		>=media-libs/harfbuzz-2.8.1:0=
176 163
	)
177
	system-icu? ( >=dev-libs/icu-71.1:= )
164
	system-icu? ( >=dev-libs/icu-73.1:= )
178 165
	system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
179 166
	system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
180 167
	system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
181 168
	system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
182 169
	system-webp? ( >=media-libs/libwebp-1.1.0:0= )
183 170
	wayland? (
171
		>=media-libs/libepoxy-1.5.10-r1
184 172
		x11-libs/gtk+:3[wayland]
185
		x11-libs/libdrm
186 173
		x11-libs/libxkbcommon[wayland]
187 174
	)
188 175
	wifi? (
......
191 178
			net-misc/networkmanager
192 179
			sys-apps/dbus
193 180
		)
181
	)
182
	X? (
183
		virtual/opengl
184
		x11-libs/cairo[X]
185
		x11-libs/gtk+:3[X]
186
		x11-libs/libX11
187
		x11-libs/libXcomposite
188
		x11-libs/libXdamage
189
		x11-libs/libXext
190
		x11-libs/libXfixes
191
		x11-libs/libxkbcommon[X]
192
		x11-libs/libXrandr
193
		x11-libs/libXtst
194
		x11-libs/libxcb:=
194 195
	)"
195

  
196 196
RDEPEND="${COMMON_DEPEND}
197
	hwaccel? (
198
		media-video/libva-utils
199
		sys-apps/pciutils
200
	)
197 201
	jack? ( virtual/jack )
198 202
	openh264? ( media-libs/openh264:*[plugin] )"
199

  
200 203
DEPEND="${COMMON_DEPEND}
201
	x11-base/xorg-proto
202
	x11-libs/libICE
203
	x11-libs/libSM"
204
	X? (
205
		x11-base/xorg-proto
206
		x11-libs/libICE
207
		x11-libs/libSM
208
	)"
204 209

  
205 210
S="${WORKDIR}/${PN}-${PV%_*}"
206 211

  
......
216 221
		return 1
217 222
	fi
218 223

  
219
	if use clang ; then
224
	if use clang && ! tc-ld-is-mold ; then
220 225
		if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
221 226
			einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
222 227
			return 1
......
259 264
MOZ_LANGS+=( es-MX )
260 265
MOZ_LANGS+=( fa )
261 266
MOZ_LANGS+=( ff )
267
MOZ_LANGS+=( fur )
262 268
MOZ_LANGS+=( gn )
263 269
MOZ_LANGS+=( gu-IN )
264 270
MOZ_LANGS+=( hi-IN )
......
272 278
MOZ_LANGS+=( my )
273 279
MOZ_LANGS+=( ne-NP )
274 280
MOZ_LANGS+=( oc )
281
MOZ_LANGS+=( sc )
275 282
MOZ_LANGS+=( sco )
276 283
MOZ_LANGS+=( si )
277 284
MOZ_LANGS+=( son )
......
416 423
	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
417 424
}
418 425

  
426
# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
427
# placed here until toolchain-funcs.eclass gets an official support for mold linker.
428
# Please see:
429
# https://github.com/gentoo/gentoo/pull/28366 ||
430
# https://github.com/gentoo/gentoo/pull/28355
431
tc-ld-is-mold() {
432
	local out
433

  
434
	# Ensure ld output is in English.
435
	local -x LC_ALL=C
436

  
437
	# First check the linker directly.
438
	out=$($(tc-getLD "$@") --version 2>&1)
439
	if [[ ${out} == *"mold"* ]] ; then
440
		return 0
441
	fi
442

  
443
	# Then see if they're selecting mold via compiler flags.
444
	# Note: We're assuming they're using LDFLAGS to hold the
445
	# options and not CFLAGS/CXXFLAGS.
446
	local base="${T}/test-tc-linker"
447
	cat <<-EOF > "${base}.c"
448
	int main() { return 0; }
449
	EOF
450
	out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
451
	rm -f "${base}"*
452
	if [[ ${out} == *"mold"* ]] ; then
453
		return 0
454
	fi
455

  
456
	# No mold here!
457
	return 1
458
}
459

  
460
virtwl() {
461
	debug-print-function ${FUNCNAME} "$@"
462

  
463
	[[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
464
	[[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
465
	tinywl -h >/dev/null || die 'tinywl -h failed'
466

  
467
	# TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
468
	addpredict /dev/dri
469
	local VIRTWL VIRTWL_PID
470
	coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
471
	local -x WAYLAND_DISPLAY
472
	read WAYLAND_DISPLAY <&${VIRTWL[0]}
473

  
474
	debug-print "${FUNCNAME}: $@"
475
	"$@"
476
	local r=$?
477

  
478
	[[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
479
	exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
480
	return $r
481
}
482

  
419 483
pkg_pretend() {
420 484
	if [[ ${MERGE_TYPE} != binary ]] ; then
421 485
		if use pgo ; then
......
454 518

  
455 519
		llvm_pkg_setup
456 520

  
457
		if use clang && use lto ; then
521
		if use clang && use lto && tc-ld-is-lld ; then
458 522
			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
459 523
			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
460 524
			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
......
492 556
		addpredict /proc/self/oom_score_adj
493 557

  
494 558
		if use pgo ; then
559
			# Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
560
			# whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
561
			# (PORTAGE_SCHEDULING_POLICY) update...
562
			addpredict /proc
563

  
564
			# May need a wider addpredict when using wayland+pgo.
565
			addpredict /dev/dri
566

  
495 567
			# Allow access to GPU during PGO run
496 568
			local ati_cards mesa_cards nvidia_cards render_cards
497 569
			shopt -s nullglob
......
574 646
		rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
575 647
	fi
576 648

  
649
	if ! use ppc64; then
650
		rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
651
	fi
652

  
577 653
	eapply "${WORKDIR}/firefox-patches"
578 654

  
579 655
	# Allow user to apply any additional patches without modifing ebuild
......
606 682
		|| die "sed failed to disable ccache stats call"
607 683

  
608 684
	einfo "Removing pre-built binaries ..."
609
	find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
610 685

  
611
	# Clearing crate checksums where we have applied patches
612
	moz_clear_vendor_checksums bindgen
686
	find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
613 687

  
614 688
	# Create build dir
615 689
	BUILD_DIR="${WORKDIR}/${PN}_build"
......
635 709
	if use clang; then
636 710
		# Force clang
637 711
		einfo "Enforcing the use of clang due to USE=clang ..."
712

  
713
		local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
714
		[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
715
		[[ -z ${version_clang} ]] && die "Failed to read clang version!"
716

  
638 717
		if tc-is-gcc; then
639 718
			have_switched_compiler=yes
640 719
		fi
720

  
641 721
		AR=llvm-ar
642
		CC=${CHOST}-clang
643
		CXX=${CHOST}-clang++
722
		CC=${CHOST}-clang-${version_clang}
723
		CXX=${CHOST}-clang++-${version_clang}
644 724
		NM=llvm-nm
645 725
		RANLIB=llvm-ranlib
726

  
646 727
	elif ! use clang && ! tc-is-gcc ; then
647 728
		# Force gcc
648 729
		have_switched_compiler=yes
......
660 741
		strip-unsupported-flags
661 742
	fi
662 743

  
663
	# Ensure we use correct toolchain
744
	# Ensure we use correct toolchain,
745
	# AS is used in a non-standard way by upstream, #bmo1654031
664 746
	export HOST_CC="$(tc-getBUILD_CC)"
665 747
	export HOST_CXX="$(tc-getBUILD_CXX)"
666 748
	export AS="$(tc-getCC) -c"
......
685 767

  
686 768
	# Initialize MOZCONFIG
687 769
	mozconfig_add_options_ac '' --enable-application=browser
770
	mozconfig_add_options_ac '' --enable-project=browser
688 771

  
689 772
	# Set Gentoo defaults
690
	export MOZILLA_OFFICIAL=1
691

  
692 773
	mozconfig_add_options_ac 'Gentoo default' \
693 774
		--allow-addon-sideload \
694 775
		--disable-cargo-incremental \
......
697 778
		--disable-install-strip \
698 779
		--disable-parental-controls \
699 780
		--disable-strip \
781
		--disable-tests \
700 782
		--disable-updater \
783
		--disable-wmf \
784
		--enable-legacy-profile-creation \
701 785
		--enable-negotiateauth \
702 786
		--enable-new-pass-manager \
703 787
		--enable-official-branding \
704 788
		--enable-release \
705 789
		--enable-system-ffi \
706 790
		--enable-system-pixman \
791
		--enable-system-policies \
707 792
		--host="${CBUILD:-${CHOST}}" \
708 793
		--libdir="${EPREFIX}/usr/$(get_libdir)" \
709 794
		--prefix="${EPREFIX}/usr" \
......
732 817
	# For future keywording: This is currently (97.0) only supported on:
733 818
	# amd64, arm, arm64 & x86.
734 819
	# Might want to flip the logic around if Firefox is to support more arches.
735
	if use ppc64; then
820
	# bug 833001, bug 903411#c8
821
	if use ppc64 || use riscv; then
736 822
		mozconfig_add_options_ac '' --disable-sandbox
737 823
	else
738 824
		mozconfig_add_options_ac '' --enable-sandbox
739 825
	fi
740 826

  
827
	# Enable JIT on riscv64 explicitly
828
	# Can be removed once upstream enable it by default in the future.
829
	use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
830

  
741 831
	if [[ -s "${S}/api-google.key" ]] ; then
742 832
		local key_origin="Gentoo default"
743 833
		if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
......
806 896

  
807 897
	mozconfig_use_enable wifi necko-wifi
808 898

  
809
	if use wayland ; then
899
	if use X && use wayland ; then
810 900
		mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
901
	elif ! use X && use wayland ; then
902
		mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
811 903
	else
812 904
		mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
813 905
	fi
814 906

  
815 907
	if use lto ; then
816 908
		if use clang ; then
817
			# Upstream only supports lld when using clang
818
			mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
909
			# Upstream only supports lld or mold when using clang.
910
			if tc-ld-is-mold ; then
911
				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
912
			else
913
				mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
914
			fi
819 915

  
820 916
			mozconfig_add_options_ac '+lto' --enable-lto=cross
821 917

  
822 918
		else
823
			# ThinLTO is currently broken, see bmo#1644409
919
			# ThinLTO is currently broken, see bmo#1644409.
920
			# mold does not support gcc+lto combination.
824 921
			mozconfig_add_options_ac '+lto' --enable-lto=full
825 922
			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
826 923
		fi
......
836 933
	else
837 934
		# Avoid auto-magic on linker
838 935
		if use clang ; then
839
			# This is upstream's default
840
			mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
936
			# lld is upstream's default
937
			if tc-ld-is-mold ; then
938
				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
939
			else
940
				mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
941
			fi
942

  
841 943
		else
842
			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
944
			if tc-ld-is-mold ; then
945
				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
946
			else
947
				mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
948
			fi
843 949
		fi
844 950
	fi
845 951

  
......
849 955
	mozconfig_use_enable debug
850 956
	if use debug ; then
851 957
		mozconfig_add_options_ac '+debug' --disable-optimize
958
		mozconfig_add_options_ac '+debug' --enable-real-time-tracing
852 959
	else
960
		mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
961

  
853 962
		if is-flag '-g*' ; then
854 963
			if use clang ; then
855 964
				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
......
946 1055
			;;
947 1056
	esac
948 1057

  
949
	if ! use elibc_glibc ; then
1058
	if ! use elibc_glibc; then
950 1059
		mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
951 1060
	fi
952 1061

  
......
1014 1123
src_compile() {
1015 1124
	local virtx_cmd=
1016 1125

  
1017
	if use pgo ; then
1018
		virtx_cmd=virtx
1126
	if tc-ld-is-mold && use lto; then
1127
		# increase ulimit with mold+lto, bugs #892641, #907485
1128
		if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
1129
			ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
1130
			ewarn "Please see bugs #892641 & #907485."
1131
		else
1132
			ulimit -n 16384
1133
		fi
1134
	fi
1019 1135

  
1136
	if use pgo; then
1020 1137
		# Reset and cleanup environment variables used by GNOME/XDG
1021 1138
		gnome2_environment_reset
1022 1139

  
1023 1140
		addpredict /root
1141

  
1142
		if ! use X; then
1143
			virtx_cmd=virtwl
1144
		else
1145
			virtx_cmd=virtx
1146
		fi
1024 1147
	fi
1025 1148

  
1026
	local -x GDK_BACKEND=x11
1149
	if ! use X; then
1150
		local -x GDK_BACKEND=wayland
1151
	else
1152
		local -x GDK_BACKEND=x11
1153
	fi
1027 1154

  
1028
	${virtx_cmd} ./mach build --verbose \
1029
		|| die
1155
	${virtx_cmd} ./mach build --verbose || die
1030 1156
}
1031 1157

  
1032 1158
src_install() {
......
1214 1340

  
1215 1341
	local show_doh_information
1216 1342
	local show_normandy_information
1217
	local show_shortcut_information
1218 1343

  
1219 1344
	if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1220 1345
		# New install; Tell user that DoH is disabled by default
1221 1346
		show_doh_information=yes
1222 1347
		show_normandy_information=yes
1223
		show_shortcut_information=no
1224
	else
1225
		local replacing_version
1226
		for replacing_version in ${REPLACING_VERSIONS} ; do
1227
			if ver_test "${replacing_version}" -lt 91.0 ; then
1228
				# Tell user that we no longer install a shortcut
1229
				# per supported display protocol
1230
				show_shortcut_information=yes
1231
			fi
1232
		done
1233 1348
	fi
1234 1349

  
1235 1350
	if [[ -n "${show_doh_information}" ]] ; then
......
1259 1374
		elog "in about:config."
1260 1375
	fi
1261 1376

  
1262
	if [[ -n "${show_shortcut_information}" ]] ; then
1263
		elog
1264
		elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1265
		elog "each supported display protocol.  Instead we will only install"
1266
		elog "one generic Mozilla ${PN^} shortcut."
1267
		elog "If you still want to be able to select between running Mozilla ${PN^}"
1268
		elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1269
	fi
1270

  
1271 1377
	# bug 835078
1272 1378
	if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1273 1379
		ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
......
1287 1393
	optfeature_header "Optional programs for extra features:"
1288 1394
	optfeature "desktop notifications" x11-libs/libnotify
1289 1395
	optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
1396

  
1397
	if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
1398
		optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
1399
	fi
1400

  
1401
	if ! has_version "sys-libs/glibc"; then
1402
		elog
1403
		elog "glibc not found! You won't be able to play DRM content."
1404
		elog "See Gentoo bug #910309 or upstream bug #1843683."
1405
		elog
1406
	fi
1290 1407
}
Thank you!