Meta: Add offline build for ANGLE flatpak module

At the same time, build with gcc instead of bundled clang.

Co-Authored-By: Andrew Kaster <andrew@ladybird.org>
This commit is contained in:
Jan Koudijs 2025-07-22 10:58:41 -06:00 committed by Andrew Kaster
commit 0c89b2e690
Notes: github-actions[bot] 2025-07-23 21:13:28 +00:00
8 changed files with 180 additions and 22 deletions

View file

@ -2,7 +2,6 @@
set -e set -e
export PATH=$PWD/depot_tools:$PATH
cd angle cd angle
ninja -j"$(nproc)" -C out ninja -j"$(nproc)" -C out

View file

@ -1,10 +0,0 @@
#!/usr/bin/env bash
set -e
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git depot_tools
export PATH=$PWD/depot_tools:$PATH
gclient config https://chromium.googlesource.com/angle/angle < <(yes)
gclient sync -r chromium/7258 < <(yes)
gclient runhooks < <(yes)

View file

@ -2,14 +2,15 @@
set -e set -e
export PATH=$PWD/depot_tools:$PATH
cd angle cd angle
gn gen out --args=' gn gen out --args='
is_clang=false
is_official_build=true is_official_build=true
is_component_build=true is_component_build=true
is_debug=false is_debug=false
angle_build_tests=false angle_build_tests=false
angle_enable_abseil=true
angle_enable_renderdoc=false angle_enable_renderdoc=false
angle_enable_swiftshader=false angle_enable_swiftshader=false
angle_enable_vulkan=true angle_enable_vulkan=true
@ -18,8 +19,11 @@ gn gen out --args='
angle_use_wayland=true angle_use_wayland=true
angle_use_x11=false angle_use_x11=false
build_angle_deqp_tests=false build_angle_deqp_tests=false
treat_warnings_as_errors=false
use_custom_libcxx=false use_custom_libcxx=false
use_safe_libstdcxx=true use_safe_libstdcxx=true
use_siso=false
use_sysroot=false
chrome_pgo_phase=0 chrome_pgo_phase=0
is_cfi = false is_cfi = false
' '

View file

@ -2,7 +2,6 @@
set -e set -e
export PATH=$PWD/depot_tools:$PATH
cd angle cd angle
# Headers # Headers
@ -41,5 +40,3 @@ cat > "$FLATPAK_DEST/lib/pkgconfig/angle.pc" <<EOF
Libs: -L\${libdir} -lEGL -lGLESv2 Libs: -L\${libdir} -lEGL -lGLESv2
Cflags: -I\${includedir}/angle Cflags: -I\${includedir}/angle
EOF EOF
git reset --hard origin/main

View file

@ -0,0 +1,121 @@
[
{
"type": "git",
"url": "https://chromium.googlesource.com/chromium/src/build.git",
"commit": "169fcf699b64d2d5e75a391beaec8a7ad6e41a7f",
"dest": "angle/build",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/chromium/src/testing",
"commit": "0d5210a4b1978e7e2c6b8623c719dff0a0994a8f",
"dest": "angle/testing",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp",
"commit": "e3d58ba1a2a04f85225c3c04fa4603bb64399b2c",
"dest": "angle/third_party/abseil-cpp",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/ARM-software/astc-encoder",
"commit": "2319d9c4d4af53a7fc7c52985e264ce6e8a02a9b",
"dest": "angle/third_party/astc-encoder/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
"commit": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
"dest": "angle/third_party/EGL-Registry/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
"commit": "ad78bb591d02162d3b90890aa4d0a238b2a37cde",
"dest": "angle/third_party/libdrm/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/chromium/src/third_party/jsoncpp",
"commit": "f62d44704b4da6014aa231cfc116e7fd29617d2a",
"dest": "angle/third_party/jsoncpp",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
"branch": "master",
"dest": "angle/third_party/jsoncpp/source",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
"commit": "200cea4030cb49d3e40677379e6368a5f0e8c27b",
"dest": "angle/third_party/OpenGL-Registry/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
"commit": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
"dest": "angle/third_party/rapidjson/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
"commit": "2a611a970fdbc41ac2e3e328802aed9985352dca",
"dest": "angle/third_party/spirv-headers/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
"commit": "108b19e5c6979f496deffad4acbe354237afa7d3",
"dest": "angle/third_party/spirv-tools/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
"commit": "10739e8e00a7b6f74d22dd0a547f1406ff1f5eb9",
"dest": "angle/third_party/vulkan-headers/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
"commit": "c8a2c8c9164a58ce71c1c77104e28e8de724539e",
"dest": "angle/third_party/vulkan-loader/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
"commit": "e3fc64396755191b3c51e5c57d0454872e7fa487",
"dest": "angle/third_party/vulkan-tools/src",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator",
"commit": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21",
"dest": "angle/third_party/vulkan_memory_allocator",
"disable-submodules": true
},
{
"type": "git",
"url": "https://chromium.googlesource.com/chromium/src/third_party/zlib",
"commit": "4028ebf8710ee39d2286cb0f847f9b95c59f84d8",
"dest": "angle/third_party/zlib",
"disable-submodules": true
}
]

