|
1 | | -FROM ppc64le/debian:11 |
2 | | - |
3 | | -ARG v8_version=13.6.233.17 |
4 | | -ENV version=$v8_version |
5 | | - |
6 | | -ENV target=ppc64.static |
7 | | -ENV GYP_GENERATORS=ninja |
8 | | -ENV PATH="/depot_tools:${PATH}" |
9 | | -ENV pkgdir=/package |
10 | | -ENV DEBIAN_FRONTEND=noninteractive |
11 | | - |
12 | | -RUN sed -i.bak 's@http://deb.debian.org@http://archive.debian.org@g' /etc/apt/sources.list |
13 | | - |
14 | | -RUN apt-get update -y || true && \ |
15 | | - apt-get upgrade -y || true && \ |
16 | | - apt-get install -y curl python3 python3-httplib2 python3-httplib2 python3-six python3-distutils-extra xz-utils git g++ g++-powerpc64le-linux-gnu pkg-config libglib2.0-dev &&\ |
17 | | - ln -s /usr/bin/python3 /usr/bin/python |
18 | | - |
19 | | -RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools |
20 | | - |
21 | | -ENV VPYTHON_BYPASS="manually managed python not supported by chrome operations" |
22 | | -ENV GCLIENT_PY3=1 |
23 | | - |
24 | | -RUN yes | fetch --nohooks v8 |
25 | | - |
26 | | -WORKDIR /v8 |
27 | | - |
28 | | -RUN gclient sync --nohooks -D --force --reset && \ |
29 | | - gclient sync --revision ${version} |
30 | | - |
31 | | -RUN gn gen ${target} -vv --fail-on-unused-args \ |
32 | | - --args='v8_monolithic=true \ |
33 | | - v8_static_library=true \ |
34 | | - v8_enable_sandbox=false \ |
35 | | - is_clang=false \ |
36 | | - is_asan=false \ |
37 | | - use_gold=false \ |
38 | | - is_debug=false \ |
39 | | - is_official_build=false \ |
40 | | - treat_warnings_as_errors=false \ |
41 | | - clang_use_chrome_plugins=false \ |
42 | | - v8_enable_i18n_support=false \ |
43 | | - v8_use_external_startup_data=false \ |
44 | | - use_custom_libcxx=false \ |
45 | | - use_sysroot=false \ |
46 | | - target_cpu="ppc64" v8_target_cpu="ppc64"' |
47 | | - |
48 | | -# NB: do not build tests on ARM |
49 | | -RUN ninja -C ${target} "v8_monolith" "d8" |
50 | | - |
51 | | -RUN install -d ${pkgdir}v8 && \ |
52 | | - install -d ${pkgdir}/v8/lib && \ |
53 | | - install -Dm755 ${target}/obj/libv8_monolith.a ${pkgdir}/v8/lib/libv8_monolith.a && \ |
54 | | - install -d ${pkgdir}/v8/include && \ |
55 | | - install -Dm644 include/*.h ${pkgdir}/v8/include && \ |
56 | | - install -d ${pkgdir}/v8/include/cppgc && \ |
57 | | - install -Dm644 include/cppgc/*.h ${pkgdir}/v8/include/cppgc && \ |
58 | | - install -d ${pkgdir}/v8/include/libplatform && \ |
59 | | - install -Dm644 include/libplatform/*.h ${pkgdir}/v8/include/libplatform && \ |
60 | | - install -d ${pkgdir}/v8/lic/ && \ |
61 | | - install -m644 LICENSE* ${pkgdir}/v8/lic/ && \ |
62 | | - tar cfJ /v8-${version}-static.tar.xz -C ${pkgdir} v8 |
| 1 | +ARG v8_version=11.9.169.7 |
| 2 | +ARG GN_COMMIT=cc28efe62ef0c2fb32455f414a29c4a55bb7fbc4 |
| 3 | + |
| 4 | +# Build GN for PPC64 |
| 5 | +FROM ppc64le/debian:12 |
| 6 | +ENV GYP_GENERATORS ninja |
| 7 | +ARG GN_COMMIT |
| 8 | +RUN \ |
| 9 | + apt-get update && \ |
| 10 | + apt-get install -y ninja-build clang curl python3 xz-utils git g++ pkg-config libglib2.0-dev && \ |
| 11 | + git clone https://gn.googlesource.com/gn && \ |
| 12 | + cd gn && \ |
| 13 | + git checkout ${GN_COMMIT} && \ |
| 14 | + python3 build/gen.py && \ |
| 15 | + ninja -C out && \ |
| 16 | + cp out/gn /usr/local/bin/gn |
0 commit comments