mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-31 17:23:34 +00:00
Merge pull request #324717 from ExpidusOS/fix/flutter-engine
flutterPackages-source: disable old version sources, fix update hashes
This commit is contained in:
commit
bc927415b4
@ -1,41 +1,48 @@
|
||||
{ lib, targetPlatform }:
|
||||
rec {
|
||||
os =
|
||||
if targetPlatform.isLinux then
|
||||
"linux"
|
||||
else if targetPlatform.isDarwin then
|
||||
"macos"
|
||||
else if targetPlatform.isWindows then
|
||||
"windows"
|
||||
else
|
||||
throw "Unsupported OS \"${targetPlatform.parsed.kernel.name}\"";
|
||||
{ lib, platform }:
|
||||
let
|
||||
self = {
|
||||
os =
|
||||
if platform.isLinux then
|
||||
"linux"
|
||||
else if platform.isDarwin then
|
||||
"macos"
|
||||
else if platform.isWindows then
|
||||
"windows"
|
||||
else
|
||||
throw "Unsupported OS \"${platform.parsed.kernel.name}\"";
|
||||
|
||||
arch =
|
||||
if targetPlatform.isx86_64 then
|
||||
"amd64"
|
||||
else if targetPlatform.isx86 && targetPlatform.is32bit then
|
||||
"386"
|
||||
else if targetPlatform.isAarch64 then
|
||||
"arm64"
|
||||
else if targetPlatform.isMips && targetPlatform.parsed.cpu.significantByte == "littleEndian" then
|
||||
"mipsle"
|
||||
else if targetPlatform.isMips64 then
|
||||
"mips64${lib.optionalString (targetPlatform.parsed.cpu.significantByte == "littleEndian") "le"}"
|
||||
else if targetPlatform.isPower64 then
|
||||
"ppc64${lib.optionalString (targetPlatform.parsed.cpu.significantByte == "littleEndian") "le"}"
|
||||
else if targetPlatform.isS390x then
|
||||
"s390x"
|
||||
else
|
||||
throw "Unsupported CPU \"${targetPlatform.parsed.cpu.name}\"";
|
||||
alt-os = if platform.isDarwin then "mac" else self.os;
|
||||
|
||||
alt-arch =
|
||||
if targetPlatform.isx86_64 then
|
||||
"x64"
|
||||
else if targetPlatform.isAarch64 then
|
||||
"arm64"
|
||||
else
|
||||
targetPlatform.parsed.cpu.name;
|
||||
arch =
|
||||
if platform.isx86_64 then
|
||||
"amd64"
|
||||
else if platform.isx86 && platform.is32bit then
|
||||
"386"
|
||||
else if platform.isAarch64 then
|
||||
"arm64"
|
||||
else if platform.isMips && platform.parsed.cpu.significantByte == "littleEndian" then
|
||||
"mipsle"
|
||||
else if platform.isMips64 then
|
||||
"mips64${lib.optionalString (platform.parsed.cpu.significantByte == "littleEndian") "le"}"
|
||||
else if platform.isPower64 then
|
||||
"ppc64${lib.optionalString (platform.parsed.cpu.significantByte == "littleEndian") "le"}"
|
||||
else if platform.isS390x then
|
||||
"s390x"
|
||||
else if platform.isRiscV64 then
|
||||
"riscv64"
|
||||
else
|
||||
throw "Unsupported CPU \"${platform.parsed.cpu.name}\"";
|
||||
|
||||
platform = "${os}-${arch}";
|
||||
alt-platform = "${os}-${alt-arch}";
|
||||
}
|
||||
alt-arch =
|
||||
if platform.isx86_64 then
|
||||
"x64"
|
||||
else if platform.isAarch64 then
|
||||
"arm64"
|
||||
else
|
||||
platform.parsed.cpu.name;
|
||||
|
||||
platform = "${self.os}-${self.arch}";
|
||||
alt-platform = "${self.os}-${self.alt-arch}";
|
||||
};
|
||||
in
|
||||
self
|
||||
|
@ -9,7 +9,7 @@
|
||||
url,
|
||||
patches,
|
||||
runtimeModes,
|
||||
isOptimized ? true,
|
||||
isOptimized ? null,
|
||||
lib,
|
||||
stdenv,
|
||||
dart,
|
||||
@ -33,8 +33,8 @@ let
|
||||
url
|
||||
patches
|
||||
runtimeMode
|
||||
isOptimized
|
||||
;
|
||||
isOptimized = args.isOptimized or runtimeMode != "debug";
|
||||
}
|
||||
);
|
||||
in
|
||||
|
@ -4,11 +4,11 @@
|
||||
writeText,
|
||||
symlinkJoin,
|
||||
targetPlatform,
|
||||
hostPlatform,
|
||||
buildPlatform,
|
||||
darwin,
|
||||
clang,
|
||||
llvm,
|
||||
tools ? callPackage ./tools.nix { inherit hostPlatform; },
|
||||
tools ? callPackage ./tools.nix { inherit buildPlatform; },
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
dart,
|
||||
@ -33,7 +33,8 @@
|
||||
gtk3,
|
||||
pkg-config,
|
||||
ninja,
|
||||
python3,
|
||||
python312,
|
||||
python39,
|
||||
git,
|
||||
version,
|
||||
flutterVersion,
|
||||
@ -44,7 +45,7 @@
|
||||
patches,
|
||||
url,
|
||||
runtimeMode ? "release",
|
||||
isOptimized ? true,
|
||||
isOptimized ? runtimeMode != "debug",
|
||||
}:
|
||||
let
|
||||
expandSingleDep =
|
||||
@ -52,14 +53,19 @@ let
|
||||
|
||||
expandDeps = deps: lib.flatten (map expandSingleDep deps);
|
||||
|
||||
constants = callPackage ./constants.nix { inherit targetPlatform; };
|
||||
constants = callPackage ./constants.nix { platform = targetPlatform; };
|
||||
|
||||
python3 = if lib.versionAtLeast flutterVersion "3.20" then python312 else python39;
|
||||
|
||||
src = callPackage ./source.nix {
|
||||
inherit
|
||||
tools
|
||||
flutterVersion
|
||||
version
|
||||
hashes
|
||||
url
|
||||
targetPlatform
|
||||
buildPlatform
|
||||
;
|
||||
};
|
||||
|
||||
@ -81,9 +87,11 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt --unoptimized"}";
|
||||
outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt"}";
|
||||
|
||||
dartPath = "${if (lib.versionAtLeast flutterVersion "3.23") then "flutter/third_party" else "third_party"}/dart";
|
||||
dartPath = "${
|
||||
if (lib.versionAtLeast flutterVersion "3.23") then "flutter/third_party" else "third_party"
|
||||
}/dart";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}";
|
||||
@ -95,7 +103,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
dartSdkVersion
|
||||
src
|
||||
outName
|
||||
swiftshader;
|
||||
swiftshader
|
||||
;
|
||||
|
||||
setOutputFlags = false;
|
||||
doStrip = isOptimized;
|
||||
|
||||
toolchain = symlinkJoin {
|
||||
name = "flutter-engine-toolchain-${version}";
|
||||
@ -145,9 +157,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${finalAttrs.toolchain}/include";
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${finalAttrs.toolchain}/include"
|
||||
] ++ lib.optional (!isOptimized) "-U_FORTIFY_SOURCE";
|
||||
|
||||
nativeCheckInputs = lib.optionals stdenv.isLinux [ xorg.xorgserver openbox ];
|
||||
nativeCheckInputs = lib.optionals stdenv.isLinux [
|
||||
xorg.xorgserver
|
||||
openbox
|
||||
];
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
@ -168,10 +185,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [ gtk3 ];
|
||||
|
||||
patchtools = [
|
||||
"${dartPath}/tools/sdks/dart-sdk/bin/dart"
|
||||
"flutter/third_party/gn/gn"
|
||||
];
|
||||
patchtools = [ "flutter/third_party/gn/gn" ];
|
||||
|
||||
dontPatch = true;
|
||||
|
||||
@ -194,6 +208,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mkdir -p src/flutter/buildtools/${constants.alt-platform}
|
||||
ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang
|
||||
|
||||
mkdir -p src/buildtools/${constants.alt-platform}
|
||||
ln -s ${llvm} src/buildtools/${constants.alt-platform}/clang
|
||||
|
||||
mkdir -p src/${dartPath}/tools/sdks
|
||||
ln -s ${dart} src/${dartPath}/tools/sdks/dart-sdk
|
||||
|
||||
${lib.optionalString (stdenv.isLinux) ''
|
||||
@ -204,13 +222,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
for dir in ''${patchgit[@]}; do
|
||||
pushd src/$dir
|
||||
rev=$(cat .git/HEAD)
|
||||
rm -rf .git
|
||||
git init
|
||||
git add .
|
||||
git config user.name "nobody"
|
||||
git config user.email "nobody@local.host"
|
||||
git commit -a -m "$rev" --quiet
|
||||
git commit -a -m "$dir" --quiet
|
||||
popd
|
||||
done
|
||||
|
||||
@ -239,7 +256,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals (targetPlatform.isx86_64 == false) [
|
||||
"--linux"
|
||||
"--linux-cpu ${constants.alt-arch}"
|
||||
];
|
||||
]
|
||||
++ lib.optional (!isOptimized) "--unoptimized"
|
||||
++ lib.optional (runtimeMode == "debug") "--no-stripped";
|
||||
|
||||
# NOTE: Once https://github.com/flutter/flutter/issues/127606 is fixed, use "--no-prebuilt-dart-sdk"
|
||||
configurePhase =
|
||||
@ -267,22 +286,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook preBuild
|
||||
|
||||
export TERM=dumb
|
||||
for tool in flatc scenec gen_snapshot dart impellerc shader_archiver gen_snapshot_product; do
|
||||
ninja -C $out/out/$outName -j$NIX_BUILD_CORES $tool
|
||||
${lib.optionalString (stdenv.isLinux) ''
|
||||
patchelf $out/out/$outName/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
|
||||
''}
|
||||
done
|
||||
|
||||
ninja -C $out/out/$outName -j$NIX_BUILD_CORES
|
||||
|
||||
${lib.optionalString (stdenv.isLinux) ''
|
||||
patchelf $out/out/$outName/dart-sdk/bin/dartaotruntime \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
|
||||
|
||||
find $out/out/$outName/exe.unstripped -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \;
|
||||
''}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
@ -323,5 +329,5 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
} // lib.optionalAttrs (lib.versionOlder flutterVersion "3.22") { hydraPlatforms = [ ]; };
|
||||
})
|
||||
|
@ -1,9 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
hostPlatform,
|
||||
buildPlatform,
|
||||
targetPlatform,
|
||||
hostPlatform,
|
||||
fetchgit,
|
||||
tools ? callPackage ./tools.nix { inherit hostPlatform; },
|
||||
tools ? null,
|
||||
curl,
|
||||
pkg-config,
|
||||
git,
|
||||
@ -11,15 +13,19 @@
|
||||
runCommand,
|
||||
writeText,
|
||||
cacert,
|
||||
flutterVersion,
|
||||
version,
|
||||
hashes,
|
||||
url,
|
||||
}:
|
||||
}@pkgs:
|
||||
let
|
||||
constants = callPackage ./constants.nix { inherit targetPlatform; };
|
||||
target-constants = callPackage ./constants.nix { platform = targetPlatform; };
|
||||
build-constants = callPackage ./constants.nix { platform = buildPlatform; };
|
||||
tools = pkgs.tools or (callPackage ./tools.nix { inherit hostPlatform buildPlatform; });
|
||||
|
||||
boolOption = value: if value then "True" else "False";
|
||||
in
|
||||
runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
|
||||
runCommand "flutter-engine-source-${version}-${buildPlatform.system}-${targetPlatform.system}"
|
||||
{
|
||||
pname = "flutter-engine-source";
|
||||
inherit version;
|
||||
@ -51,8 +57,20 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
|
||||
"setup_githooks": False,
|
||||
"download_esbuild": False,
|
||||
"download_dart_sdk": False,
|
||||
"host_cpu": "${build-constants.alt-arch}",
|
||||
"host_os": "${build-constants.alt-os}",
|
||||
},
|
||||
}]
|
||||
|
||||
target_os_only = True
|
||||
target_os = [
|
||||
"${target-constants.alt-os}"
|
||||
]
|
||||
|
||||
target_cpu_only = True
|
||||
target_cpu = [
|
||||
"${target-constants.alt-arch}"
|
||||
]
|
||||
'';
|
||||
|
||||
NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
@ -64,7 +82,9 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = hashes.${targetPlatform.system} or (throw "Hash not set for ${targetPlatform.system}");
|
||||
outputHash =
|
||||
(hashes."${buildPlatform.system}" or { })."${targetPlatform.system}"
|
||||
or (throw "Hash not set for ${targetPlatform.system} on ${buildPlatform.system}");
|
||||
}
|
||||
''
|
||||
source ${../../../../build-support/fetchgit/deterministic-git}
|
||||
@ -76,13 +96,13 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
|
||||
cd $out
|
||||
|
||||
export PATH=$PATH:$depot_tools
|
||||
python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks 2>&1 >/dev/null
|
||||
find $out -name '.git' -exec dirname {} \; | xargs bash -c 'make_deterministic_repo $@' _
|
||||
find $out -path '*/.git/*' ! -name 'HEAD' -prune -exec rm -rf {} \;
|
||||
find $out -name '.git' -exec mkdir {}/logs \;
|
||||
find $out -name '.git' -exec cp {}/HEAD {}/logs/HEAD \;
|
||||
python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks -j $NIX_BUILD_CORES
|
||||
find $out -name '.git' -exec rm -rf {} \; || true
|
||||
|
||||
rm -rf $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader}
|
||||
rm -rf $out/src/buildtools/
|
||||
rm -rf $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader,third_party/gn/.versions}
|
||||
rm -rf $out/src/flutter/{third_party/dart/tools/sdks/dart-sdk,third_party/ninja/ninja}
|
||||
rm -rf $out/src/third_party/{dart/tools/sdks/dart-sdk,libcxx/test}
|
||||
|
||||
rm -rf $out/.cipd $out/.gclient $out/.gclient_entries $out/.gclient_previous_custom_vars $out/.gclient_previous_sync_commits
|
||||
''
|
||||
|
@ -1,9 +1,11 @@
|
||||
{
|
||||
stdenv,
|
||||
callPackage,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
writeText,
|
||||
runCommand,
|
||||
buildPlatform,
|
||||
hostPlatform,
|
||||
darwin,
|
||||
writeShellScriptBin,
|
||||
@ -29,7 +31,9 @@
|
||||
},
|
||||
}:
|
||||
let
|
||||
constants = callPackage ./constants.nix { targetPlatform = hostPlatform; };
|
||||
constants = callPackage ./constants.nix { platform = buildPlatform; };
|
||||
host-constants = callPackage ./constants.nix { platform = hostPlatform; };
|
||||
stdenv-constants = callPackage ./constants.nix { platform = stdenv.hostPlatform; };
|
||||
in
|
||||
{
|
||||
depot_tools = fetchgit {
|
||||
@ -39,18 +43,45 @@ in
|
||||
};
|
||||
|
||||
cipd =
|
||||
runCommand "cipd-${cipdCommit}"
|
||||
{
|
||||
unwrapped = fetchurl {
|
||||
name = "cipd-${cipdCommit}-unwrapped";
|
||||
url = "https://chrome-infra-packages.appspot.com/client?platform=${constants.platform}&version=git_revision:${cipdCommit}";
|
||||
sha256 = cipdHashes.${constants.platform};
|
||||
};
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
install -m755 $unwrapped $out/bin/cipd
|
||||
'';
|
||||
let
|
||||
unwrapped =
|
||||
runCommand "cipd-${cipdCommit}"
|
||||
{
|
||||
src = fetchurl {
|
||||
name = "cipd-${cipdCommit}-unwrapped";
|
||||
url = "https://chrome-infra-packages.appspot.com/client?platform=${stdenv-constants.platform}&version=git_revision:${cipdCommit}";
|
||||
sha256 = cipdHashes.${stdenv-constants.platform};
|
||||
};
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
install -m755 $src $out/bin/cipd
|
||||
'';
|
||||
in
|
||||
writeShellScriptBin "cipd" ''
|
||||
params=$@
|
||||
|
||||
if [[ "$1" == "ensure" ]]; then
|
||||
shift 1
|
||||
params="ensure"
|
||||
|
||||
while [ "$#" -ne 0 ]; do
|
||||
if [[ "$1" == "-ensure-file" ]]; then
|
||||
ensureFile="$2"
|
||||
shift 2
|
||||
params="$params -ensure-file $ensureFile"
|
||||
|
||||
sed -i 's/''${platform}/${host-constants.platform}/g' "$ensureFile"
|
||||
sed -i 's/gn\/gn\/${stdenv-constants.platform}/gn\/gn\/${constants.platform}/g' "$ensureFile"
|
||||
else
|
||||
params="$params $1"
|
||||
shift 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
exec ${unwrapped}/bin/cipd $params
|
||||
'';
|
||||
|
||||
vpython =
|
||||
pythonPkg:
|
||||
|
@ -158,7 +158,7 @@ let
|
||||
# When other derivations wrap this one, any unmodified files
|
||||
# found here should be included as-is, for tooling compatibility.
|
||||
sdk = unwrapped;
|
||||
} // lib.optionalAttrs (engine != null && engine.meta.available) {
|
||||
} // lib.optionalAttrs (engine != null) {
|
||||
inherit engine;
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ callPackage, symlinkJoin, lib }:
|
||||
let
|
||||
nixpkgsRoot = "@nixpkgs_root@";
|
||||
version = "@flutter_version@";
|
||||
engineVersion = "@engine_version@";
|
||||
|
||||
systemPlatforms = [
|
||||
@ -8,14 +9,26 @@ let
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
derivations = builtins.map
|
||||
(systemPlatform: callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/engine/source.nix" {
|
||||
targetPlatform = lib.systems.elaborate systemPlatform;
|
||||
version = engineVersion;
|
||||
url = "https://github.com/flutter/engine.git@${engineVersion}";
|
||||
hashes."${systemPlatform}" = lib.fakeSha256;
|
||||
})
|
||||
systemPlatforms;
|
||||
derivations =
|
||||
lib.foldl'
|
||||
(
|
||||
acc: buildPlatform:
|
||||
acc
|
||||
++ (map
|
||||
(targetPlatform:
|
||||
callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/engine/source.nix" {
|
||||
targetPlatform = lib.systems.elaborate targetPlatform;
|
||||
hostPlatform = lib.systems.elaborate buildPlatform;
|
||||
buildPlatform = lib.systems.elaborate buildPlatform;
|
||||
|
||||
flutterVersion = version;
|
||||
version = engineVersion;
|
||||
url = "https://github.com/flutter/engine.git@${engineVersion}";
|
||||
hashes."${buildPlatform}"."${targetPlatform}" = lib.fakeSha256;
|
||||
})
|
||||
systemPlatforms)
|
||||
) [ ]
|
||||
systemPlatforms;
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "evaluate-derivations";
|
||||
|
@ -86,21 +86,22 @@ def nix_build_to_fail(code):
|
||||
return stderr
|
||||
|
||||
|
||||
def get_engine_hashes(engine_version):
|
||||
def get_engine_hashes(engine_version, flutter_version):
|
||||
code = load_code("get-engine-hashes.nix",
|
||||
nixpkgs_root=NIXPKGS_ROOT,
|
||||
flutter_version=flutter_version,
|
||||
engine_version=engine_version)
|
||||
|
||||
stderr = nix_build_to_fail(code)
|
||||
|
||||
pattern = re.compile(
|
||||
r"/nix/store/.*-flutter-engine-source-(.+?)-(.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n")
|
||||
rf"/nix/store/.*-flutter-engine-source-{engine_version}-(.+?-.+?)-(.+?-.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n")
|
||||
matches = pattern.findall(stderr)
|
||||
result_dict = {}
|
||||
|
||||
for match in matches:
|
||||
_, system, got = match
|
||||
result_dict[system] = got
|
||||
flutter_platform, architecture, got = match
|
||||
result_dict.setdefault(flutter_platform, {})[architecture] = got
|
||||
|
||||
def sort_dict_recursive(d):
|
||||
return {
|
||||
@ -405,7 +406,7 @@ def main():
|
||||
engine_swiftshader_rev='0',
|
||||
**common_data_args)
|
||||
|
||||
engine_hashes = get_engine_hashes(engine_hash)
|
||||
engine_hashes = get_engine_hashes(engine_hash, flutter_version)
|
||||
|
||||
write_data(
|
||||
pubspec_lock=pubspec_lock,
|
||||
|
@ -5,8 +5,14 @@
|
||||
"engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
"aarch64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM=",
|
||||
"x86_64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM="
|
||||
"aarch64-linux": {
|
||||
"aarch64-linux": "sha256-bl71v+BSadKXOczo8TjkqatzKDmAZf7xyHAk8bVMN1Y=",
|
||||
"x86_64-linux": "sha256-bl71v+BSadKXOczo8TjkqatzKDmAZf7xyHAk8bVMN1Y="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"aarch64-linux": "sha256-kW5f7+w8Uo+ndq/lvhz/r7cAyCQY2848kTU1OqhqTnQ=",
|
||||
"x86_64-linux": "sha256-kW5f7+w8Uo+ndq/lvhz/r7cAyCQY2848kTU1OqhqTnQ="
|
||||
}
|
||||
},
|
||||
"dartVersion": "3.1.4",
|
||||
"dartHash": {
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 41bb032ef3e8332115ed9ebdaeed5d47b9c56098 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Ancell <robert.ancell@canonical.com>
|
||||
Date: Fri, 25 Aug 2023 16:46:52 +1200
|
||||
Subject: [PATCH] Fix building on Pango 1.49.4
|
||||
|
||||
This version added the autoptr macros which we no longer need to define.
|
||||
|
||||
https://github.com/flutter/flutter/issues/132881
|
||||
---
|
||||
shell/platform/linux/fl_accessible_text_field.cc | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/shell/platform/linux/fl_accessible_text_field.cc b/shell/platform/linux/fl_accessible_text_field.cc
|
||||
index 9a6052d4777ec..9dcc7f64fb820 100644
|
||||
--- a/shell/platform/linux/fl_accessible_text_field.cc
|
||||
+++ b/shell/platform/linux/fl_accessible_text_field.cc
|
||||
@@ -7,7 +7,11 @@
|
||||
#include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h"
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoContext, g_object_unref)
|
||||
+// PangoLayout g_autoptr macro weren't added until 1.49.4. Add them manually.
|
||||
+// https://gitlab.gnome.org/GNOME/pango/-/commit/0b84e14
|
||||
+#if !PANGO_VERSION_CHECK(1, 49, 4)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
|
||||
+#endif
|
||||
|
||||
typedef bool (*FlTextBoundaryCallback)(const PangoLogAttr* attr);
|
@ -5,8 +5,14 @@
|
||||
"engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
"aarch64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU=",
|
||||
"x86_64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU="
|
||||
"aarch64-linux": {
|
||||
"aarch64-linux": "sha256-eRTh/I0SW6Kg1cZAzj+ZqsolG6anbqMNMdW6sxIlJaA=",
|
||||
"x86_64-linux": "sha256-eRTh/I0SW6Kg1cZAzj+ZqsolG6anbqMNMdW6sxIlJaA="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"aarch64-linux": "sha256-FXCgpj1H46amXmDQ998uAGHRUp/CAzZI/Yn4Btr9XsA=",
|
||||
"x86_64-linux": "sha256-FXCgpj1H46amXmDQ998uAGHRUp/CAzZI/Yn4Btr9XsA="
|
||||
}
|
||||
},
|
||||
"dartVersion": "3.2.4",
|
||||
"dartHash": {
|
||||
|
@ -5,8 +5,14 @@
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
"aarch64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E=",
|
||||
"x86_64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E="
|
||||
"aarch64-linux": {
|
||||
"aarch64-linux": "sha256-UBiHps5QoTAtSBuh3HBoAlztWZ/TpqvJI9JaIF2tLWs=",
|
||||
"x86_64-linux": "sha256-UBiHps5QoTAtSBuh3HBoAlztWZ/TpqvJI9JaIF2tLWs="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"aarch64-linux": "sha256-j7hvd/166zZXTVE46jULE+PzVLqHXhBnaZpYCS9TwpI=",
|
||||
"x86_64-linux": "sha256-j7hvd/166zZXTVE46jULE+PzVLqHXhBnaZpYCS9TwpI="
|
||||
}
|
||||
},
|
||||
"dartVersion": "3.3.2",
|
||||
"dartHash": {
|
||||
|
@ -5,8 +5,14 @@
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
"aarch64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE=",
|
||||
"x86_64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE="
|
||||
"aarch64-linux": {
|
||||
"aarch64-linux": "sha256-MiokUhxz23/HANUv8pD4jrJuj3/EAZNbJVpovM9upKI=",
|
||||
"x86_64-linux": "sha256-MiokUhxz23/HANUv8pD4jrJuj3/EAZNbJVpovM9upKI="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"aarch64-linux": "sha256-UWVjNgF94dYG7nSX+Gu6B9500RAHw1EOxE0+QJhS+Ao=",
|
||||
"x86_64-linux": "sha256-UWVjNgF94dYG7nSX+Gu6B9500RAHw1EOxE0+QJhS+Ao="
|
||||
}
|
||||
},
|
||||
"dartVersion": "3.4.3",
|
||||
"dartHash": {
|
||||
|
@ -5,8 +5,14 @@
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "beta",
|
||||
"engineHashes": {
|
||||
"aarch64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4=",
|
||||
"x86_64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4="
|
||||
"aarch64-linux": {
|
||||
"aarch64-linux": "sha256-H+UEIEY3UwBBJePSuwsFWQIGuuYzPuX543Me3YplD14=",
|
||||
"x86_64-linux": "sha256-H+UEIEY3UwBBJePSuwsFWQIGuuYzPuX543Me3YplD14="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"aarch64-linux": "sha256-KJbjRfxC2S8JWeo1eTHObvumOjAVc/24jEvOu4znnAY=",
|
||||
"x86_64-linux": "sha256-KJbjRfxC2S8JWeo1eTHObvumOjAVc/24jEvOu4znnAY="
|
||||
}
|
||||
},
|
||||
"dartVersion": "3.5.0-180.3.beta",
|
||||
"dartHash": {
|
||||
|
Loading…
Reference in New Issue
Block a user