dev-libs/flutter-engine
The runtime engine for Flutter applications
-
flutter-engine-3.47.2~amd64
View
Download
Browse License: Apache-2.0 BSD FTL GPL-2+ IJG libpng MIT openssl Unicode-DFS-2016 ZLIB Overlay: arrans-overlay
ChangeLog
commit 39d072eafc7eefc2a1e572bc863cc43cf2b4de6c
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:57:26 2026 +0000
dev-libs/flutter-engine: move package_config generator to helper script
Move the package_config synthesis logic from an inline bash heredoc to
files/flutter-engine-3.47.2-package-config.py. This avoids bash heredoc
stripping leading tabs from multi-level blocks (which caused a Python
IndentationError during src_prepare) while strictly complying with
Gentoo tab indentation and line length requirements.
commit 1ee4cd886d7f6c90268d4ef0f52dbbe4308e7775
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:35:43 2026 +0000
dev-libs/flutter-engine: format package_config generator with tabs and line limits
Use tabs for ebuild indentation and wrap lines to adhere to the 80-column
limit required by g2 lint.
commit 2762dc775d8771c002d2eaed9dd9f371c3989713
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:32:20 2026 +0000
dev-libs/flutter-engine: synthesize root engine package_config.json for offline snapshot targets
Upstream GN rules for Flutter Engine snapshot targets (specifically
application_snapshot for tools/const_finder) default to looking for
the repo-wide package config at //flutter/.dart_tool/package_config.json.
In the offline Gentoo build, dart pub get is executed in the vendored
Dart SDK (flutter/third_party/dart), generating its local package config.
Synthesize the Engine root package config in src_prepare by re-rooting
the resolved Dart SDK package URIs and declaring the Engine workspace
packages. This allows const_finder.dart.snapshot to resolve args and
kernel offline without network access or unbundled tooling dependencies.
commit ed34e9eb6a6eddd5ade7ecd64f30a1079498470f
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 09:37:54 2026 +0000
dev-libs/flutter-engine: add dev-libs/wayland to RDEPEND
SwiftShader WSI builds Wayland surface support (WaylandSurfaceKHR) on
Linux, which requires the <wayland-client.h> header provided by
dev-libs/wayland. Previously dev-libs/wayland was omitted from
dependencies, causing compilation to fail when building libVulkan.o
for flutter_tester on systems without Wayland development packages
installed.
commit 500c156619bfb6f715fe6569243721b236bd9ce8
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 05:49:01 2026 +0000
dev-libs/flutter-engine: guard Wayland GDK headers and display checks for non-Wayland GTK
In environments where x11-libs/gtk+:3 is installed without Wayland support
(such as standard Gentoo stage3 containers or profiles built with USE='-wayland'),
gdk/gdkwayland.h is not installed and GDK_WINDOWING_WAYLAND is undefined.
Upstream flutter/shell/platform/linux included gdk/gdkwayland.h unconditionally
in fl_opengl_manager.cc, fl_view.cc, and fl_view_renderer.cc, and called
GDK_IS_WAYLAND_DISPLAY unguarded, causing compilation failures. Guard these
includes and display calls behind #ifdef GDK_WINDOWING_WAYLAND, ensuring
fl_opengl_manager.cc also includes gdk/gdk.h beforehand so GDK backend macros
are declared.
commit 0be1f762f5834d6d609cfbd7b79241d1d41a0bf8
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 03:04:34 2026 +0000
dev-libs/flutter-engine: include GrDirectContext in EmbedderSurface and remove gtest_prod fallback
commit f0a34e3d9547b1145ac077943693097e023ca475
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 23:59:13 2026 +0000
dev-libs/flutter-engine: remove unused gtest_prod header in txt FontCollection and provide stub fallback
commit 9d2d2e0d9d7ddd2ec215dea1b90a577be9b1fadc
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 12:34:25 2026 +0000
dev-libs/flutter-engine: fix patch formatting for float-conversion and lib-switches
commit 7beeaa02bc0a0e7e0d62e81562c18725451c7ea1
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 12:14:46 2026 +0000
dev-libs/flutter-engine: guard Clang float-conversion warning and unreachable switch paths for GCC 15
commit 2b0b72194a7c1822a5743116c249cb27cd40a108
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 08:36:00 2026 +0000
dev-libs/flutter-engine: fix GCC 15 Impeller display_list diagnostics
Include SkRuntimeEffect.h in dl_runtime_effect_impeller.cc to provide the
complete type definition required by GCC when instantiating SkSafeUnref
during sk_sp<SkRuntimeEffect> destruction.
Add FML_UNREACHABLE() after the switch in dl_vertices_geometry.cc to prevent
GCC 15 -Wreturn-type warnings from terminating the build.
commit 7ea85482340a26d4cd6e43220016b93c3b570a8c
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 09:51:43 2026 +0000
dev-libs/flutter-engine: materialize vulkan_memory_allocator dependency for flutter_vma
commit 21c262cd77d5690612f521619f12857f96bed3b1
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 06:33:23 2026 +0000
dev-libs/flutter-engine: include cstring for DisplayList and inject via compiler flags
- Explicitly include <cstring> in DisplayListStorage and DlVertices headers
and implementations for memset and memcpy under GCC 15
- Inject -include cstring into GCC cflags_cc in build/config/compiler to
ensure standard memory functions are globally available
- Update toolchain configuration tests
commit 775c36be9d78025b5993c29eb044a4c1856aa612
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 05:13:56 2026 +0000
dev-libs/flutter-engine: fix GCC 15 Impeller diagnostics and omit -Werror
- Fix comparison of unsigned expression in '< 0' in Reflector::ComputeOffsets
- Mark unused static constants kTargetPlatformKey and
kUniformStructElementsKey with [[maybe_unused]]
- Add FML_UNREACHABLE() to RuntimeStageBackendToString and
SourceLanguageToString after non-void switch statements
- Remove -Werror from GCC default_warning_flags in build/config/compiler
per Gentoo distribution QA policy
- Add unit tests validating patch presence and content
commit 09b7f80d267b9be25ff311eb08f7fadcb7057f4b
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 02:09:59 2026 +0000
dev-libs/flutter-engine: materialize inja and json dependencies for impellerc
commit 85d1583b598f39c81f23fdcb4c1cbc0a9fe69fbd
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 00:11:45 2026 +0000
dev-libs/flutter-engine: use Portage-selected toolchain and remove -no-canonical-prefixes
commit d79bb8ddb3258a3e6ae31093239edda9b7895575
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 23:25:24 2026 +0000
dev-libs/flutter-engine: cover disabled Skia factories
commit 033b6475a063f44d3d527f7a00bb0baa9d8a0ac9
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 21:44:22 2026 +0000
dev-libs/flutter-engine: mark disabled Skia factory unused
commit 6162db453201c3bdd448f0184efb3c1c37d30778
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 20:41:08 2026 +0000
dev-libs/flutter-engine: fix Skia GCC comment diagnostics
commit fce16ece6e8b16986bf3e14bccaf5ea6b20f4142
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 19:41:24 2026 +0000
dev-libs/flutter-engine: guard Skia clang attribute from GCC
commit 594f56d6bce90a13a263cff8ae4e03106e730c65
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 18:54:29 2026 +0000
dev-libs/flutter-engine: fix further GCC 15 diagnostics
commit 1860f05cb0fc8a0acc4024afd218ee6b1cabe927
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 18:05:33 2026 +0000
dev-libs/flutter-engine: use Portage-compatible Impeller patch
commit be2623b4b0714cc41f89cfb12de129c4b9e1cfbb
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 17:51:59 2026 +0000
dev-libs/flutter-engine: mark Impeller switches unreachable
commit 104affc934d67dc1f12915ebd03774b17816a4d2
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 17:05:22 2026 +0000
dev-libs/flutter-engine: handle libstdc++ codecvt warning
commit 77d0fc55788c1671b57e4ca3f88807b149c916f1
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 16:34:16 2026 +0000
dev-libs/flutter-engine: fix GCC affinity diagnostic
commit 45759799a763355db8b2f43005f582ab41cf4d9c
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 15:52:27 2026 +0000
dev-libs/flutter-engine: patch active SkCMS GN tree
commit 6ec2abee4b187f2108e9cf4e0c2d51e60240515a
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 15:15:44 2026 +0000
dev-libs/flutter-engine: fix SkCMS GCC build
commit a3d6159ba33382b9e45b77446a8f5bfb7ca0cdaa
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 14:36:00 2026 +0000
dev-libs/flutter-engine: use absolute GCC toolchain
commit 9bd642980ff20897998134c9a4f9bb14b6a7938f
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 14:26:07 2026 +0000
dev-libs/flutter-engine: use Gentoo GCC prefix
commit 6b511f43928bbe47f3f08888af3032e7afe1954e
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 13:35:02 2026 +0000
dev-libs/flutter-engine: build mode-correct artifact contract
Build distinct debug, profile, and release Linux Engine outputs because flutter_tools selects both the GTK runtime and AOT snapshotter by mode. Share only mode-independent headers and non-product SDK semantics, add the adjacent Impeller shader library and flutter_gpu package, and make the offline integration test exercise ELF loading and the public C API.
commit 682119224e48f73180628c08571a7a3b3c7a0e7a
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 12:47:24 2026 +0000
dev-libs/flutter-engine: support full flutter_tools artifact contract and GCC
- Expand installed artifact contract to satisfy Flutter 3.47.2 flutter_tools:
* linux-x64 (debug), linux-x64-profile, linux-x64-release
* common/flutter_patched_sdk and common/flutter_patched_sdk_product
* pkg/sky_engine framework dart:ui bindings
* font-subset binary and const_finder.dart.snapshot
- Unbundle third_party/rapidjson using system dev-libs/rapidjson
- Guard Clang-only compiler flags under is_clang for GCC compatibility
- Update CI and test script with deterministic probes and binpkg cache
commit 90ed4bedcdf096510d799a8fe8f84c6c51452160
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 07:39:07 2026 +0000
dev-libs/flutter-engine: fix unbundled libtess2 header include in impeller
Unbundled games-util/libtess2 installs its header to /usr/include/tesselator.h,
causing Impeller's hardcoded third_party/libtess2/Include/tesselator.h
include to fail. Patch the include to <tesselator.h> and create a
compatibility symlink in src_prepare.
commit a05a24cdb1da3bd262aaff5b5973242eb99bd546
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 05:00:13 2026 +0000
dev-libs/flutter-engine: unpack parent dependency trees before subdirectories
In FLUTTER_ENGINE_DEPENDENCY_TREES, child packages (such as DARTDOC,
DART_CORE in $) were previously sorted alphabetically
before the parent Dart SDK tree (flutter/third_party/dart). Moving the
parent tree into an already existing child directory placed the SDK inside
flutter/third_party/dart/sdk-.../, breaking offline dart pub get in
src_prepare.
Sort trees by destination directory depth and path so all parent trees
are unpacked before their nested subdirectories, and add a regression test.
commit d6df0e8cd94c9d79e21b16f2cd45711a604d6bc1
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 02:54:24 2026 +0000
dev-libs/flutter-engine: fix install paths for g2-lint and GURU permissions
commit 2d69361e18beb9e44c571ea8f6243212d587c29c
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 02:46:36 2026 +0000
dev-libs/flutter-engine: add genuine source-built Flutter Engine package
Implement genuine from-source build of Flutter Engine 3.47.2 (issue #908),
superseding draft PR #922 without any external prebuilts or live fetches.
Key architectural and packaging choices:
- System library unbundling: unbundle media-libs/libpng, media-libs/libjpeg-turbo,
media-libs/freetype, and games-util/libtess2 (GURU) into host packages with
patch flutter-engine-3.47.2-system-libraries.patch, avoiding unstable Gitiles
mirrors.
- ANGLE elimination: eliminate unused ANGLE dependency by guarding unit test
runners (test_swangle_utils, flutter_tester_opengles) with enable_unittests
and directing Impeller GLES backend to system GL headers.
- ICU reuse: share stable librepo/chromium-icu distfile (dart-dep-icu-a86a32e6)
already audited and manifested in dev-lang/dart.
- Toolchain: build with GCC/G++ using system GN and Ninja (--no-clang, --no-rbe,
--no-goma, --runtime-mode=release, --no-prebuilt-dart).
- Verification: all 47 distfiles pinned, manifested, and verified with
scripts/verify_manifest.py. Generator unit tests and column width checks pass.
- Offline integration: scripts/test_flutter_engine_source.sh and workflow
.github/workflows/dev-libs-flutter-engine-source-test.yaml verify containerized
offline builds.
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:57:26 2026 +0000
dev-libs/flutter-engine: move package_config generator to helper script
Move the package_config synthesis logic from an inline bash heredoc to
files/flutter-engine-3.47.2-package-config.py. This avoids bash heredoc
stripping leading tabs from multi-level blocks (which caused a Python
IndentationError during src_prepare) while strictly complying with
Gentoo tab indentation and line length requirements.
commit 1ee4cd886d7f6c90268d4ef0f52dbbe4308e7775
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:35:43 2026 +0000
dev-libs/flutter-engine: format package_config generator with tabs and line limits
Use tabs for ebuild indentation and wrap lines to adhere to the 80-column
limit required by g2 lint.
commit 2762dc775d8771c002d2eaed9dd9f371c3989713
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 13:32:20 2026 +0000
dev-libs/flutter-engine: synthesize root engine package_config.json for offline snapshot targets
Upstream GN rules for Flutter Engine snapshot targets (specifically
application_snapshot for tools/const_finder) default to looking for
the repo-wide package config at //flutter/.dart_tool/package_config.json.
In the offline Gentoo build, dart pub get is executed in the vendored
Dart SDK (flutter/third_party/dart), generating its local package config.
Synthesize the Engine root package config in src_prepare by re-rooting
the resolved Dart SDK package URIs and declaring the Engine workspace
packages. This allows const_finder.dart.snapshot to resolve args and
kernel offline without network access or unbundled tooling dependencies.
commit ed34e9eb6a6eddd5ade7ecd64f30a1079498470f
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 09:37:54 2026 +0000
dev-libs/flutter-engine: add dev-libs/wayland to RDEPEND
SwiftShader WSI builds Wayland surface support (WaylandSurfaceKHR) on
Linux, which requires the <wayland-client.h> header provided by
dev-libs/wayland. Previously dev-libs/wayland was omitted from
dependencies, causing compilation to fail when building libVulkan.o
for flutter_tester on systems without Wayland development packages
installed.
commit 500c156619bfb6f715fe6569243721b236bd9ce8
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 05:49:01 2026 +0000
dev-libs/flutter-engine: guard Wayland GDK headers and display checks for non-Wayland GTK
In environments where x11-libs/gtk+:3 is installed without Wayland support
(such as standard Gentoo stage3 containers or profiles built with USE='-wayland'),
gdk/gdkwayland.h is not installed and GDK_WINDOWING_WAYLAND is undefined.
Upstream flutter/shell/platform/linux included gdk/gdkwayland.h unconditionally
in fl_opengl_manager.cc, fl_view.cc, and fl_view_renderer.cc, and called
GDK_IS_WAYLAND_DISPLAY unguarded, causing compilation failures. Guard these
includes and display calls behind #ifdef GDK_WINDOWING_WAYLAND, ensuring
fl_opengl_manager.cc also includes gdk/gdk.h beforehand so GDK backend macros
are declared.
commit 0be1f762f5834d6d609cfbd7b79241d1d41a0bf8
Author: Arran Ubels <arran4@gmail.com>
Date: Thu Sep 24 03:04:34 2026 +0000
dev-libs/flutter-engine: include GrDirectContext in EmbedderSurface and remove gtest_prod fallback
commit f0a34e3d9547b1145ac077943693097e023ca475
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 23:59:13 2026 +0000
dev-libs/flutter-engine: remove unused gtest_prod header in txt FontCollection and provide stub fallback
commit 9d2d2e0d9d7ddd2ec215dea1b90a577be9b1fadc
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 12:34:25 2026 +0000
dev-libs/flutter-engine: fix patch formatting for float-conversion and lib-switches
commit 7beeaa02bc0a0e7e0d62e81562c18725451c7ea1
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 12:14:46 2026 +0000
dev-libs/flutter-engine: guard Clang float-conversion warning and unreachable switch paths for GCC 15
commit 2b0b72194a7c1822a5743116c249cb27cd40a108
Author: Arran Ubels <arran4@gmail.com>
Date: Wed Sep 23 08:36:00 2026 +0000
dev-libs/flutter-engine: fix GCC 15 Impeller display_list diagnostics
Include SkRuntimeEffect.h in dl_runtime_effect_impeller.cc to provide the
complete type definition required by GCC when instantiating SkSafeUnref
during sk_sp<SkRuntimeEffect> destruction.
Add FML_UNREACHABLE() after the switch in dl_vertices_geometry.cc to prevent
GCC 15 -Wreturn-type warnings from terminating the build.
commit 7ea85482340a26d4cd6e43220016b93c3b570a8c
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 09:51:43 2026 +0000
dev-libs/flutter-engine: materialize vulkan_memory_allocator dependency for flutter_vma
commit 21c262cd77d5690612f521619f12857f96bed3b1
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 06:33:23 2026 +0000
dev-libs/flutter-engine: include cstring for DisplayList and inject via compiler flags
- Explicitly include <cstring> in DisplayListStorage and DlVertices headers
and implementations for memset and memcpy under GCC 15
- Inject -include cstring into GCC cflags_cc in build/config/compiler to
ensure standard memory functions are globally available
- Update toolchain configuration tests
commit 775c36be9d78025b5993c29eb044a4c1856aa612
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 05:13:56 2026 +0000
dev-libs/flutter-engine: fix GCC 15 Impeller diagnostics and omit -Werror
- Fix comparison of unsigned expression in '< 0' in Reflector::ComputeOffsets
- Mark unused static constants kTargetPlatformKey and
kUniformStructElementsKey with [[maybe_unused]]
- Add FML_UNREACHABLE() to RuntimeStageBackendToString and
SourceLanguageToString after non-void switch statements
- Remove -Werror from GCC default_warning_flags in build/config/compiler
per Gentoo distribution QA policy
- Add unit tests validating patch presence and content
commit 09b7f80d267b9be25ff311eb08f7fadcb7057f4b
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 02:09:59 2026 +0000
dev-libs/flutter-engine: materialize inja and json dependencies for impellerc
commit 85d1583b598f39c81f23fdcb4c1cbc0a9fe69fbd
Author: Arran Ubels <arran4@gmail.com>
Date: Fri Sep 18 00:11:45 2026 +0000
dev-libs/flutter-engine: use Portage-selected toolchain and remove -no-canonical-prefixes
commit d79bb8ddb3258a3e6ae31093239edda9b7895575
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 23:25:24 2026 +0000
dev-libs/flutter-engine: cover disabled Skia factories
commit 033b6475a063f44d3d527f7a00bb0baa9d8a0ac9
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 21:44:22 2026 +0000
dev-libs/flutter-engine: mark disabled Skia factory unused
commit 6162db453201c3bdd448f0184efb3c1c37d30778
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 20:41:08 2026 +0000
dev-libs/flutter-engine: fix Skia GCC comment diagnostics
commit fce16ece6e8b16986bf3e14bccaf5ea6b20f4142
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 19:41:24 2026 +0000
dev-libs/flutter-engine: guard Skia clang attribute from GCC
commit 594f56d6bce90a13a263cff8ae4e03106e730c65
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 18:54:29 2026 +0000
dev-libs/flutter-engine: fix further GCC 15 diagnostics
commit 1860f05cb0fc8a0acc4024afd218ee6b1cabe927
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 18:05:33 2026 +0000
dev-libs/flutter-engine: use Portage-compatible Impeller patch
commit be2623b4b0714cc41f89cfb12de129c4b9e1cfbb
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 17:51:59 2026 +0000
dev-libs/flutter-engine: mark Impeller switches unreachable
commit 104affc934d67dc1f12915ebd03774b17816a4d2
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 17:05:22 2026 +0000
dev-libs/flutter-engine: handle libstdc++ codecvt warning
commit 77d0fc55788c1671b57e4ca3f88807b149c916f1
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 16:34:16 2026 +0000
dev-libs/flutter-engine: fix GCC affinity diagnostic
commit 45759799a763355db8b2f43005f582ab41cf4d9c
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 15:52:27 2026 +0000
dev-libs/flutter-engine: patch active SkCMS GN tree
commit 6ec2abee4b187f2108e9cf4e0c2d51e60240515a
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 15:15:44 2026 +0000
dev-libs/flutter-engine: fix SkCMS GCC build
commit a3d6159ba33382b9e45b77446a8f5bfb7ca0cdaa
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 14:36:00 2026 +0000
dev-libs/flutter-engine: use absolute GCC toolchain
commit 9bd642980ff20897998134c9a4f9bb14b6a7938f
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 14:26:07 2026 +0000
dev-libs/flutter-engine: use Gentoo GCC prefix
commit 6b511f43928bbe47f3f08888af3032e7afe1954e
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 13:35:02 2026 +0000
dev-libs/flutter-engine: build mode-correct artifact contract
Build distinct debug, profile, and release Linux Engine outputs because flutter_tools selects both the GTK runtime and AOT snapshotter by mode. Share only mode-independent headers and non-product SDK semantics, add the adjacent Impeller shader library and flutter_gpu package, and make the offline integration test exercise ELF loading and the public C API.
commit 682119224e48f73180628c08571a7a3b3c7a0e7a
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 12:47:24 2026 +0000
dev-libs/flutter-engine: support full flutter_tools artifact contract and GCC
- Expand installed artifact contract to satisfy Flutter 3.47.2 flutter_tools:
* linux-x64 (debug), linux-x64-profile, linux-x64-release
* common/flutter_patched_sdk and common/flutter_patched_sdk_product
* pkg/sky_engine framework dart:ui bindings
* font-subset binary and const_finder.dart.snapshot
- Unbundle third_party/rapidjson using system dev-libs/rapidjson
- Guard Clang-only compiler flags under is_clang for GCC compatibility
- Update CI and test script with deterministic probes and binpkg cache
commit 90ed4bedcdf096510d799a8fe8f84c6c51452160
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 07:39:07 2026 +0000
dev-libs/flutter-engine: fix unbundled libtess2 header include in impeller
Unbundled games-util/libtess2 installs its header to /usr/include/tesselator.h,
causing Impeller's hardcoded third_party/libtess2/Include/tesselator.h
include to fail. Patch the include to <tesselator.h> and create a
compatibility symlink in src_prepare.
commit a05a24cdb1da3bd262aaff5b5973242eb99bd546
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 05:00:13 2026 +0000
dev-libs/flutter-engine: unpack parent dependency trees before subdirectories
In FLUTTER_ENGINE_DEPENDENCY_TREES, child packages (such as DARTDOC,
DART_CORE in $) were previously sorted alphabetically
before the parent Dart SDK tree (flutter/third_party/dart). Moving the
parent tree into an already existing child directory placed the SDK inside
flutter/third_party/dart/sdk-.../, breaking offline dart pub get in
src_prepare.
Sort trees by destination directory depth and path so all parent trees
are unpacked before their nested subdirectories, and add a regression test.
commit d6df0e8cd94c9d79e21b16f2cd45711a604d6bc1
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 02:54:24 2026 +0000
dev-libs/flutter-engine: fix install paths for g2-lint and GURU permissions
commit 2d69361e18beb9e44c571ea8f6243212d587c29c
Author: Arran Ubels <arran4@gmail.com>
Date: Sat Sep 12 02:46:36 2026 +0000
dev-libs/flutter-engine: add genuine source-built Flutter Engine package
Implement genuine from-source build of Flutter Engine 3.47.2 (issue #908),
superseding draft PR #922 without any external prebuilts or live fetches.
Key architectural and packaging choices:
- System library unbundling: unbundle media-libs/libpng, media-libs/libjpeg-turbo,
media-libs/freetype, and games-util/libtess2 (GURU) into host packages with
patch flutter-engine-3.47.2-system-libraries.patch, avoiding unstable Gitiles
mirrors.
- ANGLE elimination: eliminate unused ANGLE dependency by guarding unit test
runners (test_swangle_utils, flutter_tester_opengles) with enable_unittests
and directing Impeller GLES backend to system GL headers.
- ICU reuse: share stable librepo/chromium-icu distfile (dart-dep-icu-a86a32e6)
already audited and manifested in dev-lang/dart.
- Toolchain: build with GCC/G++ using system GN and Ninja (--no-clang, --no-rbe,
--no-goma, --runtime-mode=release, --no-prebuilt-dart).
- Verification: all 47 distfiles pinned, manifested, and verified with
scripts/verify_manifest.py. Generator unit tests and column width checks pass.
- Offline integration: scripts/test_flutter_engine_source.sh and workflow
.github/workflows/dev-libs-flutter-engine-source-test.yaml verify containerized
offline builds.

