Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/electron/files/toolchain/, dev-util/electron/
Date: Wed, 29 Apr 2020 12:45:06
Message-Id: 1588164240.10f79d2d9b224342346080628e9ca4b5b4acd38b.zlogene@gentoo
1 commit: 10f79d2d9b224342346080628e9ca4b5b4acd38b
2 Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
3 AuthorDate: Wed Apr 29 12:35:59 2020 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 29 12:44:00 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10f79d2d
7
8 dev-util/electron: remove last-rited pkg
9
10 Closes: https://bugs.gentoo.org/show_bug.cgi?id=622020
11 Closes: https://bugs.gentoo.org/show_bug.cgi?id=652244
12 Closes: https://bugs.gentoo.org/show_bug.cgi?id=678066
13 Closes: https://bugs.gentoo.org/show_bug.cgi?id=690006
14 Closes: https://bugs.gentoo.org/show_bug.cgi?id=692146
15 Closes: https://bugs.gentoo.org/show_bug.cgi?id=701958
16 Closes: https://bugs.gentoo.org/show_bug.cgi?id=675578
17 Closes: https://bugs.gentoo.org/show_bug.cgi?id=681734
18 Closes: https://bugs.gentoo.org/show_bug.cgi?id=694072
19 Closes: https://bugs.gentoo.org/show_bug.cgi?id=706376
20 Closes: https://bugs.gentoo.org/show_bug.cgi?id=714850
21 Closes: https://bugs.gentoo.org/show_bug.cgi?id=713024
22 Closes: https://bugs.gentoo.org/show_bug.cgi?id=699866
23
24 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
25
26 dev-util/electron/Manifest | 13 -
27 dev-util/electron/electron-2.0.17-r2.ebuild | 918 ----------------------------
28 dev-util/electron/files/toolchain/BUILD.gn | 37 --
29 dev-util/electron/metadata.xml | 21 -
30 4 files changed, 989 deletions(-)
31
32 diff --git a/dev-util/electron/Manifest b/dev-util/electron/Manifest
33 deleted file mode 100644
34 index df07a0f907b..00000000000
35 --- a/dev-util/electron/Manifest
36 +++ /dev/null
37 @@ -1,13 +0,0 @@
38 -DIST asar-0.13.0.tar.gz 1622264 BLAKE2B 018bccc3d2b54040fe7c6e6c1ecfbe0ab4d52554feab78fae41a09d35b7e934720cba45f77239eda46d746390c4f072b3e0eecdf7f0953882d6f27cb940de018 SHA512 619b59e9576a185905b455b780630188ce32aed72b424c69967a7bf15236d1edf2f5d92f7dde972599679c88fe0a80f05295a3d82b2ae0944be08d332a659aee
39 -DIST browserify-14.0.0.tar.gz 1847439 BLAKE2B 50d84f51d8640fa881751339e1d37f04d6ba3ea5aa17222c1e9a29bc805ade5f14ce95bb97fb494e0a1a71e6a5da672566aeb0fbbea4b48d9ad19d20405a0b11 SHA512 fea8219ab2c5b422c15cc8c305a8aa0396f3de46c8d602eb4976af1d2b0a043214f808e3fa8e31cae0ad7c76d9ddc38239d0208911105f9c851efddfaf96b0c7
40 -DIST chromium-61.0.3163.100.tar.xz 556305252 BLAKE2B 88b9dc05d626ec33c2044cd8bb5a5bd2e36c4ba5c231230b5b6529d62cc100874099d17633ca320a0c668b130797d6b222107d2efcd6f80b5b0b460d378f4454 SHA512 4dfd3a493ceb7c605eeab6f387541273d529e8b935a6104927e34836469aedcfcbb4a1154591585621d5c2e842e68701d32328acba842f840a20498822165f78
41 -DIST electron-2.0.17.tar.gz 3015019 BLAKE2B 314d155e772492d81ca2b092b9ee264a82feffdfc85c05a4f18e4f9c3b151afb8012bdab2e1edbc8889db0433c04d6124b539ed7cc974dc23a43286c058a19a6 SHA512 8ecf9786b4b77483f1c3b77789a91b997254645343fff9a30cf846715a2eba53f338eb2de2eee2dd1164424c07697ffe3d21931c56f373e70e77f8e0a96bee0a
42 -DIST electron-breakpad-67f738b7adb47dc1e3b272fb99062f4192fa6651.tar.gz 5168487 BLAKE2B 41583e3297c2e8a612720f2087720cb7bc4ebf0aaaf5481029bd65458b26e5e824da283f474cf70d8933f80538e9f6c4b8a5843f27a6448b727ec9f12578b526 SHA512 303d1545dbe8e5fdece0fcd90c2ad09fab24483b176df1491580b9b382a607c0a814681cd58bcb7166b9cfc5af882a2b0d2fcc175d23f747b37c921040b68310
43 -DIST electron-chromium-breakpad-82f0452e6b687b3c1e14e08d172b2f3fb79ae91a.tar.gz 1141359 BLAKE2B 7145fc178dcb62e9f14123da03e98f5e37c29f3a58799e675b3638eb0694771d1320de8bc70d97daa5c8c21db548efa3aa3c86d2018d6cea95f288b39cae4020 SHA512 4c8353a34061f4e061bb9e23945c0fb7a56f1b9f249b323cd3315cafcecdaca5c1f63940e2334ded03413cf26f5aa4a5bd8f1720fb2ba422a97d70f121d7d3d4
44 -DIST electron-grit-9536fb6429147d27ef1563088341825db0a893cd.tar.gz 378461 BLAKE2B cb194cca884419f1c85524740860db244b06a237428add2cd9afaae8e0fe63ccb266b8e5e44f2125da57d263f167aec6c46c9c3451c5217100d58825f4322ecd SHA512 515797740421d5f80912b33dab2039c35b2ae432a0c4351aa031461ef6c82b7a1775c3d4d41ba6c646f81ba3ddf3bbfcb35b81da1ef88b486a2a67d15f09ec86
45 -DIST electron-libchromiumcontent-daf9bdcdfdfd6bad258b5e1e48b2e17d06c1a987.tar.gz 168368 BLAKE2B f915cb7e0f6be5f64c3bca64a121c1acf39d0a11cd67c4113d29757f7f44827d5807058c4b29e04c0ae8ab053e42aa66ba3da57b0a9b9bd4c7f22e7f56b91aae SHA512 6d4ca21f463540eec825dfe5075770b341de606c1726ce443b72cdf09c7153e201dbc7c2a4bacdcd926634e9b3795e59b3f1b27f017c7bc0a7507c9a4b6f5ce5
46 -DIST electron-native-mate-6a3d238b7e1e3742f2bb495336a84021d927a24f.tar.gz 24130 BLAKE2B b807a13d01ccd07a3310d8551cafee69a111bb342ee9e15bc0a20243c6f98638e3f18ddd716389fcabace064d4b98acbe50ff6eed862d8d46d152c8bd6f562b2 SHA512 c9ca33f7f96f52aae132f0e4cbd141fe28cea96b9e2c9fadcac40e3bd09d417469fac2851ad1c49790a4533174df0bec9d5ad45203a1358b3d4a2c0df49903fa
47 -DIST electron-node-51abeb37cad3f2098c0f0fffdff739f4ac2393e8.tar.gz 50344964 BLAKE2B 36f91e8ae7d1ae4e99c44128398589e015224c664c86d3869327a4c433fdf8efdb758d4462ec3d8997399bf6d62cfe63f91ae8ee4886aab7817b1654c94592a2 SHA512 8f31577a4ef836b5535ec69d8a020c06e92c01667a0d4b857fcb6789025a6903d42ba3f9b51fd0828d39e88dd7ba44a07cfb3a59023b04c4f5cb89e1a27874bc
48 -DIST electron-patches-26715595f4fe3658a73adb0d2fb338f62c79e492.tar.gz 115022 BLAKE2B 04f0982d9ac63068fd9e83f53341e43fec8f375d9591777dbcb6612213ecf0473be6d38883cdf0f99fe412f65b494d8765818260ecefd9e77dbd503d5459d9be SHA512 8d05f21d2ab4242cd896f58d1608ccee5ba3b65dae73cacb2261458e2f163e216176276d036cf8fe3375c06a94d08f7a04af79e92eb3d4312d975acd870103d8
49 -DIST electron-pdf-viewer-a5251e497fb52e699b28f627e3cbb6d8cefb62df.tar.gz 42117 BLAKE2B afd5ca8897ff70cc8d1d51855c6b1cfdf9a6e1ffb667c740f323ef9e4e11ed22ecac7e8c0447dbaa6488e4b11ba4e8606e654f792bb42d0b4c805e7d4a32aab4 SHA512 2db9c756ebff5148c6011775b2740671b7ab6693242400b417893eace648720c51e709bd108d766910f24b543b88c60fd292ba9aa8aa88bff1ea40d43961ad5b
50 -DIST ninja-1.8.2.tar.gz 185226 BLAKE2B c464c50829a0e9f0f6fd4b860946b14bf07f752adb8e7857d4072a1c1f06977eda283f633041929065c9164377ca769b3293b04fc9ceab583371708a9c4e8f2a SHA512 1650bf9e3eddeb0b0fbb415c2b8e0a7c094421e991fa8139fd77fae0f6ee7ee980b7cf5e98d883c3a884f99abcb06fa26e3980af3a3a5bb6dd655124755782c2
51
52 diff --git a/dev-util/electron/electron-2.0.17-r2.ebuild b/dev-util/electron/electron-2.0.17-r2.ebuild
53 deleted file mode 100644
54 index 9f577d4e304..00000000000
55 --- a/dev-util/electron/electron-2.0.17-r2.ebuild
56 +++ /dev/null
57 @@ -1,918 +0,0 @@
58 -# Copyright 1999-2020 Gentoo Authors
59 -# Distributed under the terms of the GNU General Public License v2
60 -
61 -EAPI="6"
62 -PYTHON_COMPAT=( python2_7 )
63 -
64 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
65 - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
66 - sv sw ta te th tr uk vi zh-CN zh-TW"
67 -
68 -inherit check-reqs chromium-2 eapi7-ver estack gnome2-utils flag-o-matic multilib \
69 - multiprocessing ninja-utils pax-utils portability python-any-r1 \
70 - toolchain-funcs virtualx xdg-utils
71 -
72 -# Keep this in sync with vendor/libchromiumcontent/VERSION
73 -CHROMIUM_VERSION="61.0.3163.100"
74 -# Keep this in sync with vendor/breakpad
75 -BREAKPAD_COMMIT="82f0452e6b687b3c1e14e08d172b2f3fb79ae91a"
76 -# Keep this in sync with vendor/breakpad/src (and find the corresponding
77 -# commit in https://github.com/google/breakpad/)
78 -BREAKPAD_SRC_COMMIT="67f738b7adb47dc1e3b272fb99062f4192fa6651"
79 -# Keep this in sync with vendor/node
80 -NODE_COMMIT="51abeb37cad3f2098c0f0fffdff739f4ac2393e8"
81 -# Keep this in sync with vendor/native_mate
82 -NATIVE_MATE_COMMIT="6a3d238b7e1e3742f2bb495336a84021d927a24f"
83 -# Keep this in sync with vendor/pdf_viewer
84 -PDF_VIEWER_COMMIT="a5251e497fb52e699b28f627e3cbb6d8cefb62df"
85 -# Keep this in sync with vendor/pdf_viewer/vendor/grit
86 -GRIT_COMMIT="9536fb6429147d27ef1563088341825db0a893cd"
87 -# Keep this in sync with vendor/libchromiumcontent
88 -LIBCHROMIUMCONTENT_COMMIT="daf9bdcdfdfd6bad258b5e1e48b2e17d06c1a987"
89 -# Keep this in sync with package.json#devDependencies
90 -ASAR_VERSION="0.13.0"
91 -BROWSERIFY_VERSION="14.0.0"
92 -NINJA_VERSION="1.8.2"
93 -GENTOO_PATCHES_VERSION="26715595f4fe3658a73adb0d2fb338f62c79e492"
94 -
95 -PATCHES_P="gentoo-electron-patches-${GENTOO_PATCHES_VERSION}"
96 -CHROMIUM_P="chromium-${CHROMIUM_VERSION}"
97 -BREAKPAD_P="chromium-breakpad-${BREAKPAD_COMMIT}"
98 -BREAKPAD_SRC_P="breakpad-${BREAKPAD_SRC_COMMIT}"
99 -NODE_P="node-${NODE_COMMIT}"
100 -NATIVE_MATE_P="native-mate-${NATIVE_MATE_COMMIT}"
101 -PDF_VIEWER_P="pdf-viewer-${PDF_VIEWER_COMMIT}"
102 -GRIT_P="grit-${GRIT_COMMIT}"
103 -LIBCHROMIUMCONTENT_P="libchromiumcontent-${LIBCHROMIUMCONTENT_COMMIT}"
104 -ASAR_P="asar-${ASAR_VERSION}"
105 -BROWSERIFY_P="browserify-${BROWSERIFY_VERSION}"
106 -
107 -DESCRIPTION="Cross platform application development framework based on web technologies"
108 -HOMEPAGE="https://electronjs.org/"
109 -SRC_URI="
110 - https://commondatastorage.googleapis.com/chromium-browser-official/${CHROMIUM_P}.tar.xz
111 - https://github.com/electron/electron/archive/v${PV}.tar.gz -> ${P}.tar.gz
112 - https://github.com/electron/chromium-breakpad/archive/${BREAKPAD_COMMIT}.tar.gz -> electron-${BREAKPAD_P}.tar.gz
113 - https://github.com/google/breakpad/archive/${BREAKPAD_SRC_COMMIT}.tar.gz -> electron-${BREAKPAD_SRC_P}.tar.gz
114 - https://github.com/electron/node/archive/${NODE_COMMIT}.tar.gz -> electron-${NODE_P}.tar.gz
115 - https://github.com/zcbenz/native-mate/archive/${NATIVE_MATE_COMMIT}.tar.gz -> electron-${NATIVE_MATE_P}.tar.gz
116 - https://github.com/electron/pdf-viewer/archive/${PDF_VIEWER_COMMIT}.tar.gz -> electron-${PDF_VIEWER_P}.tar.gz
117 - https://github.com/elprans/grit/archive/${GRIT_COMMIT}.tar.gz -> electron-${GRIT_P}.tar.gz
118 - https://github.com/electron/libchromiumcontent/archive/${LIBCHROMIUMCONTENT_COMMIT}.tar.gz -> electron-${LIBCHROMIUMCONTENT_P}.tar.gz
119 - https://github.com/elprans/asar/releases/download/v${ASAR_VERSION}-gentoo/asar-build.tar.gz -> ${ASAR_P}.tar.gz
120 - https://github.com/elprans/node-browserify/releases/download/${BROWSERIFY_VERSION}-gentoo/browserify-build.tar.gz -> ${BROWSERIFY_P}.tar.gz
121 - https://github.com/elprans/gentoo-electron-patches/archive/${GENTOO_PATCHES_VERSION}.tar.gz -> electron-patches-${GENTOO_PATCHES_VERSION}.tar.gz
122 - https://github.com/ninja-build/ninja/archive/v${NINJA_VERSION}.tar.gz -> ninja-${NINJA_VERSION}.tar.gz
123 -"
124 -
125 -S="${WORKDIR}/${P}"
126 -CHROMIUM_S="${S}/chromium"
127 -NODE_S="${S}/vendor/node"
128 -BREAKPAD_S="${S}/vendor/breakpad"
129 -BREAKPAD_SRC_S="${BREAKPAD_S}/src"
130 -NATIVE_MATE_S="${S}/vendor/native_mate"
131 -PDF_VIEWER_S="${S}/vendor/pdf_viewer"
132 -GRIT_S="${PDF_VIEWER_S}/vendor/grit"
133 -LIBCC_S="${S}/vendor/libchromiumcontent"
134 -
135 -LICENSE="BSD"
136 -SLOT="$(ver_cut 1-2)"
137 -KEYWORDS="~amd64"
138 -IUSE="cups custom-cflags gconf gnome-keyring kerberos lto neon pic
139 - +proprietary-codecs pulseaudio selinux +system-ffmpeg +system-libvpx
140 - +system-ssl +tcmalloc"
141 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )
142 - !test? ( test )"
143 -
144 -# Native Client binaries are compiled with different set of flags, bug #452066.
145 -QA_FLAGS_IGNORED=".*\.nexe"
146 -
147 -# Native Client binaries may be stripped by the build system, which uses the
148 -# right tools for it, bug #469144 .
149 -QA_PRESTRIPPED=".*\.nexe"
150 -
151 -COMMON_DEPEND="
152 - app-arch/bzip2:=
153 - >=app-eselect/eselect-electron-2.0
154 - cups? ( >=net-print/cups-1.3.11:= )
155 - dev-libs/expat:=
156 - dev-libs/glib:2
157 - >=dev-libs/icu-58:=
158 - dev-libs/libxml2:=[icu]
159 - dev-libs/libxslt:=
160 - dev-libs/nspr:=
161 - >=dev-libs/nss-3.14.3:=
162 - system-ssl? ( <dev-libs/openssl-1.1:= )
163 - >=dev-libs/re2-0.2016.05.01:=
164 - gconf? ( >=gnome-base/gconf-2.24.0:= )
165 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
166 - >=media-libs/alsa-lib-1.0.19:=
167 - media-libs/fontconfig:=
168 - media-libs/freetype:=
169 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
170 - media-libs/libexif:=
171 - media-libs/libjpeg-turbo:=
172 - media-libs/libpng:=
173 - system-libvpx? (
174 - =media-libs/libvpx-1.7*:=[postproc,svc]
175 - )
176 - >=media-libs/openh264-1.6.0:=
177 - pulseaudio? ( media-sound/pulseaudio:= )
178 - system-ffmpeg? (
179 - >=media-video/ffmpeg-4:=
180 - || (
181 - media-video/ffmpeg[-samba]
182 - >=net-fs/samba-4.5.10-r1[-debug(-)]
183 - )
184 - media-libs/opus:=
185 - )
186 - >=net-dns/c-ares-1.13.0:=
187 - >=net-libs/nghttp2-1.32.0:=
188 - sys-apps/dbus:=
189 - sys-apps/pciutils:=
190 - virtual/udev
191 - x11-libs/cairo:=
192 - x11-libs/gdk-pixbuf:2
193 - x11-libs/gtk+:3[X]
194 - x11-libs/libdrm
195 - x11-libs/libnotify:=
196 - x11-libs/libX11:=
197 - x11-libs/libXcomposite:=
198 - x11-libs/libXcursor:=
199 - x11-libs/libXdamage:=
200 - x11-libs/libXext:=
201 - x11-libs/libXfixes:=
202 - >=x11-libs/libXi-1.6.0:=
203 - x11-libs/libXrandr:=
204 - x11-libs/libXrender:=
205 - x11-libs/libXScrnSaver:=
206 - x11-libs/libXtst:=
207 - x11-libs/pango:=
208 - app-arch/snappy:=
209 - media-libs/flac:=
210 - >=media-libs/libwebp-0.4.0:=
211 - sys-libs/zlib:=[minizip]
212 - kerberos? ( virtual/krb5 )
213 -"
214 -# For nvidia-drivers blocker, see bug #413637 .
215 -RDEPEND="${COMMON_DEPEND}
216 - x11-misc/xdg-utils
217 - virtual/opengl
218 - virtual/ttf-fonts
219 - selinux? ( sec-policy/selinux-chromium )
220 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
221 -"
222 -# dev-vcs/git - https://bugs.gentoo.org/593476
223 -DEPEND="${COMMON_DEPEND}
224 - >=app-arch/gzip-1.7
225 - !arm? (
226 - dev-lang/yasm
227 - )
228 - dev-lang/perl
229 - <dev-util/gn-0.1583
230 - >=dev-util/gperf-3.0.3
231 - >=dev-util/ninja-1.7.2
232 - >=net-libs/nodejs-4.6.1
233 - sys-apps/hwids[usb(+)]
234 - >=sys-devel/bison-2.4.3
235 - sys-devel/flex
236 - virtual/pkgconfig
237 - dev-vcs/git
238 - $(python_gen_any_dep '
239 - dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
240 - >=dev-python/beautifulsoup-4.3.2:4[${PYTHON_USEDEP}]
241 - dev-python/html5lib[${PYTHON_USEDEP}]
242 - dev-python/simplejson[${PYTHON_USEDEP}]
243 - ')
244 -"
245 -
246 -# Keep this in sync with the python_gen_any_dep call.
247 -python_check_deps() {
248 - has_version --host-root "dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]" &&
249 - has_version --host-root ">=dev-python/beautifulsoup-4.3.2:4[${PYTHON_USEDEP}]" &&
250 - has_version --host-root "dev-python/html5lib[${PYTHON_USEDEP}]" &&
251 - has_version --host-root "dev-python/simplejson[${PYTHON_USEDEP}]"
252 -}
253 -
254 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
255 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
256 -fi
257 -
258 -pre_build_checks() {
259 - if [[ ${MERGE_TYPE} != binary ]]; then
260 - local -x CPP="$(tc-getCXX) -E"
261 - if tc-is-clang && ! ver_test "$(clang-fullversion)" -ge 3.9.1; then
262 - # bugs: #601654
263 - die "At least clang 3.9.1 is required"
264 - fi
265 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 4.9; then
266 - # bugs: #535730, #525374, #518668, #600288
267 - die "At least gcc 4.9 is required"
268 - fi
269 - fi
270 -
271 - # LTO pass requires more file descriptors
272 - if use lto; then
273 - local lto_n_rlimit_min="16384"
274 - local maxfiles=$(ulimit -n -H)
275 - if [ "${maxfiles}" -lt "${lto_n_rlimit_min}" ]; then
276 - eerror ""
277 - eerror "Building with USE=\"lto\" requires file descriptor" \
278 - "limit to be no less than ${lto_n_rlimit_min}."
279 - eerror "The current limit for portage is ${maxfiles}."
280 - eerror "Please add the following to /etc/security/limits.conf:"
281 - eerror ""
282 - eerror " root hard nofile ${lto_n_rlimit_min}"
283 - eerror " root soft nofile ${lto_n_rlimit_min}"
284 - eerror ""
285 - die
286 - fi
287 - fi
288 -
289 - # Check build requirements, bug #541816 and bug #471810 .
290 - CHECKREQS_MEMORY="3G"
291 - use lto && CHECKREQS_MEMORY="7G"
292 - CHECKREQS_DISK_BUILD="5G"
293 - eshopts_push -s extglob
294 - if is-flagq '-g?(gdb)?([1-9])'; then
295 - CHECKREQS_DISK_BUILD="25G"
296 - CHECKREQS_MEMORY="16G"
297 - fi
298 - eshopts_pop
299 - check-reqs_pkg_pretend
300 -}
301 -
302 -pkg_pretend() {
303 - pre_build_checks
304 -}
305 -
306 -pkg_setup() {
307 - pre_build_checks
308 -
309 - # Make sure the build system will use the right python, bug #344367.
310 - python-any-r1_pkg_setup
311 -
312 - chromium_suid_sandbox_check_kernel_config
313 -}
314 -
315 -_unnest_patches() {
316 - local _s="${1%/}/"
317 - local path
318 - local relpath
319 - local out
320 -
321 - (find "${_s}" -mindepth 2 -name '*.patch' -printf "%P\n" || die) \
322 - | while read -r path; do
323 - relpath="$(dirname ${path})"
324 - out="${_s}/__${relpath////_}_$(basename ${path})"
325 - sed -r -e "s|^([-+]{3}) ([ab])/(.*)$|\1 \2/${relpath}/\3|g" \
326 - "${_s}/${path}" > "${out}" || die
327 - done
328 -}
329 -
330 -_get_install_suffix() {
331 - local c=(${SLOT//\// })
332 - local slot=${c[0]}
333 - local suffix
334 -
335 - if [[ "${slot}" == "0" ]]; then
336 - suffix=""
337 - else
338 - suffix="-${slot}"
339 - fi
340 -
341 - echo -n "${suffix}"
342 -}
343 -
344 -_get_install_dir() {
345 - echo -n "/usr/$(get_libdir)/electron$(_get_install_suffix)"
346 -}
347 -
348 -_get_target_arch() {
349 - local myarch="$(tc-arch)"
350 - local target_arch
351 -
352 - if [[ $myarch = amd64 ]] ; then
353 - target_arch=x64
354 - elif [[ $myarch = x86 ]] ; then
355 - target_arch=ia32
356 - elif [[ $myarch = arm64 ]] ; then
357 - target_arch=arm64
358 - elif [[ $myarch = arm ]] ; then
359 - target_arch=arm
360 - else
361 - die "Failed to determine target arch, got '$myarch'."
362 - fi
363 -
364 - echo -n "${target_arch}"
365 -}
366 -
367 -src_prepare() {
368 - mv "${WORKDIR}/${CHROMIUM_P}" "${CHROMIUM_S}" || die
369 - rm -r "${NODE_S}" &&
370 - mv "${WORKDIR}/${NODE_P}" "${NODE_S}" || die
371 - rm -r "${BREAKPAD_S}" &&
372 - mv "${WORKDIR}/${BREAKPAD_P}" "${BREAKPAD_S}" || die
373 - rm -r "${BREAKPAD_SRC_S}" &&
374 - mv "${WORKDIR}/${BREAKPAD_SRC_P}/src" "${BREAKPAD_SRC_S}" || die
375 - rm -r "${NATIVE_MATE_S}" &&
376 - mv "${WORKDIR}/${NATIVE_MATE_P}" "${NATIVE_MATE_S}" || die
377 - rm -r "${PDF_VIEWER_S}" &&
378 - mv "${WORKDIR}/${PDF_VIEWER_P}" "${PDF_VIEWER_S}" || die
379 - rm -r "${GRIT_S}" &&
380 - mv "${WORKDIR}/${GRIT_P}" "${GRIT_S}" || die
381 - rm -r "${LIBCC_S}" &&
382 - mv "${WORKDIR}/${LIBCHROMIUMCONTENT_P}" "${LIBCC_S}" || die
383 - rsync -a "${WORKDIR}/${ASAR_P}/node_modules/" \
384 - "${S}/node_modules/" || die
385 - rsync -a "${WORKDIR}/${BROWSERIFY_P}/node_modules/" \
386 - "${S}/node_modules/" || die
387 -
388 - # node patches
389 - cd "${NODE_S}" || die
390 - # make sure node uses the correct version of v8
391 - rm -r deps/v8 || die
392 - ln -s "${CHROMIUM_S}/v8" deps/ || die
393 -
394 - # make sure we use python2.* while using gyp
395 - sed -i -e "s/python/${EPYTHON}/" \
396 - deps/npm/node_modules/node-gyp/gyp/gyp || die
397 - sed -i -e "s/|| 'python'/|| '${EPYTHON}'/" \
398 - deps/npm/node_modules/node-gyp/lib/configure.js || die
399 -
400 - python_fix_shebang "${CHROMIUM_S}/chrome/browser"
401 - python_fix_shebang "${CHROMIUM_S}/build/gyp_chromium"
402 - python_fix_shebang "${S}/tools/"
403 -
404 - # less verbose install output (stating the same as portage, basically)
405 - sed -i -e "/print/d" tools/install.py || die
406 -
407 - # proper libdir, hat tip @ryanpcmcquen
408 - # https://github.com/iojs/io.js/issues/504
409 - local LIBDIR=$(get_libdir)
410 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
411 - sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js || die
412 - sed -i -e "s|\"lib\"|\"${LIBDIR}\"|" deps/npm/lib/npm.js || die
413 -
414 - # Apply Gentoo patches for Electron itself.
415 - cd "${S}" || die
416 - _unnest_patches "${WORKDIR}/${PATCHES_P}/${PV}/electron/"
417 - eapply "${WORKDIR}/${PATCHES_P}/${PV}/electron/"
418 -
419 - # Apply Chromium patches from libchromiumcontent.
420 - cd "${CHROMIUM_S}" || die
421 - _unnest_patches "${LIBCC_S}/patches"
422 - eapply "${LIBCC_S}/patches"
423 -
424 - # Finally, apply Gentoo patches for Chromium.
425 - eapply "${WORKDIR}/${PATCHES_P}/${PV}/chromium/"
426 -
427 - # Merge chromiumcontent component into chromium source tree.
428 - mkdir -p "${CHROMIUM_S}/chromiumcontent" || die
429 - cp -a "${LIBCC_S}/chromiumcontent" "${CHROMIUM_S}/" || die
430 - cp -a "${LIBCC_S}/tools/linux/" "${CHROMIUM_S}/tools/" || die
431 -
432 - local keeplibs=(
433 - base/third_party/dmg_fp
434 - base/third_party/dynamic_annotations
435 - base/third_party/icu
436 - base/third_party/nspr
437 - base/third_party/superfasthash
438 - base/third_party/symbolize
439 - base/third_party/valgrind
440 - base/third_party/xdg_mime
441 - base/third_party/xdg_user_dirs
442 - breakpad/src/third_party/curl
443 - chrome/third_party/mozilla_security_manager
444 - courgette/third_party
445 - net/third_party/mozilla_security_manager
446 - net/third_party/nss
447 - third_party/WebKit
448 - third_party/analytics
449 - third_party/angle
450 - third_party/angle/src/common/third_party/base
451 - third_party/angle/src/common/third_party/murmurhash
452 - third_party/angle/src/third_party/compiler
453 - third_party/angle/src/third_party/libXNVCtrl
454 - third_party/angle/src/third_party/trace_event
455 - third_party/boringssl
456 - third_party/brotli
457 - third_party/cacheinvalidation
458 - third_party/catapult
459 - third_party/catapult/third_party/polymer
460 - third_party/catapult/third_party/py_vulcanize
461 - third_party/catapult/third_party/py_vulcanize/third_party/rcssmin
462 - third_party/catapult/third_party/py_vulcanize/third_party/rjsmin
463 - third_party/catapult/tracing/third_party/d3
464 - third_party/catapult/tracing/third_party/gl-matrix
465 - third_party/catapult/tracing/third_party/jszip
466 - third_party/catapult/tracing/third_party/mannwhitneyu
467 - third_party/catapult/tracing/third_party/oboe
468 - third_party/ced
469 - third_party/cld_2
470 - third_party/cld_3
471 - third_party/cros_system_api
472 - third_party/devscripts
473 - third_party/dom_distiller_js
474 - third_party/fips181
475 - third_party/flatbuffers
476 - third_party/flot
477 - third_party/freetype
478 - third_party/glslang-angle
479 - third_party/google_input_tools
480 - third_party/google_input_tools/third_party/closure_library
481 - third_party/google_input_tools/third_party/closure_library/third_party/closure
482 - third_party/googletest
483 - third_party/hunspell
484 - third_party/iccjpeg
485 - third_party/inspector_protocol
486 - third_party/jinja2
487 - third_party/jstemplate
488 - third_party/khronos
489 - third_party/leveldatabase
490 - third_party/libXNVCtrl
491 - third_party/libaddressinput
492 - third_party/libjingle
493 - third_party/libphonenumber
494 - third_party/libsecret
495 - third_party/libsrtp
496 - third_party/libudev
497 - third_party/libwebm
498 - third_party/libxml/chromium
499 - third_party/libyuv
500 - third_party/lss
501 - third_party/lzma_sdk
502 - third_party/markupsafe
503 - third_party/mesa
504 - third_party/modp_b64
505 - third_party/mt19937ar
506 - third_party/node
507 - third_party/node/node_modules/vulcanize/third_party/UglifyJS2
508 - third_party/openmax_dl
509 - third_party/ots
510 - third_party/pdfium
511 - third_party/pdfium/third_party/agg23
512 - third_party/pdfium/third_party/base
513 - third_party/pdfium/third_party/build
514 - third_party/pdfium/third_party/bigint
515 - third_party/pdfium/third_party/freetype
516 - third_party/pdfium/third_party/lcms2-2.6
517 - third_party/pdfium/third_party/libopenjpeg20
518 - third_party/pdfium/third_party/libpng16
519 - third_party/pdfium/third_party/libtiff
520 - third_party/ply
521 - third_party/polymer
522 - third_party/protobuf
523 - third_party/protobuf/third_party/six
524 - third_party/qcms
525 - third_party/sfntly
526 - third_party/skia
527 - third_party/skia/third_party/vulkan
528 - third_party/smhasher
529 - third_party/spirv-headers
530 - third_party/spirv-tools-angle
531 - third_party/sqlite
532 - third_party/swiftshader
533 - third_party/swiftshader/third_party/llvm-subzero
534 - third_party/swiftshader/third_party/subzero
535 - third_party/usrsctp
536 - third_party/vulkan
537 - third_party/vulkan-validation-layers
538 - third_party/web-animations-js
539 - third_party/webdriver
540 - third_party/webrtc
541 - third_party/widevine
542 - third_party/woff2
543 - third_party/zlib/google
544 - url/third_party/mozilla
545 - v8/src/third_party/valgrind
546 - v8/third_party/inspector_protocol
547 -
548 - # gyp -> gn leftovers
549 - base/third_party/libevent
550 - third_party/adobe
551 - third_party/speech-dispatcher
552 - third_party/usb_ids
553 - third_party/xdg-utils
554 - third_party/yasm/run_yasm.py
555 - )
556 - if ! use system-ffmpeg; then
557 - keeplibs+=( third_party/ffmpeg third_party/opus )
558 - fi
559 - if ! use system-libvpx; then
560 - keeplibs+=( third_party/libvpx )
561 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
562 - fi
563 - if use tcmalloc; then
564 - keeplibs+=( third_party/tcmalloc )
565 - fi
566 -
567 - cd "${CHROMIUM_S}" || die
568 -
569 - # Remove most bundled libraries. Some are still needed.
570 - ebegin "Unbundling libraries"
571 - build/linux/unbundle/remove_bundled_libraries.py \
572 - "${keeplibs[@]}" --do-remove || die
573 - eend
574 -
575 - cd "${S}" || die
576 -
577 - eapply_user
578 -}
579 -
580 -src_configure() {
581 - local myconf_gn=""
582 - local myconf_gyp=""
583 -
584 - cd "${CHROMIUM_S}" || die
585 -
586 - # GN needs explicit config for Debug/Release as opposed to
587 - # inferring it from build directory.
588 - myconf_gn+=" is_debug=false"
589 -
590 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
591 - myconf_gn+=" enable_nacl=false"
592 -
593 - # Use system-provided libraries.
594 - # TODO: freetype (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
595 - # TODO: use_system_hunspell (upstream changes needed).
596 - # TODO: use_system_libsrtp (bug #459932).
597 - # TODO: xml (bug #616818).
598 - # TODO: use_system_protobuf (bug #525560).
599 - # TODO: use_system_sqlite (http://crbug.com/22208).
600 -
601 - # libevent: https://bugs.gentoo.org/593458
602 - local gn_system_libraries=(
603 - flac
604 - harfbuzz-ng
605 - icu
606 - libdrm
607 - libjpeg
608 - libpng
609 - libvpx
610 - libwebp
611 - libxml
612 - libxslt
613 - openh264
614 - re2
615 - snappy
616 - yasm
617 - zlib)
618 - if use system-ffmpeg; then
619 - gn_system_libraries+=( libvpx ffmpeg opus )
620 - fi
621 - if use system-libvpx; then
622 - gn_system_libraries+=( libvpx )
623 - fi
624 - build/linux/unbundle/replace_gn_files.py \
625 - --system-libraries ${gn_system_libraries[@]} || die
626 -
627 - # Optional dependencies.
628 - myconf_gn+=" use_cups=$(usex cups true false)"
629 - myconf_gn+=" use_gconf=$(usex gconf true false)"
630 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
631 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
632 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
633 -
634 - # TODO: link_pulseaudio=true for GN.
635 -
636 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
637 -
638 - if tc-is-clang; then
639 - myconf_gn+=" is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false"
640 - else
641 - myconf_gn+=" is_clang=false"
642 - fi
643 -
644 - # Never use bundled gold binary. Disable gold linker flags for now.
645 - # Do not use bundled clang.
646 - # Trying to use gold results in linker crash.
647 - myconf_gn+=" use_gold=false use_sysroot=false"
648 - myconf_gn+=" linux_use_bundled_binutils=false use_custom_libcxx=false"
649 -
650 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
651 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
652 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
653 -
654 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
655 - # Note: these are for Gentoo use ONLY. For your own distribution,
656 - # please get your own set of keys. Feel free to contact chromium@g.o
657 - # for more info.
658 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
659 - local google_default_client_id="329227923882.apps.googleusercontent.com"
660 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
661 - myconf_gn+=" google_api_key=\"${google_api_key}\""
662 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
663 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
664 -
665 - local target_arch=$(_get_target_arch)
666 - local ffmpeg_target_arch="${target_arch}"
667 -
668 - if [[ ${ffmpeg_target_arch} = arm ]]; then
669 - ffmpeg_target_arch=$(usex neon arm-neon arm)
670 - fi
671 -
672 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
673 - # Depending on GCC version the warnings are different and we don't want
674 - # the build to fail because of that.
675 - myconf_gn+=" treat_warnings_as_errors=false"
676 -
677 - # Disable fatal linker warnings, bug 506268.
678 - myconf_gn+=" fatal_linker_warnings=false"
679 -
680 - # Avoid CFLAGS problems, bug #352457, bug #390147.
681 - if ! use custom-cflags; then
682 - replace-flags "-Os" "-O2"
683 - strip-flags
684 -
685 - filter-flags "-Wl,--as-needed"
686 -
687 - # Prevent linker from running out of address space, bug #471810 .
688 - if use x86; then
689 - filter-flags "-g*"
690 - fi
691 -
692 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
693 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
694 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
695 - fi
696 - fi
697 -
698 - # Make sure the build system will use the right tools, bug #340795.
699 - tc-export AR CC CXX NM
700 -
701 - # Define a custom toolchain for GN
702 - myconf_gn+=" custom_toolchain=\"${FILESDIR}/toolchain:default\""
703 -
704 - if tc-is-cross-compiler; then
705 - tc-export BUILD_{AR,CC,CXX,NM}
706 - myconf_gn+=" host_toolchain=\"${FILESDIR}/toolchain:host\""
707 - myconf_gn+=" v8_snapshot_toolchain=\"${FILESDIR}/toolchain:host\""
708 - else
709 - myconf_gn+=" host_toolchain=\"${FILESDIR}/toolchain:default\""
710 - fi
711 -
712 - # https://bugs.gentoo.org/588596
713 - append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
714 -
715 - myconf_gn+=" icu_use_data_file=false"
716 -
717 - use lto && myconf_gn+=" allow_posix_link_time_opt=true"
718 -
719 - # Tools for building programs to be executed on the build system, bug #410883.
720 - if tc-is-cross-compiler; then
721 - export AR_host=$(tc-getBUILD_AR)
722 - export CC_host=$(tc-getBUILD_CC)
723 - export CXX_host=$(tc-getBUILD_CXX)
724 - export NM_host=$(tc-getBUILD_NM)
725 - fi
726 -
727 - # Bug 491582.
728 - export TMPDIR="${WORKDIR}/temp"
729 - mkdir -p -m 755 "${TMPDIR}" || die
730 -
731 - if ! use system-ffmpeg; then
732 - local build_ffmpeg_args=""
733 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
734 - build_ffmpeg_args+=" --disable-asm"
735 - fi
736 -
737 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
738 - einfo "Configuring bundled ffmpeg..."
739 - pushd third_party/ffmpeg > /dev/null || die
740 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
741 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
742 - chromium/scripts/copy_config.sh || die
743 - chromium/scripts/generate_gn.py || die
744 - popd > /dev/null || die
745 - fi
746 -
747 - third_party/libaddressinput/chromium/tools/update-strings.py || die
748 -
749 - touch chrome/test/data/webui/i18n_process_css_test.html || die
750 -
751 - einfo "Configuring bundled nodejs..."
752 - pushd "${S}/vendor/node" > /dev/null || die
753 - # --shared-libuv cannot be used as electron's node fork
754 - # patches uv_loop structure.
755 - ./configure --shared --without-bundled-v8 \
756 - $(usex system-ssl '--shared-openssl' '' ) \
757 - --shared-http-parser --shared-zlib \
758 - --shared-nghttp2 --shared-cares \
759 - --without-npm --with-intl=system-icu --without-dtrace \
760 - --dest-cpu=${target_arch} --prefix="" || die
761 - popd > /dev/null || die
762 -
763 - # libchromiumcontent configuration
764 - myconf_gn+=" root_extra_deps = [\"//chromiumcontent:chromiumcontent\"]"
765 - myconf_gn+=" is_electron_build = true"
766 - myconf_gn+=" is_component_build = false"
767 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
768 -
769 - einfo "Configuring chromiumcontent..."
770 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
771 - echo "$@"
772 - "$@" || die
773 -
774 - cd "${S}" || die
775 -}
776 -
777 -eninja() {
778 - if [[ -z ${NINJAOPTS+set} ]]; then
779 - local jobs=$(makeopts_jobs)
780 - local loadavg=$(makeopts_loadavg)
781 -
782 - if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
783 - NINJAOPTS+=" -j ${jobs}"
784 - fi
785 - if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then
786 - NINJAOPTS+=" -l ${loadavg}"
787 - fi
788 - fi
789 - set -- ninja -v ${NINJAOPTS} "$@"
790 - echo "$@"
791 - "$@" || die
792 -}
793 -
794 -src_compile() {
795 - local compile_target="${S}/out/R"
796 - local myconf_gyp=""
797 - local chromium_target="${CHROMIUM_S}/out/Release"
798 - local libcc_path="${S}/vendor/libchromiumcontent"
799 - local libcc_dist_path="${libcc_path}/dist/main"
800 - local libcc_dist_static_path="${libcc_dist_path}/static_library"
801 - local libcc_dist_shared_path="${libcc_dist_path}/shared_library"
802 - local libcc_output="${CHROMIUM_S}/out/Release/obj/chromiumcontent"
803 - local libcc_output_shared="${libcc_output}-shared"
804 - local target_arch=$(_get_target_arch)
805 - local l=""
806 - local create_dist_args=""
807 -
808 - tc-export AR CC CXX NM
809 -
810 - mkdir -p "${compile_target}" || die
811 -
812 - cd "${CHROMIUM_S}" || die
813 -
814 - # Build mksnapshot and pax-mark it.
815 - eninja -C "${chromium_target}" mksnapshot || die
816 - pax-mark m "${chromium_target}/mksnapshot"
817 - cp -a "${chromium_target}/mksnapshot" "${compile_target}/" || die
818 -
819 - # Build chromedriver.
820 - eninja -C "${chromium_target}" chromedriver
821 - cp -a "${chromium_target}/chromedriver" "${compile_target}/" || die
822 -
823 - # Build libchromiumcontent components.
824 - eninja -C "${chromium_target}" chromiumcontent:chromiumcontent
825 - CHROMIUMCONTENT_2ND_PASS=1 \
826 - eninja -C "${chromium_target}" chromiumcontent:libs
827 -
828 - cd "${S}" || die
829 -
830 - # Gather and prepare built components of libchromiumcontent.
831 - create_dist_args+=" --target_arch=${target_arch} --component=static_library"
832 - create_dist_args+=" --no_zip"
833 - create_dist_args+=" --system-icu"
834 - CHROMIUM_BUILD_DIR="${chromium_target}" \
835 - PYTHONPATH="${WORKDIR}/ninja-${NINJA_VERSION}/misc" \
836 - "${EPYTHON}" "${libcc_path}"/script/create-dist ${create_dist_args} || die
837 -
838 - # v8 is built as a shared library, so copy it manually
839 - # for generate_filenames_gypi to find.
840 - mkdir -p "${libcc_dist_shared_path}" || die
841 - cp "${chromium_target}/libv8.so" "${libcc_dist_shared_path}" || die
842 -
843 - "${EPYTHON}" "${libcc_path}"/tools/generate_filenames_gypi.py \
844 - "${libcc_dist_path}/filenames.gypi" \
845 - "${CHROMIUM_S}" \
846 - "${libcc_dist_shared_path}" \
847 - "${libcc_dist_static_path}"
848 -
849 - # Configure electron.
850 - myconf_gyp+="
851 - $(gyp_use cups)
852 - $(gyp_use gconf use_gconf)
853 - $(gyp_use gnome-keyring use_gnome_keyring)
854 - $(gyp_use gnome-keyring linux_link_gnome_keyring)
855 - $(gyp_use lto)"
856 -
857 - myconf_gyp+=" -Duse_system_icu=1"
858 -
859 - if [[ $(tc-getCC) == *clang* ]]; then
860 - myconf_gyp+=" -Dclang=1"
861 - else
862 - myconf_gyp+=" -Dclang=0"
863 - fi
864 -
865 - # Never use bundled gold binary. Disable gold linker flags for now.
866 - # Do not use bundled clang.
867 - myconf_gyp+="
868 - -Dclang_use_chrome_plugins=0
869 - -Dhost_clang=0
870 - -Dlinux_use_bundled_binutils=0
871 - -Dlinux_use_bundled_gold=0
872 - -Dlinux_use_gold_flags=0
873 - -Dsysroot="
874 -
875 - myconf_gyp+=" -Dtarget_arch=${target_arch}"
876 - myconf_gyp+=" -Dpython=${EPYTHON}"
877 -
878 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
879 - # Depending on GCC version the warnings are different and we don't want
880 - # the build to fail because of that.
881 - myconf_gyp+=" -Dwerror="
882 -
883 - # Disable fatal linker warnings, bug 506268.
884 - myconf_gyp+=" -Ddisable_fatal_linker_warnings=1"
885 -
886 - myconf_gyp+=" -Dicu_use_data_file_flag=0"
887 - myconf_gyp+=" -Dgenerate_character_data=0"
888 -
889 - myconf_gyp+=" -Dmas_build=0"
890 - myconf_gyp+=" -Dlibchromiumcontent_component=0"
891 - myconf_gyp+=" -Dcomponent=static_library"
892 - myconf_gyp+=" -Dlibrary=static_library"
893 - myconf_gyp+=" -Icommon.gypi electron.gyp"
894 -
895 - EGYP_CHROMIUM_COMMAND="${CHROMIUM_S}/build/gyp_chromium" \
896 - egyp_chromium ${myconf_gyp} || die
897 -
898 - mkdir -p "${compile_target}/lib/" || die
899 - # Copy libv8 and snapshot files so the node binary can find them.
900 - cp "${chromium_target}/libv8.so" "${compile_target}/lib/" || die
901 - cp "${chromium_target}/natives_blob.bin" "${compile_target}" || die
902 - cp "${chromium_target}/snapshot_blob.bin" "${compile_target}" || die
903 -
904 - # Copy generated shim headers.
905 - mkdir -p "${compile_target}/gen" || die
906 - cp -r "${chromium_target}/gen/shim_headers" \
907 - "${compile_target}/gen" || die
908 -
909 - # Build the Node binary and pax-mark it.
910 - eninja -C ${compile_target} nodebin
911 - pax-mark m ${compile_target}/nodebin
912 -
913 - # Finally, build Electron.
914 - eninja -C ${compile_target} electron
915 - pax-mark m ${compile_target}/electron
916 -
917 - echo "v${PV}" > ${compile_target}/version
918 -}
919 -
920 -src_install() {
921 - local install_dir="$(_get_install_dir)"
922 - local install_suffix="$(_get_install_suffix)"
923 - local LIBDIR="${ED}/usr/$(get_libdir)"
924 -
925 - pushd out/R/locales > /dev/null || die
926 - chromium_remove_language_paks
927 - popd > /dev/null || die
928 -
929 - # Install Electron
930 - insinto "${install_dir}"
931 - exeinto "${install_dir}"
932 - newexe out/R/nodebin node
933 - doexe out/R/electron
934 - doexe out/R/chromedriver
935 - doexe out/R/mksnapshot
936 - doins out/R/libv8.so
937 - fperms +x "${install_dir}/libv8.so"
938 - doins out/R/libnode.so
939 - fperms +x "${install_dir}/libnode.so"
940 - doins out/R/natives_blob.bin
941 - doins out/R/snapshot_blob.bin
942 - doins out/R/blink_image_resources_200_percent.pak
943 - doins out/R/content_resources_200_percent.pak
944 - doins out/R/content_shell.pak
945 - doins out/R/pdf_viewer_resources.pak
946 - doins out/R/ui_resources_200_percent.pak
947 - doins out/R/views_resources_200_percent.pak
948 - doins -r out/R/resources
949 - doins -r out/R/locales
950 - dosym "${install_dir}/electron" "/usr/bin/electron${install_suffix}"
951 -
952 - doins out/R/version
953 -
954 - # Install Node headers
955 - HEADERS_ONLY=1 \
956 - "${S}/vendor/node/tools/install.py" install "${ED}" "/usr" || die
957 - # set up a symlink structure that npm expects..
958 - dodir /usr/include/node/deps/{v8,uv}
959 - dosym . /usr/include/node/src
960 - for var in deps/{uv,v8}/include; do
961 - dosym ../.. /usr/include/node/${var}
962 - done
963 -
964 - dodir "/usr/include/electron${install_suffix}"
965 - mv "${ED}/usr/include/node" \
966 - "${ED}/usr/include/electron${install_suffix}/node" || die
967 -}
968 -
969 -pkg_postinst() {
970 - electron-config update
971 -}
972 -
973 -pkg_postrm() {
974 - electron-config update
975 -}
976
977 diff --git a/dev-util/electron/files/toolchain/BUILD.gn b/dev-util/electron/files/toolchain/BUILD.gn
978 deleted file mode 100644
979 index f88d3afdcfd..00000000000
980 --- a/dev-util/electron/files/toolchain/BUILD.gn
981 +++ /dev/null
982 @@ -1,37 +0,0 @@
983 -import("//build/toolchain/gcc_toolchain.gni")
984 -
985 -gcc_toolchain("default") {
986 - cc = getenv("CC")
987 - cxx = getenv("CXX")
988 - ar = getenv("AR")
989 - nm = getenv("NM")
990 - ld = cxx
991 -
992 - extra_cflags = getenv("CFLAGS")
993 - extra_cppflags = getenv("CPPFLAGS")
994 - extra_cxxflags = getenv("CXXFLAGS")
995 - extra_ldflags = getenv("LDFLAGS")
996 -
997 - toolchain_args = {
998 - current_cpu = current_cpu
999 - current_os = current_os
1000 - }
1001 -}
1002 -
1003 -gcc_toolchain("host") {
1004 - cc = getenv("BUILD_CC")
1005 - cxx = getenv("BUILD_CXX")
1006 - ar = getenv("BUILD_AR")
1007 - nm = getenv("BUILD_NM")
1008 - ld = cxx
1009 -
1010 - extra_cflags = getenv("BUILD_CFLAGS")
1011 - extra_cppflags = getenv("BUILD_CPPFLAGS")
1012 - extra_cxxflags = getenv("BUILD_CXXFLAGS")
1013 - extra_ldflags = getenv("BUILD_LDFLAGS")
1014 -
1015 - toolchain_args = {
1016 - current_cpu = current_cpu
1017 - current_os = current_os
1018 - }
1019 -}
1020
1021 diff --git a/dev-util/electron/metadata.xml b/dev-util/electron/metadata.xml
1022 deleted file mode 100644
1023 index 382b50dd07d..00000000000
1024 --- a/dev-util/electron/metadata.xml
1025 +++ /dev/null
1026 @@ -1,21 +0,0 @@
1027 -<?xml version="1.0" encoding="UTF-8"?>
1028 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
1029 -<pkgmetadata>
1030 - <!--maintainer-needed-->
1031 - <use>
1032 - <flag name="gconf">Use gnome-base/gconf</flag>
1033 - <flag name="lto">Build with link time optimization enabled</flag>
1034 - <flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
1035 - <flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
1036 - <flag name="system-ffmpeg">Use system ffmpeg instead of the bundled one</flag>
1037 - <flag name="system-libvpx">Use system libvpx instead of the bundled one</flag>
1038 - <flag name="system-ssl">Use system OpenSSL instead of the bundled one</flag>
1039 - <flag name="tcmalloc">Use bundled tcmalloc instead of system malloc</flag>
1040 - </use>
1041 - <upstream>
1042 - <remote-id type="github">elprans/asar</remote-id>
1043 - <remote-id type="github">elprans/gentoo-electron-patches</remote-id>
1044 - <remote-id type="github">elprans/grit</remote-id>
1045 - <remote-id type="github">elprans/node-browserify</remote-id>
1046 - </upstream>
1047 -</pkgmetadata>