View file

@ -0,0 +1,13 @@
diff --git a/toolchain/linux/BUILD.gn b/toolchain/linux/BUILD.gn
index a6e20a05c..8eaab3250 100644
--- a/toolchain/linux/BUILD.gn
+++ b/toolchain/linux/BUILD.gn
@@ -31,7 +31,7 @@ clang_toolchain("clang_arm64") {
}
gcc_toolchain("arm64") {
- toolprefix = "aarch64-linux-gnu-"
+ toolprefix = ""
cc = "${toolprefix}gcc"
cxx = "${toolprefix}g++"

View file

@ -0,0 +1,5 @@
# Generated from 'DEPS'
checkout_angle_internal = false
checkout_angle_mesa = false
checkout_angle_restricted_traces = false
generate_location_tags = false

View file

@ -104,15 +104,45 @@
{ {
"name": "angle", "name": "angle",
"buildsystem": "simple", "buildsystem": "simple",
"build-options": {
"build-args": [
"--share=network"
]
},
"sources": [ "sources": [
{
"type": "git",
"url": "https://chromium.googlesource.com/angle/angle",
"commit": "7ab02e1d49a649adaba62b8a7fdfabf8144b313f",
"dest": "angle",
"disable-submodules": true
},
"angle/angle-sources.json",
{ {
"type": "file", "type": "file",
"path": "angle/angle-checkout.sh" "url": "https://storage.googleapis.com/angle-glslang-validator/de8679c3e2f15291ba4f5c32eebc954ce78bf39c",
"sha256": "48296cebcdc8a57d9c1a0b93a51b3d33ad7c554d8d258d82ad2b9a9808a24a2e",
"dest": "angle/tools/glslang",
"dest-filename": "glslang_validator"
},
{
"type": "file",
"url": "https://storage.googleapis.com/angle-flex-bison/36625019a2442ac8efc92c32e1d61bd3f450b7ab",
"sha256": "d786285a7bdbaa8315b3af79ad7134bcc9924ee9bb49555b03a6fc94a103a80b",
"dest": "angle/tools/flex-bison/linux",
"dest-filename": "bison"
},
{
"type": "file",
"url": "https://storage.googleapis.com/angle-flex-bison/3c9694c62a4ad0d1f95b45bb748855c3688c923e",
"sha256": "fbfdf6cf32ecb5bf21b41cf7efc8c771d66cdcf5ca1e3ae5762a74ff136f93a3",
"dest": "angle/tools/flex-bison/linux",
"dest-filename": "flex"
},
{
"type": "file",
"path": "angle/gclient_args.gni",
"dest": "angle/build/config"
},
{
"type": "patch",
"path": "angle/build-arm64.patch",
"dest": "angle/build"
}, },
{ {
"type": "file", "type": "file",
@ -128,7 +158,6 @@
} }
], ],
"build-commands": [ "build-commands": [
"./angle-checkout.sh",
"./angle-configure.sh", "./angle-configure.sh",
"./angle-build.sh", "./angle-build.sh",
"./angle-install.sh" "./angle-install.sh"