mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-29 23:52:55 +00:00
Merge pull request #322575 from ExpidusOS/fix/flutter-engine
flutter.engine: fix size with SwiftShader & building
This commit is contained in:
commit
135cfede44
@ -51,6 +51,7 @@ stdenv.mkDerivation (
|
||||
runtimeMode
|
||||
outName
|
||||
dart
|
||||
swiftshader
|
||||
;
|
||||
inherit altRuntimeMode;
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
fetchgit,
|
||||
runCommand,
|
||||
llvmPackages,
|
||||
llvmPackages_15,
|
||||
patchelf,
|
||||
openbox,
|
||||
xorg,
|
||||
@ -67,6 +68,10 @@ let
|
||||
url = "https://swiftshader.googlesource.com/SwiftShader.git";
|
||||
hash = swiftshaderHash;
|
||||
rev = swiftshaderRev;
|
||||
|
||||
postFetch = ''
|
||||
rm -rf $out/third_party/llvm-project
|
||||
'';
|
||||
};
|
||||
|
||||
llvm = symlinkJoin {
|
||||
@ -78,6 +83,8 @@ let
|
||||
};
|
||||
|
||||
outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt --unoptimized"}";
|
||||
|
||||
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"}";
|
||||
@ -163,14 +170,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [ gtk3 ];
|
||||
|
||||
patchtools = [
|
||||
"third_party/dart/tools/sdks/dart-sdk/bin/dart"
|
||||
"${dartPath}/tools/sdks/dart-sdk/bin/dart"
|
||||
"flutter/third_party/gn/gn"
|
||||
];
|
||||
|
||||
dontPatch = true;
|
||||
|
||||
patchgit = [
|
||||
"third_party/dart"
|
||||
dartPath
|
||||
"flutter"
|
||||
"."
|
||||
] ++ lib.optional (lib.versionAtLeast flutterVersion "3.21") "flutter/third_party/skia";
|
||||
@ -178,7 +185,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
postUnpack = ''
|
||||
pushd ${src.name}
|
||||
|
||||
ln -s $swiftshader src/flutter/third_party/swiftshader
|
||||
cp ${./pkg-config.py} src/build/config/linux/pkg-config.py
|
||||
|
||||
cp -pr --reflink=auto $swiftshader src/flutter/third_party/swiftshader
|
||||
chmod -R u+w -- src/flutter/third_party/swiftshader
|
||||
|
||||
ln -s ${llvmPackages_15.llvm.monorepoSrc} src/flutter/third_party/swiftshader/third_party/llvm-project
|
||||
|
||||
mkdir -p src/flutter/buildtools/${constants.alt-platform}
|
||||
ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang
|
||||
|
||||
ln -s ${dart} src/${dartPath}/tools/sdks/dart-sdk
|
||||
|
||||
${lib.optionalString (stdenv.isLinux) ''
|
||||
for patchtool in ''${patchtools[@]}; do
|
||||
@ -198,12 +215,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
popd
|
||||
done
|
||||
|
||||
mkdir -p src/flutter/buildtools/${constants.alt-platform}
|
||||
ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang
|
||||
|
||||
dart src/third_party/dart/tools/generate_package_config.dart
|
||||
cp ${./pkg-config.py} src/build/config/linux/pkg-config.py
|
||||
echo "${dartSdkVersion}" >src/third_party/dart/sdk/version
|
||||
dart src/${dartPath}/tools/generate_package_config.dart
|
||||
echo "${dartSdkVersion}" >src/${dartPath}/sdk/version
|
||||
|
||||
rm -rf src/third_party/angle/.git
|
||||
python3 src/flutter/tools/pub_get_offline.py
|
||||
|
@ -2,4 +2,9 @@
|
||||
fetchgit {
|
||||
url = "https://swiftshader.googlesource.com/SwiftShader.git";
|
||||
rev = "@engine_swiftshader_rev@";
|
||||
|
||||
# Keep with in sync of pkgs/development/compilers/flutter/engine/package.nix
|
||||
postFetch = ''
|
||||
rm -rf $out/third_party/llvm-project
|
||||
'';
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "3.13.8",
|
||||
"engineVersion": "767d8c75e898091b925519803830fc2721658d07",
|
||||
"engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=",
|
||||
"engineSwiftShaderHash": "sha256-qKf5gXIpI4+05bs7d3W6JlMNTn3vHFQL+i3JpFdyPao=",
|
||||
"engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "3.16.7",
|
||||
"engineVersion": "4a585b79294e830fa89c24924d58a27cc8fbf406",
|
||||
"engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=",
|
||||
"engineSwiftShaderHash": "sha256-qKf5gXIpI4+05bs7d3W6JlMNTn3vHFQL+i3JpFdyPao=",
|
||||
"engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "3.19.4",
|
||||
"engineVersion": "a5c24f538d05aaf66f7972fb23959d8cafb9f95a",
|
||||
"engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
|
||||
"engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=",
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "3.22.2",
|
||||
"engineVersion": "edd8546116457bdf1c5bdfb13ecb9463d2bb5ed4",
|
||||
"engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
|
||||
"engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=",
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "stable",
|
||||
"engineHashes": {
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "3.23.0-0.1.pre",
|
||||
"engineVersion": "bb10c5466638e963479ba5e64e601e42d1a43447",
|
||||
"engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
|
||||
"engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=",
|
||||
"engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
|
||||
"channel": "beta",
|
||||
"engineHashes": {
|
||||
|
Loading…
Reference in New Issue
Block a user