Install this version:
emerge -a =dev-lang/flutter-3.47.2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-lang/flutter-3.47.2
Or alternatively:
emerge --autounmask-write -a =dev-lang/flutter-3.47.2
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 3.47.2 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Flutter's pinned pub dependencies for flutter_tools are generated by
# scripts/generate_flutter_ebuild.py. Do not edit the generated block.
EAPI=8
inherit multiprocessing
DESCRIPTION="Flutter SDK - cross-platform UI framework (built from source)"
HOMEPAGE="https://flutter.dev/ https://github.com/flutter/flutter"
FLUTTER_GIT_COMMIT="d3b14c876900e553bc736ca19295fc09e3853e8e"
FLUTTER_ENGINE_REV="a804b261645ef8c13eb3d5c44a5c2fb0340c5539"
# BEGIN GENERATED FLUTTER PUB DEPS
FLUTTER_FONTS_REV="3012db47f3130e62f7cc0beabff968a33cbec8d8"
FLUTTER_GRADLE_REV="fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa"
FLUTTER_GCS="https://storage.googleapis.com/flutter_infra_release"
PUB_URI="https://pub.dev/api/archives"
SRC_URI="
https://github.com/flutter/flutter/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz
${FLUTTER_GCS}/flutter/fonts/${FLUTTER_FONTS_REV}/fonts.zip
-> flutter-material-fonts-3012db47.zip
${FLUTTER_GCS}/gradle-wrapper/${FLUTTER_GRADLE_REV}/gradle-wrapper.tgz
-> flutter-gradle-wrapper-fd5c1f2c.tgz
${PUB_URI}/_fe_analyzer_shared-95.0.0.tar.gz
${PUB_URI}/analyzer-10.1.0.tar.gz
${PUB_URI}/archive-3.6.1.tar.gz
${PUB_URI}/args-2.7.0.tar.gz
${PUB_URI}/async-2.13.1.tar.gz
${PUB_URI}/boolean_selector-2.1.2.tar.gz
${PUB_URI}/browser_launcher-1.1.3.tar.gz
${PUB_URI}/built_collection-5.1.1.tar.gz
${PUB_URI}/built_value-8.12.6.tar.gz
${PUB_URI}/checked_yaml-2.0.4.tar.gz
${PUB_URI}/cli_config-0.2.0.tar.gz
${PUB_URI}/clock-1.1.2.tar.gz
${PUB_URI}/code_assets-1.2.1.tar.gz
${PUB_URI}/code_builder-4.11.1.tar.gz
${PUB_URI}/collection-1.19.1.tar.gz
${PUB_URI}/completion-1.0.2.tar.gz
${PUB_URI}/convert-3.1.2.tar.gz
${PUB_URI}/coverage-1.15.1.tar.gz
${PUB_URI}/crypto-3.0.7.tar.gz
${PUB_URI}/csslib-1.0.2.tar.gz
${PUB_URI}/dap-1.4.0.tar.gz
${PUB_URI}/dart_service_protocol_shared-0.0.3.tar.gz
${PUB_URI}/dart_style-3.1.7.tar.gz
${PUB_URI}/data_assets-0.20.0.tar.gz
${PUB_URI}/dds-5.3.0.tar.gz
${PUB_URI}/dds_service_extensions-2.1.0.tar.gz
${PUB_URI}/devtools_shared-12.1.0.tar.gz
${PUB_URI}/dtd-4.0.0.tar.gz
${PUB_URI}/dwds-27.1.2.tar.gz
${PUB_URI}/extension_discovery-2.1.0.tar.gz
${PUB_URI}/fake_async-1.3.3.tar.gz
${PUB_URI}/ffi-2.2.0.tar.gz
${PUB_URI}/file-7.0.1.tar.gz
${PUB_URI}/file_testing-3.0.2.tar.gz
${PUB_URI}/fixnum-1.1.1.tar.gz
${PUB_URI}/flutter_template_images-5.0.0.tar.gz
${PUB_URI}/frontend_server_client-4.0.0.tar.gz
${PUB_URI}/glob-2.1.3.tar.gz
${PUB_URI}/graphs-2.3.2.tar.gz
${PUB_URI}/hooks-2.0.2.tar.gz
${PUB_URI}/hooks_runner-1.5.0.tar.gz
${PUB_URI}/html-0.15.6.tar.gz
${PUB_URI}/http-1.6.0.tar.gz
${PUB_URI}/http_multi_server-3.2.2.tar.gz
${PUB_URI}/http_parser-4.1.2.tar.gz
${PUB_URI}/intl-0.20.3.tar.gz
${PUB_URI}/io-1.0.5.tar.gz
${PUB_URI}/js-0.7.2.tar.gz
${PUB_URI}/json_annotation-4.12.0.tar.gz
${PUB_URI}/json_rpc_2-4.1.0.tar.gz
${PUB_URI}/logging-1.3.0.tar.gz
${PUB_URI}/matcher-0.12.20.tar.gz
${PUB_URI}/meta-1.18.3.tar.gz
${PUB_URI}/mime-2.0.0.tar.gz
${PUB_URI}/multicast_dns-0.3.3+1.tar.gz
${PUB_URI}/mustache_template-2.0.5.tar.gz
${PUB_URI}/native_stack_traces-0.6.1.tar.gz
${PUB_URI}/node_preamble-2.0.2.tar.gz
${PUB_URI}/package_config-2.2.0.tar.gz
${PUB_URI}/path-1.9.1.tar.gz
${PUB_URI}/petitparser-7.0.2.tar.gz
${PUB_URI}/platform-3.1.6.tar.gz
${PUB_URI}/pool-1.5.2.tar.gz
${PUB_URI}/process-5.0.5.tar.gz
${PUB_URI}/pub_semver-2.2.0.tar.gz
${PUB_URI}/pubspec_parse-1.5.0.tar.gz
${PUB_URI}/record_use-0.6.0.tar.gz
${PUB_URI}/shelf-1.4.2.tar.gz
${PUB_URI}/shelf_packages_handler-3.0.2.tar.gz
${PUB_URI}/shelf_proxy-1.0.5.tar.gz
${PUB_URI}/shelf_static-1.1.3.tar.gz
${PUB_URI}/shelf_web_socket-3.0.0.tar.gz
${PUB_URI}/source_map_stack_trace-2.1.2.tar.gz
${PUB_URI}/source_maps-0.10.13.tar.gz
${PUB_URI}/source_span-1.10.2.tar.gz
${PUB_URI}/sprintf-7.0.0.tar.gz
${PUB_URI}/sse-4.2.0.tar.gz
${PUB_URI}/stack_trace-1.12.1.tar.gz
${PUB_URI}/standard_message_codec-0.0.1+5.tar.gz
${PUB_URI}/stream_channel-2.1.4.tar.gz
${PUB_URI}/string_scanner-1.4.1.tar.gz
${PUB_URI}/sync_http-0.3.1.tar.gz
${PUB_URI}/term_glyph-1.2.2.tar.gz
${PUB_URI}/test-1.31.1.tar.gz
${PUB_URI}/test_api-0.7.12.tar.gz
${PUB_URI}/test_core-0.6.18.tar.gz
${PUB_URI}/typed_data-1.4.0.tar.gz
${PUB_URI}/unified_analytics-8.0.15.tar.gz
${PUB_URI}/uuid-4.5.3.tar.gz
${PUB_URI}/vm_service-15.2.0.tar.gz
${PUB_URI}/vm_service_interface-2.0.1.tar.gz
${PUB_URI}/vm_snapshot_analysis-0.7.6.tar.gz
${PUB_URI}/watcher-1.2.1.tar.gz
${PUB_URI}/web-1.1.1.tar.gz
${PUB_URI}/web_socket-1.0.1.tar.gz
${PUB_URI}/web_socket_channel-3.0.3.tar.gz
${PUB_URI}/webdriver-3.1.0.tar.gz
${PUB_URI}/webkit_inspection_protocol-1.2.1.tar.gz
${PUB_URI}/xml-6.6.1.tar.gz
${PUB_URI}/yaml-3.1.3.tar.gz
${PUB_URI}/yaml_edit-2.2.4.tar.gz
"
# END GENERATED FLUTTER PUB DEPS
LICENSE="BSD Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND="
!dev-lang/flutter-bin
~dev-libs/flutter-engine-3.47.2
virtual/dart
app-arch/tar
app-arch/unzip
dev-vcs/git
sys-apps/coreutils
sys-apps/util-linux
sys-apps/which
"
BDEPEND="
app-arch/tar
app-arch/unzip
virtual/dart
dev-vcs/git
sys-apps/which
"
PATCHES=(
"${FILESDIR}/flutter-xdg-cache-r1.patch"
)
src_unpack() {
unpack "${P}.tar.gz"
local pub_cache="${S}/.pub-cache"
mkdir -p "${pub_cache}/hosted/pub.dev" \
"${pub_cache}/hosted-hashes/pub.dev" || die
mkdir -p "${S}/bin/cache/artifacts/material_fonts" \
"${S}/bin/cache/artifacts/gradle_wrapper" || die
unzip -q "${DISTDIR}/flutter-material-fonts-3012db47.zip" \
-d "${S}/bin/cache/artifacts/material_fonts" || die
tar -xzf "${DISTDIR}/flutter-gradle-wrapper-fd5c1f2c.tgz" \
-C "${S}/bin/cache/artifacts/gradle_wrapper" || die
local archive pkg_file base pkg_dir
for archive in ${A}; do
case "${archive}" in
"${P}.tar.gz"|"flutter-material-fonts-"*|"flutter-gradle-wrapper-"*)
;;
*.tar.gz)
pkg_file="${archive}"
base="${pkg_file%.tar.gz}"
pkg_dir="${pub_cache}/hosted/pub.dev/${base}"
mkdir -p "${pkg_dir}" || die
tar -xzf "${DISTDIR}/${pkg_file}" -C "${pkg_dir}" || die
sha256sum "${DISTDIR}/${pkg_file}" | cut -d' ' -f1 > \
"${pub_cache}/hosted-hashes/pub.dev/${base}.sha256" || die
;;
esac
done
}
src_prepare() {
default
echo "${PV}" > "${S}/version" || die
echo "${FLUTTER_ENGINE_REV}" > "${S}/bin/internal/engine.version" || die
touch "${S}/.git" || die
local cache_dir="${S}/bin/cache"
mkdir -p "${cache_dir}" || die
local rev="${FLUTTER_ENGINE_REV}"
printf '%s\n' "${rev}" > "${cache_dir}/engine.stamp" || die
printf '%s\n' "${rev}" > "${cache_dir}/engine-dart-sdk.stamp" || die
printf '%s\n' "${rev}" > "${cache_dir}/linux-sdk.stamp" || die
printf '%s\n' "${rev}" > "${cache_dir}/flutter_sdk.stamp" || die
printf '%s\n' "${rev}" > "${cache_dir}/font-subset.stamp" || die
printf '%s\n' "${rev}" > "${cache_dir}/engine_stamp.stamp" || die
cat "${S}/bin/internal/material_fonts.version" \
> "${cache_dir}/material_fonts.stamp" || die
cat "${S}/bin/internal/gradle_wrapper.version" \
> "${cache_dir}/gradle_wrapper.stamp" || die
printf '%s:\n' "${FLUTTER_GIT_COMMIT}" \
> "${cache_dir}/flutter_tools.stamp" || die
cat <<-EOF > "${cache_dir}/flutter.version.json" || die
{
"frameworkVersion": "${PV}",
"channel": "stable",
"repositoryUrl": "https://github.com/flutter/flutter.git",
"frameworkRevision": "${FLUTTER_GIT_COMMIT}",
"frameworkCommitDate": "2026-02-12 14:14:02 -0800",
"engineRevision": "${FLUTTER_ENGINE_REV}",
"engineCommitDate": "2026-08-26 11:46:13.000Z",
"engineContentHash": "${FLUTTER_ENGINE_REV}",
"engineBuildDate": "2026-08-26 11:46:13.000",
"dartSdkVersion": "3.13.3",
"devToolsVersion": "2.60.0",
"flutterVersion": "${PV}"
}
EOF
cat <<-EOF > "${cache_dir}/engine_stamp.json" || die
{
"build_date": "2026-08-26T11:46:13",
"build_time_ms": 1787744773000,
"git_revision": "${FLUTTER_ENGINE_REV}",
"git_revision_date": "2026-08-26 11:46:13-07:00",
"content_hash": "${FLUTTER_ENGINE_REV}"
}
EOF
# Symlink Dart SDK into Flutter cache
ln -s /opt/dart-sdk "${cache_dir}/dart-sdk" || die
# Wire Engine artifacts from dev-libs/flutter-engine
local engine_root="/usr/lib/flutter-engine/${PV}"
local engine_art="${cache_dir}/artifacts/engine"
mkdir -p "${engine_art}/common" "${cache_dir}/pkg" || die
ln -s "${engine_root}/linux-x64" "${engine_art}/linux-x64" || die
ln -s "${engine_root}/linux-x64-profile" \
"${engine_art}/linux-x64-profile" || die
ln -s "${engine_root}/linux-x64-release" \
"${engine_art}/linux-x64-release" || die
ln -s "${engine_root}/common/flutter_patched_sdk" \
"${engine_art}/common/flutter_patched_sdk" || die
ln -s "${engine_root}/common/flutter_patched_sdk_product" \
"${engine_art}/common/flutter_patched_sdk_product" || die
ln -s "${engine_root}/pkg/sky_engine" "${cache_dir}/pkg/sky_engine" || die
ln -s "${engine_root}/pkg/flutter_gpu" "${cache_dir}/pkg/flutter_gpu" || die
}
src_compile() {
export FLUTTER_ROOT="${S}"
export PUB_CACHE="${S}/.pub-cache"
export FLUTTER_CACHE_DIR="${S}/bin/cache"
local dart_bin="/opt/dart-sdk/bin/dart"
if [[ ! -x "${dart_bin}" ]]; then
dart_bin="$(type -P dart || die 'dart binary not found')"
fi
cd "${S}/packages/flutter_tools" || die
"${dart_bin}" pub get --offline || die
local tools_cfg="${S}/packages/flutter_tools/.dart_tool/package_config.json"
"${dart_bin}" \
--packages="${tools_cfg}" \
--snapshot="${S}/bin/cache/flutter_tools.snapshot" \
bin/flutter_tools.dart || die
sed -i \
-e "s|file://${S}/.pub-cache|file:///opt/flutter/.pub-cache|g" \
-e "s|file://${S}|file:///opt/flutter|g" \
"${tools_cfg}" || die
}
src_install() {
dodir /opt/flutter
cp -a "${S}/." "${ED}/opt/flutter/" || die
fperms 0755 /opt/flutter/bin/flutter
fperms 0755 /opt/flutter/bin/dart
sed -e "s/@PV@/${PV}/g" -e "s/@PVR@/${PVR}/g" \
"${FILESDIR}/flutter-wrapper" > "${T}/flutter" || die
dobin "${T}/flutter"
dodir /opt/bin
dosym ../../usr/bin/flutter /opt/bin/flutter
}
!dev-lang/flutter-bin ~dev-libs/flutter-engine-3.47.2 virtual/dart app-arch/tar app-arch/unzip dev-vcs/git sys-apps/coreutils sys-apps/util-linux sys-apps/which
app-arch/tar app-arch/unzip virtual/dart dev-vcs/git sys-apps/which