add flutter patch

This commit is contained in:
2026-04-29 12:42:30 +02:00
parent a03d9a5c2c
commit 405f08abcd
13 changed files with 1540 additions and 0 deletions
+276
View File
@@ -0,0 +1,276 @@
pkgbase = flutter-newer
pkgdesc = A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
pkgver = 3.41.8
pkgrel = 1
url = https://flutter.dev
arch = x86_64
arch = aarch64
groups = flutter-newer
license = custom
license = BSD
license = CCPL
makedepends = dart>=3.11.0
makedepends = dart<3.12.0
makedepends = jq
makedepends = gradle
makedepends = unzip
makedepends = tar
noextract = material_fonts-3012db47f3130e62f7cc0beabff968a33cbec8d8.zip
noextract = gradle_wrapper-fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa.tar.gz
noextract = android-x86-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm64-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm64-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-x64-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-x64-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = flutter_web_sdk-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = sky_engine-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = flutter_patched_sdk-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = flutter_patched_sdk_product-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm64-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-arm64-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-x64-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = android-x64-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = engine-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-debug-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-profile-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-release-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = font-subset-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = engine-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-debug-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-profile-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = gtk-release-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = font-subset-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = dart-sdk-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
noextract = dart-sdk-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip
options = !emptydirs
source = flutter-3.41.8.tar.xz::https://github.com/flutter/flutter/archive/refs/tags/3.41.8.tar.gz
source = material_fonts-3012db47f3130e62f7cc0beabff968a33cbec8d8.zip::https://storage.googleapis.com/flutter_infra_release/flutter/fonts/3012db47f3130e62f7cc0beabff968a33cbec8d8/fonts.zip
source = gradle_wrapper-fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa.tar.gz::https://storage.googleapis.com/flutter_infra_release/gradle-wrapper/fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa/gradle-wrapper.tgz
source = android-x86-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x86/artifacts.zip
source = android-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x64/artifacts.zip
source = android-arm-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm/artifacts.zip
source = android-arm-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm-profile/artifacts.zip
source = android-arm-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm-release/artifacts.zip
source = android-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm64/artifacts.zip
source = android-arm64-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm64-profile/artifacts.zip
source = android-arm64-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm64-release/artifacts.zip
source = android-x64-profile-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x64-profile/artifacts.zip
source = android-x64-release-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x64-release/artifacts.zip
source = flutter_web_sdk-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/flutter-web-sdk.zip
source = sky_engine-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/sky_engine.zip
source = flutter_patched_sdk-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/flutter_patched_sdk.zip
source = flutter_patched_sdk_product-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/flutter_patched_sdk_product.zip
source = system-dart.patch
source = gradle-user-home.patch
source = flutter.sh
source = version.patch
source = no-lock.patch
source = no-runtime-download.patch
source = doctor.patch
source = opt-in-analytics.patch
sha256sums = 5b1e2b56c46fc801e7ccda1d2671bef0d7ceda250eaee0aa6708757d3cf70ff5
sha256sums = e56fa8e9bb4589fde964be3de451f3e5b251e4a1eafb1dc98d94add034dd5a86
sha256sums = 31e9428baf1a2b2f485f1110c5899f852649b33d46a2e9b07f9d17752d50190a
sha256sums = c0bbf4c97465f5d980adf4cb8c5b08bfc5c83765cf8449a0040fed96b2b6dfdf
sha256sums = fabdded4b99b9a8dc13e4b0cd689e056ce4ca5cc2fc720ebdce46540f4f61d93
sha256sums = 292a7f72cfbc1f776a71f0e3ebc4bcb7cbb22526cc8cd6aa38a0e12068d78a04
sha256sums = 59471ed9d184b1a415dea5fcc0f15c4cf67470671e69f1cbf16454e73176a806
sha256sums = ccb0b718ea37033087bc0cf9b7ad72c48b6059f9750c26d7a799a0c059c94f4d
sha256sums = ab30f62ad3e504ff3f90ad8b9375a36dfaeb515dd931b968c7ea89bbf35a5d33
sha256sums = 7556f1527452c545c659c731386fae92044b53a516f7151882d88a22573248b3
sha256sums = 2f9573081075ef6eec6f41c510b83051a592946637c5360ef7f498c321ca3d75
sha256sums = df65e4203bac7b257635bb061cef6fe421694ef84b51aad633b2352cb8ea9afa
sha256sums = 08a1960676f9fd5b65d9246ca498000aafae670f65910c61a7fc445230c0d5de
sha256sums = 544aac38a8e17fc4f69055f8527fda0d39fa8a1c1a6782947f25011b1869f650
sha256sums = 2a1e241c982e9e84e2c3708a47fa15d46efdec32165fc781547818e12e56e881
sha256sums = 1e85925ed58e03dfae6933fc8b83553edb5715e249cb16cd7a1f13e2143c6e50
sha256sums = 12aae288cf53f0f4476ae8da7d20e46930dc1aa54c82a7ad33c93815af46588a
sha256sums = 47bea61b2d62a4637d56f2807661afd7d427f1f48434d1d132b7e6e10ffb6aa8
sha256sums = e41d25d8cba8b0bb51ee0b20cb6b730bfb2c491d67c669ab8e3550d60b37fb5c
sha256sums = b4c104129eb57e7e3edca2e23376b8b034de2d466189bdc1c3e2a304506889a3
sha256sums = f0c88e34c130f243786f7673d4c5f8fb5d1089c84b0604085aeb35a7fa8b3682
sha256sums = cadd32aaac6beeb91052174d50494bb7e16444759fcdc8224ea13550657f525f
sha256sums = e26c476ad75647fe4441d56888b95837f586db5feb0fada5e51005eb0582ce32
sha256sums = 34b02703c48f6686ffb2691a510607cfbe69beff9e726b47834b3298839542ca
sha256sums = 1578e819b6ee479b6db7a095bcfa74372d3ff555642c6d6ea7112e97bb6f2027
source_x86_64 = dart-sdk-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/dart-sdk-linux-x64.zip
source_x86_64 = android-arm-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm-profile/linux-x64.zip
source_x86_64 = android-arm-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm-release/linux-x64.zip
source_x86_64 = android-arm64-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm64-profile/linux-x64.zip
source_x86_64 = android-arm64-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-arm64-release/linux-x64.zip
source_x86_64 = android-x64-profile-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x64-profile/linux-x64.zip
source_x86_64 = android-x64-release-linux-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/android-x64-release/linux-x64.zip
source_x86_64 = engine-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-x64/artifacts.zip
source_x86_64 = gtk-debug-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-x64-debug/linux-x64-flutter-gtk.zip
source_x86_64 = gtk-profile-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-x64-profile/linux-x64-flutter-gtk.zip
source_x86_64 = gtk-release-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-x64-release/linux-x64-flutter-gtk.zip
source_x86_64 = font-subset-x64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-x64/font-subset.zip
sha256sums_x86_64 = 95f656395ee65b1dfefd901bfde47ffba372632c73aedf6d4a5a0745af7ede99
sha256sums_x86_64 = bb404b6db7ebe7659029d1317feddbd71478f4ed45179e2ff73809ecf4b17da8
sha256sums_x86_64 = 463cc7ecae76a93eeb674200fd84f22828ba77abb2c6092e0ad842b5a78ebf6b
sha256sums_x86_64 = a8d9b7138961de4ccda6b8da3705325eea7c120e9a057a7a6c734287be333a24
sha256sums_x86_64 = 8ada43a61478eb161858383d9aff34539e4793e2c96c478ee21ca238d3ac7a65
sha256sums_x86_64 = fefb35edcd75286fc5c1cd180173e41cf858a67f3fe06bf30fb7a02661834a66
sha256sums_x86_64 = 63500eb4b868f18dcb97cf1d97fcaa7e49527d139da1c75499954d49ea7102b2
sha256sums_x86_64 = 711e8a1ff2d32ad8e466932a0700bd86010691101845bd6d10abb5d632ca8d69
sha256sums_x86_64 = f24957d2d0ffec95c30cbf4f9d6f9fb5e7e2fb2689bbebba56b6233918dc8264
sha256sums_x86_64 = 1f97105ba7a98f3572666f850d1fdb8a3247418f84c738fb1d8abd29b414e221
sha256sums_x86_64 = 649fff2f7c97b6255c91e66e23a0e18d6e185c95464e2adbded2ae2e02b74348
sha256sums_x86_64 = a530e658c56d3d53d633c5cd49c4889f31858c48987645e39c9c34d03de01c60
source_aarch64 = dart-sdk-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/dart-sdk-linux-arm64.zip
source_aarch64 = engine-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-arm64/artifacts.zip
source_aarch64 = gtk-debug-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-arm64-debug/linux-arm64-flutter-gtk.zip
source_aarch64 = gtk-profile-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-arm64-profile/linux-arm64-flutter-gtk.zip
source_aarch64 = gtk-release-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-arm64-release/linux-arm64-flutter-gtk.zip
source_aarch64 = font-subset-arm64-59aa584fdf100e6c78c785d8a5b565d1de4b48ab.zip::https://storage.googleapis.com/flutter_infra_release/flutter/59aa584fdf100e6c78c785d8a5b565d1de4b48ab/linux-arm64/font-subset.zip
sha256sums_aarch64 = 6c7be6855ad072137ef3294a0858d84b6920049f45a6981b17dc557d1dbf3acb
sha256sums_aarch64 = 959709551f4d8fb969e148d38466f15ecf456aa913e45386692bbe6c6729a6c4
sha256sums_aarch64 = 76e6d37367f7f4ddecc4e28f7e71e53430abf4546333e067d00e4a3fbf51c5c5
sha256sums_aarch64 = 3282e3a25e511e6a35317f0f4440dba0374972e9861c63eba72f83aefa607f4c
sha256sums_aarch64 = fd32cdb5a9331412138564958aff62e2662ebd618c2bff2988757fed70c20858
sha256sums_aarch64 = cd54a1d2d94dc6e56c7514c37c46765da07aa04367831db675b178a165130e40
pkgname = flutter-newer
pkgdesc = Flutter SDK component - full installation of development tool and runtime
depends = flutter-newer-devel
depends = flutter-newer-target-linux
depends = flutter-newer-target-android
depends = flutter-newer-target-web
depends = flutter-newer-intellij-patch
provides = flutter=3.41.8
conflicts = flutter
pkgname = flutter-newer-common
pkgdesc = Flutter SDK component - common SDK files and pub cache
install = flutter-common.install
provides = flutter-common=3.41.8
conflicts = flutter-common
pkgname = flutter-newer-gradle
pkgdesc = Flutter SDK component - gradle wrapper
provides = flutter-gradle=3.41.8
conflicts = flutter-gradle
pkgname = flutter-newer-tool
pkgdesc = Flutter SDK component - CLI tool (for packaging only)
depends = flutter-newer-common
depends = dart>=3.11.0
depends = bash
depends = curl
depends = file
depends = git
depends = coreutils
depends = unzip
depends = which
depends = xz
depends = zip
depends = glu
provides = flutter-tool=3.41.8
conflicts = flutter-tool
pkgname = flutter-newer-devel
pkgdesc = Flutter SDK component - CLI tool (for application development)
depends = flutter-newer-tool
depends = dart>=3.11.0
provides = flutter-devel=3.41.8
conflicts = flutter-devel
replaces = flutter-tool-developer
pkgname = flutter-newer-target-linux
pkgdesc = Flutter SDK component - linux target files
depends = flutter-newer-tool
depends = flutter-newer-engine-linux
depends = dart>=3.11.0
depends = clang
depends = cmake
depends = ninja
depends = pkgconf
depends = gtk3
depends = libglvnd
provides = flutter-target-linux=3.41.8
conflicts = flutter-target-linux
pkgname = flutter-newer-target-android
pkgdesc = Flutter SDK component - android target files
depends = flutter-newer-tool
depends = flutter-newer-engine-android
depends = flutter-newer-gradle
optdepends = android-sdk: develop for Android devices
optdepends = java-environment: develop for Android devices
provides = flutter-target-android=3.41.8
conflicts = flutter-target-android
pkgname = flutter-newer-target-web
pkgdesc = Flutter SDK component - web target files
depends = flutter-newer-tool
depends = flutter-newer-engine-web
provides = flutter-target-web=3.41.8
conflicts = flutter-target-web
pkgname = flutter-newer-intellij-patch
pkgdesc = Flutter SDK component - IntelliJ Flutter plugin hotfix
depends = flutter-newer-common
optdepends = android-studio
optdepends = intellij-idea-community-edition
optdepends = intellij-idea-ultimate-edition
provides = flutter-intellij-patch=3.41.8
conflicts = flutter-intellij-patch
pkgname = flutter-newer-artifacts-engine-common-google-bin
pkgdesc = Flutter SDK component - common engine files
depends = flutter-newer-common
depends = flutter-sky-engine
depends = flutter-material-fonts
depends = dart>=3.11.0
provides = flutter-engine-common=3.41.8
conflicts = flutter-engine-common
pkgname = flutter-newer-artifacts-engine-linux-google-bin
pkgdesc = Flutter SDK component - linux engine
depends = flutter-engine-common
provides = flutter-engine-linux=3.41.8
provides = flutter-newer-engine-linux=3.41.8
conflicts = flutter-engine-linux
pkgname = flutter-newer-artifacts-engine-web-google-bin
pkgdesc = Flutter SDK component - web engine
depends = flutter-engine-common
provides = flutter-engine-web=3.41.8
provides = flutter-newer-engine-web=3.41.8
conflicts = flutter-engine-web
pkgname = flutter-newer-artifacts-engine-android-google-bin
pkgdesc = Flutter SDK component - android engine
depends = flutter-engine-common
provides = flutter-engine-android=3.41.8
provides = flutter-newer-engine-android=3.41.8
conflicts = flutter-engine-android
pkgname = flutter-newer-artifacts-sky-engine-google-bin
pkgdesc = Flutter SDK component - sky-engine
provides = flutter-sky-engine=3.41.8
conflicts = flutter-sky-engine
pkgname = flutter-newer-artifacts-material-fonts-google-bin
pkgdesc = Flutter SDK component - material fonts
provides = flutter-material-fonts=3.41.8
conflicts = flutter-material-fonts
pkgname = flutter-newer-artifacts-gradle-google-bin
pkgdesc = Flutter SDK component - gradle wrapper
depends = flutter-newer-common
provides = flutter-gradle=3.41.8
conflicts = flutter-gradle
pkgname = flutter-newer-artifacts-dart-google-bin
pkgdesc = Flutter SDK component - Dart SDK
depends = glibc
provides = dart=3.11.5
conflicts = dart
+10
View File
@@ -0,0 +1,10 @@
flutter-*.pkg.tar.zst
flutter-*.pkg.tar
flutter-*.tar.xz
flutter-*.log
PKGBUILD-namcap.log
pkg/
src/
*.zip
*.tar.gz
*.idea
+734
View File
@@ -0,0 +1,734 @@
# Maintainer: WithTheBraid <info@braid.business>
# Co-Maintainer: Polarian <polarian@polarian.dev>, Fredy García <frealgagu at gmail dot com>
# Contributor: Philip Goto <philip.goto@gmail.com>
pkgbase=flutter-newer
_group=flutter
groups=("$pkgbase")
pkgver=3.41.8
_enginever=59aa584fdf100e6c78c785d8a5b565d1de4b48ab
_materialfontsver=3012db47f3130e62f7cc0beabff968a33cbec8d8
_gradlewver=fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa
_flutterarch=$(echo "$CARCH" | sed s/aarch64/arm64/ | sed s/x86_64/x64/)
_dartver="3.11.5"
_dartmin="3.11.0"
_dartmax="3.12.0"
# this host is blocked in China, according to Flutter docs, the FLUTTER_STORAGE_BASE_URL environment variable
# should be used to provide an alternative mirror
_storagebase="${FLUTTER_STORAGE_BASE_URL:-"https://storage.googleapis.com"}"
pkgrel=1
pkgdesc="A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android."
_pkgdesc="Flutter SDK component"
arch=("x86_64" "aarch64")
url="https://${_group}.dev"
license=("custom" "BSD" "CCPL")
makedepends=(
"dart>=${_dartmin}"
"dart<${_dartmax}"
"jq"
"gradle"
"unzip"
"tar"
)
options=("!emptydirs")
source=(
"${_group}-${pkgver}.tar.xz::https://github.com/${_group}/${_group}/archive/refs/tags/${pkgver/.hotfix/+hotfix}.tar.gz"
# ARTIFACTS
# material_fonts
"material_fonts-${_materialfontsver}.zip::${_storagebase}/flutter_infra_release/flutter/fonts/${_materialfontsver}/fonts.zip"
# gradle_wrapper
"gradle_wrapper-${_gradlewver}.tar.gz::${_storagebase}/flutter_infra_release/gradle-wrapper/${_gradlewver}/gradle-wrapper.tgz"
# engine/android-x86
"android-x86-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x86/artifacts.zip"
# engine/android-x64
"android-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64/artifacts.zip"
# engine/android-arm
"android-arm-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm/artifacts.zip"
# engine/android-arm-profile
"android-arm-profile-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-profile/artifacts.zip"
# engine/android-arm-release
"android-arm-release-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-release/artifacts.zip"
# engine/android-arm64
"android-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64/artifacts.zip"
# engine/android-arm64-profile
"android-arm64-profile-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-profile/artifacts.zip"
# engine/android-arm64-release
"android-arm64-release-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-release/artifacts.zip"
# engine/android-x64-profile
"android-x64-profile-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-profile/artifacts.zip"
# engine/android-x64-release
"android-x64-release-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-release/artifacts.zip"
# flutter_web_sdk
"flutter_web_sdk-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter-web-sdk.zip"
# pkg
"sky_engine-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/sky_engine.zip"
# engine/common
"flutter_patched_sdk-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter_patched_sdk.zip"
# engine/common
"flutter_patched_sdk_product-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter_patched_sdk_product.zip"
# PATCHES
"system-dart.patch"
"gradle-user-home.patch"
# thanks to lauren n. liberda from Alpine for the awesome patchset used here !
"${_group}.sh"
"version.patch"
"no-lock.patch"
"no-runtime-download.patch"
"doctor.patch"
"opt-in-analytics.patch"
)
source_x86_64=(
# dart-sdk
"dart-sdk-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/dart-sdk-linux-x64.zip"
# engine/android-arm-profile/linux-x64
"android-arm-profile-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-profile/linux-x64.zip"
# engine/android-arm-release/linux-x64
"android-arm-release-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-release/linux-x64.zip"
# engine/android-arm64-profile/linux-x64
"android-arm64-profile-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-profile/linux-x64.zip"
# engine/android-arm64-release/linux-x64
"android-arm64-release-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-release/linux-x64.zip"
# engine/android-x64-profile/linux-x64
"android-x64-profile-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-profile/linux-x64.zip"
# engine/android-x64-release/linux-x64
"android-x64-release-linux-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-release/linux-x64.zip"
# engine/linux-$ARCH
"engine-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-x64/artifacts.zip"
# engine/linux-$ARCH
"gtk-debug-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-x64-debug/linux-x64-flutter-gtk.zip"
# engine/linux-$ARCH-profile
"gtk-profile-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-x64-profile/linux-x64-flutter-gtk.zip"
# engine/linux-$ARCH-release
"gtk-release-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-x64-release/linux-x64-flutter-gtk.zip"
# engine/linux-$ARCH
"font-subset-x64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-x64/font-subset.zip"
)
source_aarch64=(
# dart-sdk
"dart-sdk-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/dart-sdk-linux-arm64.zip"
# engine/linux-$ARCH
"engine-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-arm64/artifacts.zip"
# engine/linux-$ARCH
"gtk-debug-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-arm64-debug/linux-arm64-flutter-gtk.zip"
# engine/linux-$ARCH-profile
"gtk-profile-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-arm64-profile/linux-arm64-flutter-gtk.zip"
# engine/linux-$ARCH-release
"gtk-release-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-arm64-release/linux-arm64-flutter-gtk.zip"
# engine/linux-$ARCH
"font-subset-arm64-${_enginever}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-arm64/font-subset.zip"
)
noextract=(
"material_fonts-${_materialfontsver}.zip"
"gradle_wrapper-${_gradlewver}.tar.gz"
"android-x86-${_enginever}.zip"
"android-x64-${_enginever}.zip"
"android-arm-${_enginever}.zip"
"android-arm-profile-${_enginever}.zip"
"android-arm-release-${_enginever}.zip"
"android-arm64-${_enginever}.zip"
"android-arm64-profile-${_enginever}.zip"
"android-arm64-release-${_enginever}.zip"
"android-x64-profile-${_enginever}.zip"
"android-x64-release-${_enginever}.zip"
"flutter_web_sdk-${_enginever}.zip"
"sky_engine-${_enginever}.zip"
"flutter_patched_sdk-${_enginever}.zip"
"flutter_patched_sdk_product-${_enginever}.zip"
# x64
"android-arm-profile-linux-x64-${_enginever}.zip"
"android-arm-release-linux-x64-${_enginever}.zip"
"android-arm64-profile-linux-x64-${_enginever}.zip"
"android-arm64-release-linux-x64-${_enginever}.zip"
"android-x64-profile-linux-x64-${_enginever}.zip"
"android-x64-release-linux-x64-${_enginever}.zip"
"engine-x64-${_enginever}.zip"
"gtk-debug-x64-${_enginever}.zip"
"gtk-profile-x64-${_enginever}.zip"
"gtk-release-x64-${_enginever}.zip"
"font-subset-x64-${_enginever}.zip"
# arm64
"engine-arm64-${_enginever}.zip"
"gtk-debug-arm64-${_enginever}.zip"
"gtk-profile-arm64-${_enginever}.zip"
"gtk-release-arm64-${_enginever}.zip"
"font-subset-arm64-${_enginever}.zip"
# dart
"dart-sdk-x64-${_enginever}.zip"
"dart-sdk-arm64-${_enginever}.zip"
)
sha256sums=('5b1e2b56c46fc801e7ccda1d2671bef0d7ceda250eaee0aa6708757d3cf70ff5'
'e56fa8e9bb4589fde964be3de451f3e5b251e4a1eafb1dc98d94add034dd5a86'
'31e9428baf1a2b2f485f1110c5899f852649b33d46a2e9b07f9d17752d50190a'
'c0bbf4c97465f5d980adf4cb8c5b08bfc5c83765cf8449a0040fed96b2b6dfdf'
'fabdded4b99b9a8dc13e4b0cd689e056ce4ca5cc2fc720ebdce46540f4f61d93'
'292a7f72cfbc1f776a71f0e3ebc4bcb7cbb22526cc8cd6aa38a0e12068d78a04'
'59471ed9d184b1a415dea5fcc0f15c4cf67470671e69f1cbf16454e73176a806'
'ccb0b718ea37033087bc0cf9b7ad72c48b6059f9750c26d7a799a0c059c94f4d'
'ab30f62ad3e504ff3f90ad8b9375a36dfaeb515dd931b968c7ea89bbf35a5d33'
'7556f1527452c545c659c731386fae92044b53a516f7151882d88a22573248b3'
'2f9573081075ef6eec6f41c510b83051a592946637c5360ef7f498c321ca3d75'
'df65e4203bac7b257635bb061cef6fe421694ef84b51aad633b2352cb8ea9afa'
'08a1960676f9fd5b65d9246ca498000aafae670f65910c61a7fc445230c0d5de'
'544aac38a8e17fc4f69055f8527fda0d39fa8a1c1a6782947f25011b1869f650'
'2a1e241c982e9e84e2c3708a47fa15d46efdec32165fc781547818e12e56e881'
'1e85925ed58e03dfae6933fc8b83553edb5715e249cb16cd7a1f13e2143c6e50'
'12aae288cf53f0f4476ae8da7d20e46930dc1aa54c82a7ad33c93815af46588a'
'47bea61b2d62a4637d56f2807661afd7d427f1f48434d1d132b7e6e10ffb6aa8'
'e41d25d8cba8b0bb51ee0b20cb6b730bfb2c491d67c669ab8e3550d60b37fb5c'
'b4c104129eb57e7e3edca2e23376b8b034de2d466189bdc1c3e2a304506889a3'
'f0c88e34c130f243786f7673d4c5f8fb5d1089c84b0604085aeb35a7fa8b3682'
'cadd32aaac6beeb91052174d50494bb7e16444759fcdc8224ea13550657f525f'
'e26c476ad75647fe4441d56888b95837f586db5feb0fada5e51005eb0582ce32'
'34b02703c48f6686ffb2691a510607cfbe69beff9e726b47834b3298839542ca'
'1578e819b6ee479b6db7a095bcfa74372d3ff555642c6d6ea7112e97bb6f2027')
sha256sums_x86_64=('95f656395ee65b1dfefd901bfde47ffba372632c73aedf6d4a5a0745af7ede99'
'bb404b6db7ebe7659029d1317feddbd71478f4ed45179e2ff73809ecf4b17da8'
'463cc7ecae76a93eeb674200fd84f22828ba77abb2c6092e0ad842b5a78ebf6b'
'a8d9b7138961de4ccda6b8da3705325eea7c120e9a057a7a6c734287be333a24'
'8ada43a61478eb161858383d9aff34539e4793e2c96c478ee21ca238d3ac7a65'
'fefb35edcd75286fc5c1cd180173e41cf858a67f3fe06bf30fb7a02661834a66'
'63500eb4b868f18dcb97cf1d97fcaa7e49527d139da1c75499954d49ea7102b2'
'711e8a1ff2d32ad8e466932a0700bd86010691101845bd6d10abb5d632ca8d69'
'f24957d2d0ffec95c30cbf4f9d6f9fb5e7e2fb2689bbebba56b6233918dc8264'
'1f97105ba7a98f3572666f850d1fdb8a3247418f84c738fb1d8abd29b414e221'
'649fff2f7c97b6255c91e66e23a0e18d6e185c95464e2adbded2ae2e02b74348'
'a530e658c56d3d53d633c5cd49c4889f31858c48987645e39c9c34d03de01c60')
sha256sums_aarch64=('6c7be6855ad072137ef3294a0858d84b6920049f45a6981b17dc557d1dbf3acb'
'959709551f4d8fb969e148d38466f15ecf456aa913e45386692bbe6c6729a6c4'
'76e6d37367f7f4ddecc4e28f7e71e53430abf4546333e067d00e4a3fbf51c5c5'
'3282e3a25e511e6a35317f0f4440dba0374972e9861c63eba72f83aefa607f4c'
'fd32cdb5a9331412138564958aff62e2662ebd618c2bff2988757fed70c20858'
'cd54a1d2d94dc6e56c7514c37c46765da07aa04367831db675b178a165130e40')
prepare() {
# SDK
# this is required in case people try to build with `aur/dart-sdk-dev` instead of `extra/dart`
DART_BINARY=$(readlink $(command -v dart))
DART_ROOT=${DART_ROOT:-${DART_BINARY/\/bin\/dart*/}}
if [ "${DART_ROOT}" != "/opt/dart-sdk" ]; then
echo -e "\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"
echo -e " WARNING !!!\n"
echo -e " Your default Dart SDK does not seem to be installed into\n"
echo -e " /opt/dart-sdk\n"
echo -e " Please consider using the original 'extra/dart' package"
echo -e " from the Arch Linux package repositories. We otherwise"
echo -e " cannot ensure the Flutter tool will work as expected.\n\n"
echo -e " Dart executable: $(command -v dart)"
echo -e " Resolved Dart SDK: ${DART_ROOT}"
echo -e "\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"
fi
if [[ ! "$DART_ROOT" =~ ^\/opt\/ && ! "$DART_ROOT" =~ ^\/usr\/ ]]; then
echo "FATAL: DART_ROOT is neither in /opt nor /usr. You must use a system wide Dart installation for this package. Exiting."
exit 1
fi
if [ -d "${srcdir}/${_group}" ]; then
rm -rf "${srcdir}/${_group}"
fi
mv "${srcdir}/${_group}-${pkgver/.hotfix/+hotfix}" "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/system-dart.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/gradle-user-home.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/version.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/no-lock.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/no-runtime-download.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/doctor.patch" -d "${srcdir}/${_group}"
patch -p1 -i "${srcdir}/opt-in-analytics.patch" -d "${srcdir}/${_group}"
echo "${pkgver}" > "${srcdir}/${_group}/version"
mkdir -p "${srcdir}/${_group}/bin/cache/artifacts"
cat > "${srcdir}/${_group}/bin/cache/flutter.version.json" <<EOF
{
"frameworkVersion": "$pkgver",
"channel": "$_channel",
"repositoryUrl": "https://github.com/flutter/flutter.git",
"frameworkRevision": "archlinuxaur0000000000000000000000000000",
"frameworkCommitDate": "2038-01-19 03:14:08",
"engineRevision": "$(cat "${srcdir}/${_group}/bin/internal/engine.version")",
"dartSdkVersion": "$(dart --version | awk '{print $4}')",
"devToolsVersion": $(jq '.version' < ${DART_ROOT}/bin/resources/devtools/version.json),
"flutterVersion": "$pkgver"
}
EOF
if [ -d "${srcdir}/gradlew" ]; then
rm -rf "${srcdir}/gradlew"
fi
mkdir "${srcdir}/gradlew"
pushd ${srcdir}/gradlew
gradle init --type basic --project-name flutter --dsl kotlin --incubating
gradle wrapper
popd
cd "${srcdir}/${_group}/bin/cache/artifacts"
# why should we use a pre-build gradle wrapper if we have it in the arch repos ?
mkdir -p gradle_wrapper/gradle
cp -pr "${srcdir}/gradlew/gradle/wrapper" gradle_wrapper/gradle
cp -pr "${srcdir}/gradlew/gradlew" gradle_wrapper
# ARTIFACTS
cd "${srcdir}"
unzip -o -q "${srcdir}/dart-sdk-${_flutterarch}-${_enginever}.zip" -d dart
mkdir -p "${srcdir}/${_group}/bin/cache/artifacts"
cd "${srcdir}/${_group}/bin/cache"
unzip -o -q "${srcdir}/flutter_web_sdk-${_enginever}.zip" -d flutter_web_sdk
unzip -o -q "${srcdir}/sky_engine-${_enginever}.zip" -d pkg
cd "${srcdir}/${_group}/bin/cache/artifacts"
mkdir -p "gradle_wrapper"
tar -xzf "${srcdir}/gradle_wrapper-${_gradlewver}.tar.gz" -C "gradle_wrapper"
unzip -o -q "${srcdir}/material_fonts-${_materialfontsver}.zip" -d "material_fonts"
mkdir -p engine/android-arm-profile
mkdir -p engine/android-arm64-profile
mkdir -p engine/android-x64-profile
mkdir -p engine/android-arm-release
mkdir -p engine/android-arm64-release
mkdir -p engine/android-x64-release
if [ "$CARCH" == "x86_64" ]; then
unzip -o -q "${srcdir}/android-arm-profile-linux-x64-${_enginever}.zip" -d engine/android-arm-profile/linux-x64
unzip -o -q "${srcdir}/android-arm-release-linux-x64-${_enginever}.zip" -d engine/android-arm-release/linux-x64
unzip -o -q "${srcdir}/android-arm64-profile-linux-x64-${_enginever}.zip" -d engine/android-arm64-profile/linux-x64
unzip -o -q "${srcdir}/android-arm64-release-linux-x64-${_enginever}.zip" -d engine/android-arm64-release/linux-x64
unzip -o -q "${srcdir}/android-x64-profile-linux-x64-${_enginever}.zip" -d engine/android-x64-profile/linux-x64
unzip -o -q "${srcdir}/android-x64-release-linux-x64-${_enginever}.zip" -d engine/android-x64-release/linux-x64
fi
unzip -o -q "${srcdir}/android-x86-${_enginever}.zip" -d engine/android-x86
unzip -o -q "${srcdir}/android-x64-${_enginever}.zip" -d engine/android-x64
unzip -o -q "${srcdir}/android-arm-${_enginever}.zip" -d engine/android-arm
unzip -o -q "${srcdir}/android-arm-profile-${_enginever}.zip" -d engine/android-arm-profile
unzip -o -q "${srcdir}/android-arm-release-${_enginever}.zip" -d engine/android-arm-release
unzip -o -q "${srcdir}/android-arm64-${_enginever}.zip" -d engine/android-arm64
unzip -o -q "${srcdir}/android-arm64-profile-${_enginever}.zip" -d engine/android-arm64-profile
unzip -o -q "${srcdir}/android-arm64-release-${_enginever}.zip" -d engine/android-arm64-release
unzip -o -q "${srcdir}/android-x64-profile-${_enginever}.zip" -d engine/android-x64-profile
unzip -o -q "${srcdir}/android-x64-release-${_enginever}.zip" -d engine/android-x64-release
unzip -o -q "${srcdir}/flutter_patched_sdk-${_enginever}.zip" -d engine/common
unzip -o -q "${srcdir}/flutter_patched_sdk_product-${_enginever}.zip" -d engine/common
unzip -o -q "${srcdir}/engine-${_flutterarch}-${_enginever}.zip" -d engine/linux-${_flutterarch}
unzip -o -q "${srcdir}/gtk-debug-${_flutterarch}-${_enginever}.zip" -d engine/linux-${_flutterarch}
unzip -o -q "${srcdir}/gtk-profile-${_flutterarch}-${_enginever}.zip" -d engine/linux-${_flutterarch}-profile
unzip -o -q "${srcdir}/gtk-release-${_flutterarch}-${_enginever}.zip" -d engine/linux-${_flutterarch}-release
unzip -o -q "${srcdir}/font-subset-${_flutterarch}-${_enginever}.zip" -d engine/linux-${_flutterarch}
}
build() {
export PUB_CACHE="${srcdir}/${_group}/pub-cache"
cd "${srcdir}/${_group}"
dart pub get -C "packages/flutter_tools" --no-offline --no-precompile
dart --verbosity=error --disable-dart-dev \
--snapshot="bin/cache/flutter_tools.snapshot" --snapshot-kind="app-jit" \
--packages="packages/flutter_tools/.dart_tool/package_config.json" \
--no-enable-mirrors "packages/flutter_tools/bin/flutter_tools.dart" --version
cd ../..
echo "${_enginever}" > "${srcdir}/${_group}/bin/cache/engine.stamp"
touch "${srcdir}/${_group}/bin/cache/engine.realm"
sed -Ei 's|'"$PUB_CACHE"'|/usr/lib/flutter/pub-cache|g' "${srcdir}/${_group}/packages/flutter_tools/.dart_tool/package_config.json"
find "$PUB_CACHE" -name '*.aot' -delete
}
# SDK
_package() {
pkgdesc="${_pkgdesc} - full installation of development tool and runtime"
depends=(
"${pkgbase}-devel" "${pkgbase}-target-linux" "${pkgbase}-target-android" "${pkgbase}-target-web" "${pkgbase}-intellij-patch")
provides=("${_group}=${pkgver}")
conflicts=("${_group}")
}
_package-common() {
pkgdesc="${_pkgdesc} - common SDK files and pub cache"
install="${_group}-common.install"
provides=("${_group}-common=${pkgver}")
conflicts=("${_group}-common")
install -Dm644 "${srcdir}/${_group}/LICENSE" "${pkgdir}/usr/share/licenses/${_group}/LICENSE"
install -dm755 "${pkgdir}/usr/lib/${_group}"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_driver"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_goldens"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_localizations"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_test"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_web_plugins"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/fuchsia_remote_debug_protocol"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/integration_test"
cp -ra "${srcdir}/${_group}/packages/flutter/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter"
cp -ra "${srcdir}/${_group}/packages/flutter_driver/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter_driver"
cp -ra "${srcdir}/${_group}/packages/flutter_goldens/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter_goldens"
cp -ra "${srcdir}/${_group}/packages/flutter_localizations/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter_localizations"
cp -ra "${srcdir}/${_group}/packages/flutter_test/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter_test"
cp -ra "${srcdir}/${_group}/packages/flutter_web_plugins/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/flutter_web_plugins"
cp -ra "${srcdir}/${_group}/packages/fuchsia_remote_debug_protocol/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${_group}/packages/fuchsia_remote_debug_protocol"
cp -ra "${srcdir}/${_group}/packages/integration_test/"{pubspec.yaml,lib,android} "${pkgdir}/usr/lib/${_group}/packages/integration_test"
}
_package-target-linux() {
pkgdesc="${_pkgdesc} - linux target files"
depends=(
"${pkgbase}-tool"
"${pkgbase}-engine-linux"
"dart>=${_dartmin}"
"clang"
"cmake"
"ninja"
"pkgconf" # base-devel, but runtime dependency
# runtime shared libraries
"gtk3"
"libglvnd" # https://github.com/flutter/engine/pull/16924
)
provides=("${_group}-target-linux=${pkgver}")
conflicts=("${_group}-target-linux")
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/bin"
cp -ra "${srcdir}/${_group}/packages/flutter_tools/bin/tool_backend.sh" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/bin"
cp -ra "${srcdir}/${_group}/packages/flutter_tools/bin/tool_backend.dart" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/bin"
}
_package-target-web() {
pkgdesc="${_pkgdesc} - web target files"
depends=(
"${pkgbase}-tool"
"${pkgbase}-engine-web"
)
provides=("${_group}-target-web=${pkgver}")
conflicts=("${_group}-target-web")
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/lib/src/web"
cp -ra "${srcdir}/${_group}/packages/flutter_tools/lib/src/web/file_generators" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/lib/src/web"
}
_package-target-android() {
pkgdesc="${_pkgdesc} - android target files"
depends=(
"${pkgbase}-tool"
"${pkgbase}-engine-android"
"${pkgbase}-gradle"
)
optdepends=("android-sdk: develop for Android devices"
"java-environment: develop for Android devices"
)
provides=("${_group}-target-android=${pkgver}")
conflicts=("${_group}-target-android")
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools"
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/internal"
cp -ra "${srcdir}/${_group}/packages/flutter_tools/gradle" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools"
# TODO: get rid of this ugly hack
mkdir -m777 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/gradle/.kotlin"
install -Dm644 "${srcdir}/${_group}/bin/internal/engine.version" "${pkgdir}/usr/lib/${_group}/bin/internal"
}
_package-gradle() {
pkgdesc="${_pkgdesc} - gradle wrapper"
provides=(
"${_group}-gradle=${pkgver}"
)
conflicts=(
"${_group}-gradle"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/gradle_wrapper" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts"
}
_package-tool() {
pkgdesc="${_pkgdesc} - CLI tool (for packaging only)"
depends=(
"${pkgbase}-common"
# TODO: completely compile Flutter tool standalone and drop dependency
"dart>=${_dartmin}"
# commands first
"bash"
"curl"
"file" # base-devel, but runtime dependency
"git"
"coreutils" # explicit dependency to mkdir, rm
"unzip"
"which" # base-devel, but runtime dependency
"xz"
"zip"
"glu" # libGLU.so.1 required for flutter test
)
provides=("${_group}-tool=${pkgver}")
conflicts=("${_group}-tool")
install -dm755 "${pkgdir}/usr/lib/${_group}"
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache"
install -dm755 "${pkgdir}/usr/lib/${_group}/dev"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/.dart_tool"
# otherwise flutter analyze will crash
touch "${pkgdir}/usr/lib/${_group}/dev/.hack-flutter-analyze"
install -Dm644 "${srcdir}/${_group}/bin/cache/engine.stamp" "${pkgdir}/usr/lib/${_group}/bin/cache"
install -Dm644 "${srcdir}/${_group}/bin/cache/engine.realm" "${pkgdir}/usr/lib/${_group}/bin/cache"
install -Dm644 "${srcdir}/${_group}/bin/cache/flutter_tools.snapshot" "${pkgdir}/usr/lib/${_group}/bin/cache"
install -Dm644 "${srcdir}/${_group}/bin/cache/flutter.version.json" "${pkgdir}/usr/lib/${_group}/bin/cache"
install -Dm644 "${srcdir}/${_group}/version" "${pkgdir}/usr/lib/${_group}"
install -Dm644 "${srcdir}/${_group}/packages/flutter_tools/.dart_tool/package_config.json" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools/.dart_tool"
install -dm755 "${pkgdir}/usr/bin"
install -Dm755 "${srcdir}/${_group}.sh" "${pkgdir}/usr/lib/${_group}/bin/flutter"
ln -sf "/usr/lib/flutter/bin/flutter" "${pkgdir}/usr/bin/flutter"
}
_package-devel() {
pkgdesc="${_pkgdesc} - CLI tool (for application development)"
depends=(
"${pkgbase}-tool"
"dart>=${_dartmin}"
)
replaces=("${_group}-tool-developer")
provides=("${_group}-devel=${pkgver}")
conflicts=("${_group}-devel")
install -dm755 "${pkgdir}/usr/lib/${_group}"
install -dm755 "${pkgdir}/usr/lib/${_group}/packages/flutter_tools"
cp -ra "${srcdir}/${_group}/examples" "${pkgdir}/usr/lib/${_group}"
cp -ra "${srcdir}/${_group}/packages/flutter_tools/templates" "${pkgdir}/usr/lib/${_group}/packages/flutter_tools"
# TODO: patch `flutter create` to run without pub cache
cp -ra "${srcdir}/${_group}/pub-cache" "${pkgdir}/usr/lib/${_group}/pub-cache"
}
_package-intellij-patch() {
pkgdesc="${_pkgdesc} - IntelliJ Flutter plugin hotfix"
depends=("${pkgbase}-common")
optdepends=(
"android-studio"
"intellij-idea-community-edition"
"intellij-idea-ultimate-edition"
)
provides=("${_group}-intellij-patch=${pkgver}")
conflicts=("${_group}-intellij-patch")
# this is required in case people try to build with `aur/dart-sdk-dev` instead of `extra/dart`
DART_BINARY=$(readlink $(command -v dart))
DART_ROOT=${DART_ROOT:-${DART_BINARY/\/bin\/dart*/}}
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache"
# * not my fault grumble * : The IntelliJ Flutter plugin enforces this relative Dart SDK
ln -sf "${DART_ROOT}/bin/dart" "${pkgdir}/usr/lib/${_group}/bin/dart"
ln -sf "${DART_ROOT}" "${pkgdir}/usr/lib/${_group}/bin/cache/dart-sdk"
}
# ARTIFACTS
_package-artifacts-engine-common-google-bin() {
pkgdesc="${_pkgdesc} - common engine files"
depends=(
"${pkgbase}-common"
"${_group}-sky-engine"
"${_group}-material-fonts"
"dart>=${_dartmin}"
)
provides=(
"${_group}-engine-common=${pkgver}"
)
conflicts=(
"${_group}-engine-common"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/common" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine/common"
}
_package-artifacts-sky-engine-google-bin() {
pkgdesc="${_pkgdesc} - sky-engine"
provides=(
"${_group}-sky-engine=${pkgver}"
)
conflicts=(
"${_group}-sky-engine"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache"
cp -ra "${srcdir}/${_group}/bin/cache/pkg" "${pkgdir}/usr/lib/${_group}/bin/cache/pkg"
}
_package-artifacts-material-fonts-google-bin() {
pkgdesc="${_pkgdesc} - material fonts"
provides=(
"${_group}-material-fonts=${pkgver}"
)
conflicts=(
"${_group}-material-fonts"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/material_fonts" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/material_fonts"
}
_package-artifacts-engine-linux-google-bin() {
pkgdesc="${_pkgdesc} - linux engine"
depends=(
"${_group}-engine-common"
)
provides=(
"${_group}-engine-linux=${pkgver}"
"${pkgbase}-engine-linux=${pkgver}"
)
conflicts=(
"${_group}-engine-linux"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/linux-${_flutterarch}" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/linux-${_flutterarch}-profile" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/linux-${_flutterarch}-release" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
}
_package-artifacts-engine-web-google-bin() {
pkgdesc="${_pkgdesc} - web engine"
depends=(
"${_group}-engine-common"
)
provides=(
"${_group}-engine-web=${pkgver}"
"${pkgbase}-engine-web=${pkgver}"
)
conflicts=(
"${_group}-engine-web"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache"
cp -ra "${srcdir}/${_group}/bin/cache/flutter_web_sdk" "${pkgdir}/usr/lib/${_group}/bin/cache"
}
_package-artifacts-gradle-google-bin() {
pkgdesc="${_pkgdesc} - gradle wrapper"
depends=(
"${pkgbase}-common"
)
provides=(
"${_group}-gradle=${pkgver}"
)
conflicts=(
"${_group}-gradle"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/gradle_wrapper" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts"
}
_package-artifacts-engine-android-google-bin() {
pkgdesc="${_pkgdesc} - android engine"
depends=(
"${_group}-engine-common"
)
provides=(
"${_group}-engine-android=${pkgver}"
"${pkgbase}-engine-android=${pkgver}"
)
conflicts=(
"${_group}-engine-android"
)
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm-release" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm-profile" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm64" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm64-release" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-arm64-profile" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-x64" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-x64-release" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-x64-profile" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
cp -ra "${srcdir}/${_group}/bin/cache/artifacts/engine/android-x86" "${pkgdir}/usr/lib/${_group}/bin/cache/artifacts/engine"
}
_package-artifacts-dart-google-bin() {
pkgdesc="${_pkgdesc} - Dart SDK"
depends=(
"glibc"
)
provides=(
"dart=${_dartver}"
)
conflicts=(
"dart"
)
install -dm755 "${pkgdir}/opt"
install -dm755 "${pkgdir}/usr/bin"
install -Dm755 "${srcdir}/dart/LICENSE.dart_sdk_archive.md" "${pkgdir}/usr/share/licenses/dart/LICENSE"
cp -ra "${srcdir}/dart/dart-sdk" "${pkgdir}/opt/dart-sdk"
chmod -R ugo+rX "${pkgdir}/opt"
ln -sf "/opt/dart-sdk/bin/dart" "${pkgdir}/usr/bin/dart"
ln -sf "/opt/dart-sdk/bin/dartaotruntime" "${pkgdir}/usr/bin/dartaotruntime"
}
pkgname=("${pkgbase}" "${pkgbase}-common" "${pkgbase}-gradle" "${pkgbase}-tool" "${pkgbase}-devel" "${pkgbase}-target-linux" "${pkgbase}-target-android" "${pkgbase}-target-web" "${pkgbase}-intellij-patch" "${pkgbase}-artifacts-engine-common-google-bin" "${pkgbase}-artifacts-engine-linux-google-bin" "${pkgbase}-artifacts-engine-web-google-bin" "${pkgbase}-artifacts-engine-android-google-bin" "${pkgbase}-artifacts-sky-engine-google-bin" "${pkgbase}-artifacts-material-fonts-google-bin" "${pkgbase}-artifacts-gradle-google-bin" "${pkgbase}-artifacts-dart-google-bin")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")
_package${_p#$pkgbase}
}"
done
+18
View File
@@ -0,0 +1,18 @@
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -703,15 +703,6 @@
'$flutterBinDir to your path.',
);
}
- final String resolvedFlutterPath = flutterBin.resolveSymbolicLinksSync();
- if (!_filePathContainsDirPath(flutterRoot, resolvedFlutterPath)) {
- final hint =
- 'Warning: `$binary` on your path resolves to '
- '$resolvedFlutterPath, which is not inside your current Flutter '
- 'SDK checkout at $flutterRoot. Consider adding $flutterBinDir to '
- 'the front of your path.';
- return ValidationMessage.hint(hint);
- }
return null;
}
+36
View File
@@ -0,0 +1,36 @@
pre_install() {
NEW=$1
OLD=$2
MAJOR=$(echo $OLD | awk -F '.' '{print $1}')
MINOR=$(echo $OLD | awk -F '.' '{print $2}')
PATCH=$(echo $OLD | awk -F '+' '{print $1}' | awk -F '.' '{print $3}')
#if [[ $MAJOR == 3 && $MINOR -le 19 && $MINOR -le 4]]; then
if [ -d "/opt/flutter" ]; then
echo "Removing leftovers of previous Flutter installation in /opt/flutter."
rm -rf "/opt/flutter"
fi
if [ -d "/usr/lib/flutter/.git" ]; then
echo "Removing unwanted git-refs in /usr/lib/flutter/.git."
rm -rf "/usr/lib/flutter/.git"
fi
#fi
}
post_install() {
NEW=$1
OLD=$2
MAJOR=$(echo $OLD | awk -F '.' '{print $1}')
MINOR=$(echo $OLD | awk -F '.' '{print $2}')
PATCH=$(echo $OLD | awk -F '+' '{print $1}' | awk -F '.' '{print $3}')
#if [[ $MAJOR == 3 && $MINOR -lt 8 ]]; then
if grep -q "flutterusers" /etc/group; then
echo "Removing group flutterusers as no longer needed."
groupdel "flutterusers"
fi
#fi
}
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# adapted by lnl from project's repo
# To debug the tool, you can pass the following env to enable debug
# mode and set an observatory port:
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --enable-asserts --observe=65432"
set -e
# this is required in case people try to run with `aur/dart-sdk-dev` instead of `extra/dart`
DART_BINARY=$(readlink $(which dart))
export DART_ROOT=${DART_ROOT:-${DART_BINARY/\/bin\/dart/}}
export FLUTTER_ROOT="${FLUTTER_ROOT:-/usr/lib/flutter}"
FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
# Test if running as superuser but don't warn if running within Docker or CI.
if [ "$(id -u)" = "0" ] && ! [ -f /.dockerenv ] && [ "$CI" != "true" ] && [ "$BOT" != "true" ] && [ "$CONTINUOUS_INTEGRATION" != "true" ]; then
>&2 echo " Woah! You appear to be trying to run flutter as root."
>&2 echo " We strongly recommend running the flutter tool without superuser privileges."
>&2 echo " /"
>&2 echo "📎"
fi
exec dart --disable-dart-dev --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
+34
View File
@@ -0,0 +1,34 @@
--- ./packages/flutter_tools/gradle/build.gradle.kts.orig
+++ ./packages/flutter_tools/gradle/build.gradle.kts
@@ -7,6 +7,8 @@
`groovy`
}
+project.buildDir = file(project.gradle.gradleUserHomeDir.path + "/flutter/build")
+
group = "dev.flutter.plugin"
version = "1.0.0"
--- ./packages/flutter_tools/lib/src/android/gradle.dart.orig
+++ ./packages/flutter_tools/lib/src/android/gradle.dart
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'dart:io' as io show Platform;
import 'dart:math';
import 'package:crypto/crypto.dart';
@@ -276,6 +276,12 @@
int? maxRetries,
_OutputParser? outputParser,
}) async {
+ final gradleUserHome = io.Platform.environment['GRADLE_USER_HOME'] ??
+ io.Platform.environment['HOME']! + '/.gradle';
+ options = [
+ '--project-cache-dir=$gradleUserHome/flutter/.gradle',
+ ...options,
+ ];
final bool usesAndroidX = isAppUsingAndroidX(project.android.hostAppGradleRoot);
if (usesAndroidX) {
_analytics.send(Event.flutterBuildInfo(label: 'app-using-android-x', buildType: 'gradle'));
+20
View File
@@ -0,0 +1,20 @@
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -319,7 +319,7 @@
var fatalStorageWarning = true;
static RandomAccessFile? _lock;
- static var _lockEnabled = true;
+ static var _lockEnabled = false;
/// Turn off the [lock]/[releaseLock] mechanism.
///
@@ -722,7 +722,6 @@
}
void setStampFor(String artifactName, String version) {
- getStampFileFor(artifactName).writeAsStringSync(version);
}
File getStampFileFor(String artifactName) {
+44
View File
@@ -0,0 +1,44 @@
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -1010,31 +1010,6 @@
}
Future<bool> checkForArtifacts(String? engineVersion) async {
- engineVersion ??= version;
- final url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/';
-
- var exists = false;
- for (final String pkgName in getPackageDirs()) {
- exists = await cache.doesRemoteExist(
- 'Checking package $pkgName is available...',
- Uri.parse('$url$pkgName.zip'),
- );
- if (!exists) {
- return false;
- }
- }
-
- for (final List<String> toolsDir in getBinaryDirs()) {
- final String cacheDir = toolsDir[0];
- final String urlPath = toolsDir[1];
- exists = await cache.doesRemoteExist(
- 'Checking $cacheDir tools are available...',
- Uri.parse(url + urlPath),
- );
- if (!exists) {
- return false;
- }
- }
return true;
}
@@ -1135,6 +1110,8 @@
Directory location,
void Function(File, Directory) extractor,
) async {
+ throwToolExit('Tried to download $url. Report on aur.');
+
final String downloadPath = flattenNameSubdirs(url, _fileSystem);
final File tempFile = _createDownloadFile(downloadPath);
Status status;
+22
View File
@@ -0,0 +1,22 @@
--- a/packages/flutter_tools/lib/src/reporting/usage.dart
+++ b/packages/flutter_tools/lib/src/reporting/usage.dart
@@ -218,7 +218,7 @@
if (globals.platform.environment.containsKey('FLUTTER_HOST')) {
analytics.setSessionValue('aiid', globals.platform.environment['FLUTTER_HOST']);
}
- analytics.analyticsOpt = AnalyticsOpt.optOut;
+ analytics.analyticsOpt = AnalyticsOpt.optIn;
}
return _DefaultUsage._(
--- a/packages/flutter_tools/lib/src/reporting/first_run.dart
+++ b/packages/flutter_tools/lib/src/reporting/first_run.dart
@@ -37,6 +37,8 @@
║ See Google's privacy policy: ║
║ https://policies.google.com/privacy ║
╚════════════════════════════════════════════════════════════════════════════╝
+arch linux aur overrides: reporting is disabled by default. Opt-out is not a sent event.
+Run 'flutter config --analytics' to opt in to reports.
''';
/// The first run messenger determines whether the first run license terms
+173
View File
@@ -0,0 +1,173 @@
--- ./packages/flutter_tools/bin/tool_backend.dart.orig
+++ ./packages/flutter_tools/bin/tool_backend.dart
@@ -73,9 +73,9 @@
exit(1);
}
final String flutterExecutable = pathJoin(<String>[
- flutterRoot,
+ '/usr',
'bin',
- if (Platform.isWindows) 'flutter.bat' else 'flutter',
+ 'flutter',
]);
final String bundlePlatform = targetPlatform;
final String target = '${buildMode}_bundle_${bundlePlatform}_assets';
--- ./packages/flutter_tools/bin/tool_backend.sh.orig
+++ ./packages/flutter_tools/bin/tool_backend.sh
@@ -3,7 +3,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-readonly flutter_bin_dir="${FLUTTER_ROOT}/bin"
-readonly dart_bin_dir="${flutter_bin_dir}/cache/dart-sdk/bin"
-
-exec "${dart_bin_dir}/dart" "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.dart" "${@:1}"
+exec "${DART_ROOT:-"/opt/dart-sdk"}/bin/dart" "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.dart" "${@:1}"
--- ./packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt.orig
+++ ./packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt
@@ -50,7 +50,7 @@
addTaskForLockfileGeneration(rootProject)
}
- val flutterRootSystemVal: String? = System.getenv("FLUTTER_ROOT")
+ val flutterRootSystemVal: String? = System.getenv("FLUTTER_ROOT") ?: "/usr/bin/flutter"
val flutterRootPath: String =
resolveFlutterSdkProperty(flutterRootSystemVal)
?: throw GradleException(
@@ -170,7 +170,7 @@
val flutterExecutableName = getExecutableNameForPlatform("flutter")
flutterExecutable =
- Paths.get(flutterRoot!!.absolutePath, "bin", flutterExecutableName).toFile()
+ Paths.get("/usr", "bin", flutterExecutableName).toFile()
// Validate that the provided Gradle, Java, AGP, and KGP versions are all within our
// supported range.
--- ./packages/flutter_tools/lib/src/artifacts.dart.orig
+++ ./packages/flutter_tools/lib/src/artifacts.dart
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'dart:io' as io show Platform;
+
import 'package:file/memory.dart';
import 'package:meta/meta.dart';
import 'package:process/process.dart';
@@ -1308,24 +1308,7 @@
}
String _getDartSdkPath() {
- final String builtPath = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk');
- if (_fileSystem.isDirectorySync(_fileSystem.path.join(builtPath, 'bin'))) {
- return builtPath;
- }
-
- // If we couldn't find a built dart sdk, let's look for a prebuilt one.
- final String prebuiltPath = _fileSystem.path.join(
- _getFlutterPrebuiltsPath(),
- _getPrebuiltTarget(),
- 'dart-sdk',
- );
- if (_fileSystem.isDirectorySync(prebuiltPath)) {
- return prebuiltPath;
- }
-
- throwToolExit(
- 'Unable to find a built dart sdk at: "$builtPath" or a prebuilt dart sdk at: "$prebuiltPath"',
- );
+ return io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk';
}
String _getFlutterPrebuiltsPath() {
@@ -1382,7 +1343,7 @@
/// Locate the Dart SDK.
String _dartSdkPath(Cache cache) {
- return cache.getRoot().childDirectory('dart-sdk').path;
+ return io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk';
}
class _TestArtifacts implements Artifacts {
--- ./packages/flutter_tools/lib/src/cache.dart.orig
+++ ./packages/flutter_tools/lib/src/cache.dart
@@ -3,6 +3,7 @@
// found in the LICENSE file.
import 'dart:async';
+import 'dart:io' as io show Platform;
import 'package:crypto/crypto.dart';
import 'package:file/memory.dart';
@@ -421,8 +421,8 @@
String get devToolsVersion {
if (_devToolsVersion == null) {
- const devToolsDirPath = 'dart-sdk/bin/resources/devtools';
- final Directory devToolsDir = getCacheDir(devToolsDirPath, shouldCreate: false);
+ final String dartSdkRoot = io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk';
+ final Directory devToolsDir = _fileSystem.directory(dartSdkRoot + '/bin/resources/devtools');
if (!devToolsDir.existsSync()) {
throw Exception('Could not find directory at ${devToolsDir.path}');
}
--- ./packages/flutter_tools/lib/src/commands/create_base.dart.orig
+++ ./packages/flutter_tools/lib/src/commands/create_base.dart
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'dart:io' as io show Platform;
+
import 'package:meta/meta.dart';
import 'package:uuid/uuid.dart';
@@ -341,7 +341,7 @@
'linuxIdentifier': linuxIdentifier,
'windowsIdentifier': windowsIdentifier,
'description': projectDescription,
- 'dartSdk': '$flutterRoot/bin/cache/dart-sdk',
+ 'dartSdk': io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk',
'androidMinApiLevel': gradle.minSdkVersion,
'androidSdkVersion': gradle.minSdkVersion,
'pluginClass': pluginClass,
--- ./packages/flutter_tools/lib/src/dart/pub.dart.orig
+++ ./packages/flutter_tools/lib/src/dart/pub.dart
@@ -3,6 +3,7 @@
// found in the LICENSE file.
import 'dart:async';
+import 'dart:io' as io show Platform;
import 'package:meta/meta.dart';
import 'package:package_config/package_config.dart';
@@ -545,10 +546,7 @@
List<String> _computePubCommand() {
// TODO(zanderso): refactor to use artifacts.
final String sdkPath = _fileSystem.path.joinAll(<String>[
- Cache.flutterRoot!,
- 'bin',
- 'cache',
- 'dart-sdk',
+ io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk',
'bin',
'dart',
]);
--- ./packages/flutter_tools/lib/src/dart/language_version.dart.orig
+++ ./packages/flutter_tools/lib/src/dart/language_version.dart
@@ -3,6 +3,7 @@
// found in the LICENSE file.
import 'dart:async';
+import 'dart:io' as io show Platform;
import 'package:file/file.dart';
import 'package:package_config/package_config.dart';
@@ -27,7 +27,7 @@
// Either reading the file or parsing the version could fail on a corrupt Dart SDK.
// let it crash so it shows up in crash logging.
final File versionFile = fileSystem.file(
- fileSystem.path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'version'),
+ (io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk') + '/version',
);
if (!versionFile.existsSync() && _inUnitTest()) {
return LanguageVersion(2, 12);
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -e
makepkg -ofC
readonly ENGINE_VERSION="$(cat src/flutter/bin/internal/engine.version)"
readonly MATERIAL_FONTS_VERSION="$(cat src/flutter/bin/internal/material_fonts.version | cut -d '/' -f4)"
readonly GRADLE_WRAPPER_VERSION="$(cat src/flutter/bin/internal/gradle_wrapper.version | cut -d '/' -f3)"
readonly LIBIMOBILEDEVICE_VERSION="$(cat src/flutter/bin/internal/libimobiledevice.version)"
readonly USBMUXD_VERSION="$(cat src/flutter/bin/internal/libusbmuxd.version)"
readonly LIBPLIST_VERSION="$(cat src/flutter/bin/internal/libplist.version)"
readonly OPENSSL_VERSION="$(cat src/flutter/bin/internal/openssl.version)"
readonly IOS_DEPLOY_VERSION="$(cat src/flutter/bin/internal/ios-deploy.version)"
readonly SDK_VERSION="$(cat src/dart/dart-sdk/version)"
readonly SDK_STRING="$(grep sdk src/flutter/packages/flutter_tools/pubspec.yaml | awk -F "'" '{print $2}')"
readonly SDK_MIN="$(echo $SDK_STRING | awk -F '=' '{print $2}' | awk -F '-' '{print $1}')"
readonly SDK_MAX="$(echo $SDK_STRING | awk -F '<' '{print $2}' | awk -F '-' '{print $1}')"
sed -i 's/_dartver=.*/_dartver="'"${SDK_VERSION}"'"/g' PKGBUILD
sed -i 's/_enginever=.*/_enginever='"${ENGINE_VERSION}"'/g' PKGBUILD
sed -i 's/_materialfontsver=.*/_materialfontsver='"${MATERIAL_FONTS_VERSION}"'/g' PKGBUILD
sed -i 's/_gradlewver=.*/_gradlewver='"${GRADLE_WRAPPER_VERSION}"'/g' PKGBUILD
+122
View File
@@ -0,0 +1,122 @@
--- ./packages/flutter_tools/lib/src/version.dart.orig
+++ ./packages/flutter_tools/lib/src/version.dart
@@ -79,7 +79,7 @@
}) {
final File versionFile = getVersionFile(fs, flutterRoot);
- if (!fetchTags && versionFile.existsSync()) {
+ if (versionFile.existsSync()) {
final _FlutterVersionFromFile? version = _FlutterVersionFromFile.tryParseFromFile(
versionFile,
git: git,
@@ -99,10 +99,7 @@
}
}
- final String frameworkRevision = git
- .logSync(['-n', '1', '--pretty=format:%H'], workingDirectory: flutterRoot)
- .stdout
- .trim();
+ final String frameworkRevision = "archlinuxaur0000000000000000000000000000";
return FlutterVersion.fromRevision(
clock: clock,
@@ -137,7 +134,8 @@
workingDirectory: flutterRoot,
fetchTags: fetchTags,
);
- final String frameworkVersion = gitTagVersion.frameworkVersionFor(frameworkRevision);
+ final String frameworkVersion =
+ globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync();
final result = _FlutterVersionGit._(
clock: clock,
flutterRoot: flutterRoot,
@@ -222,10 +220,7 @@
final String flutterRoot;
String _getTimeSinceCommit({String? revision}) {
- return _git
- .logSync(['-n', '1', '--pretty=format:%ar', ?revision], workingDirectory: flutterRoot)
- .stdout
- .trim();
+ return 'unknown (arch linux aur package)';
}
// TODO(fujino): calculate this relative to frameworkCommitDate for
@@ -345,6 +340,7 @@
/// Returns `null` if the cached version is out-of-date or missing, and we are
/// unable to reach the server to get the latest version.
Future<DateTime?> _getLatestAvailableFlutterDate() async {
+ return null;
globals.cache.checkLockAcquired();
final VersionCheckStamp versionCheckStamp = await VersionCheckStamp.load(
globals.cache,
@@ -464,6 +460,14 @@
required Git git,
required String? workingDirectory,
}) {
+ final File versionFile = globals.fs.file(
+ globals.fs.path.join(workingDirectory!, 'bin', 'cache', 'flutter.version.json'),
+ );
+
+ final _FlutterVersionFromFile version =
+ _FlutterVersionFromFile.tryParseFromFile(versionFile, flutterRoot: workingDirectory, git: git)!;
+ return version.frameworkCommitDate;
+
final RunResult result = git.logSync([
gitRef,
'-n',
@@ -592,9 +596,7 @@
final String devToolsVersion;
@override
- void ensureVersionFile() {
- _ensureLegacyVersionFile(fs: fs, flutterRoot: flutterRoot, frameworkVersion: frameworkVersion);
- }
+ void ensureVersionFile() {}
}
class _FlutterVersionGit extends FlutterVersion {
@@ -708,16 +710,7 @@
required FileSystem fs,
required String flutterRoot,
required String frameworkVersion,
-}) {
- // TODO(matanlurey): https://github.com/flutter/flutter/issues/171900.
- if (featureFlags.isOmitLegacyVersionFileEnabled) {
- return;
- }
- final File legacyVersionFile = fs.file(fs.path.join(flutterRoot, 'version'));
- if (!legacyVersionFile.existsSync()) {
- legacyVersionFile.writeAsStringSync(frameworkVersion);
- }
-}
+}) {}
/// Checks if the provided [version] is tracking a standard remote.
///
@@ -743,6 +736,7 @@
///
/// Returns [VersionCheckError] if the tracking remote is not standard.
VersionCheckError? run() {
+ return null;
final String? flutterGit = platform.environment['FLUTTER_GIT_URL'];
final String? repositoryUrl = version.repositoryUrl;
@@ -950,7 +944,7 @@
if (revision == null) {
return '';
}
- return revision.length > 10 ? revision.substring(0, 10) : revision;
+ return revision.length > 12 ? revision.substring(0, 12) : revision;
}
/// Version of Flutter SDK parsed from Git.
@@ -1011,6 +1005,7 @@
bool fetchTags = false,
String gitRef = 'HEAD',
}) {
+ return parse(globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync());
if (fetchTags) {
final String channel = git
.runSync(['symbolic-ref', '--short', 'HEAD'], workingDirectory: workingDirectory)