# Maintainer: WithTheBraid # Co-Maintainer: Polarian , Fredy GarcĂ­a # Contributor: Philip Goto pkgname=flutter pkgver=3.19.4 _dartver=3.3.2 _enginever=a5c24f538d05aaf66f7972fb23959d8cafb9f95a _materialfontsver=3012db47f3130e62f7cc0beabff968a33cbec8d8 _gradlewver=fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa _flutterarch=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/x64/) # 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=4 pkgdesc="A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android." arch=("x86_64" "aarch64") url="https://${pkgname}.dev" license=("custom" "BSD" "CCPL") depends=( "dart>=${_dartver}" # instead of bundled Gradle Wrapper "gradle" # 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" # runtime shared libraries "glu" # libGLU.so.1 required for flutter test "libglvnd" # https://github.com/flutter/engine/pull/16924 ) makedepends=("jq") optdepends=("android-sdk: develop for Android devices" "java-environment: develop for Android devices" "android-studio" "intellij-idea-community-edition" "intellij-idea-ultimate-edition" "clang: clang++ is required for Linux development" "cmake: CMake is required for Linux development" "ninja: ninja is required for Linux development" "pkgconf: pkg-config is required for Linux development" # base-devel, but runtime dependency "gtk3: GTK 3.0 development libraries are required for Linux development") options=("!emptydirs") install="${pkgname}.install" source=( "${pkgname}-${pkgver}.tar.xz::https://github.com/${pkgname}/${pkgname}/archive/refs/tags/${pkgver/.hotfix/+hotfix}.tar.gz" # material_fonts "material_fonts.zip::${_storagebase}/flutter_infra_release/flutter/fonts/${_materialfontsver}/fonts.zip" # gradle_wrapper # we use the arch system gradle to create that one # "gradle_wrapper.tar.gz::${_storagebase}/flutter_infra_release/gradle-wrapper/${_gradlewver}/gradle-wrapper.tgz" # engine/android-arm-profile/linux-x64 "android-arm-profile-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-profile/linux-x64.zip" # engine/android-arm-release/linux-x64 "android-arm-release-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-release/linux-x64.zip" # engine/android-arm64-profile/linux-x64 "android-arm64-profile-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-profile/linux-x64.zip" # engine/android-arm64-release/linux-x64 "android-arm64-release-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-release/linux-x64.zip" # engine/android-x64-profile/linux-x64 "android-x64-profile-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-profile/linux-x64.zip" # engine/android-x64-release/linux-x64 "android-x64-release-linux.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-release/linux-x64.zip" # engine/android-x86 "android-x86.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x86/artifacts.zip" # engine/android-x64 "android-x64.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64/artifacts.zip" # engine/android-arm "android-arm.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm/artifacts.zip" # engine/android-arm-profile "android-arm-profile.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-profile/artifacts.zip" # engine/android-arm-release "android-arm-release.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm-release/artifacts.zip" # engine/android-arm64 "android-arm64.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64/artifacts.zip" # engine/android-arm64-profile "android-arm64-profile.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-profile/artifacts.zip" # engine/android-arm64-release "android-arm64-release.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-arm64-release/artifacts.zip" # engine/android-x64-profile "android-x64-profile.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-profile/artifacts.zip" # engine/android-x64-release "android-x64-release.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x64-release/artifacts.zip" # engine/android-x86-jit-release "android-x64-jit-release.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/android-x86-jit-release/artifacts.zip" # flutter_web_sdk "flutter_web_sdk.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter-web-sdk.zip" # pkg "sky_engine.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/sky_engine.zip" # engine/common "flutter_patched_sdk.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter_patched_sdk.zip" # engine/common "flutter_patched_sdk_product.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/flutter_patched_sdk_product.zip" # engine/linux-$ARCH "engine-${_flutterarch}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-${_flutterarch}/artifacts.zip" # engine/linux-$ARCH "gtk-debug-${_flutterarch}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-${_flutterarch}-debug/linux-${_flutterarch}-flutter-gtk.zip" # engine/linux-$ARCH-profile "gtk-profile-${_flutterarch}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-${_flutterarch}-profile/linux-${_flutterarch}-flutter-gtk.zip" # engine/linux-$ARCH-release "gtk-release-${_flutterarch}.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-${_flutterarch}-release/linux-${_flutterarch}-flutter-gtk.zip" # engine/linux-$ARCH "font-subset.zip::${_storagebase}/flutter_infra_release/flutter/${_enginever}/linux-${_flutterarch}/font-subset.zip" "system-dart.patch" "gradle-user-home.patch" # thanks to lauren n. liberda from Alpine for the awesome patchset used here ! "${pkgname}.sh" "version.patch" "no-lock.patch" "no-runtime-download.patch" "doctor.patch" "opt-in-analytics.patch" ) noextract=( "material_fonts.zip" # "gradle_wrapper.tar.gz" "android-arm-profile-linux.zip" "android-arm-release-linux.zip" "android-arm64-profile-linux.zip" "android-arm64-release-linux.zip" "android-x64-profile-linux.zip" "android-x64-release-linux.zip" "android-x86.zip" "android-x64.zip" "android-arm.zip" "android-arm-profile.zip" "android-arm-release.zip" "android-arm64.zip" "android-arm64-profile.zip" "android-arm64-release.zip" "android-x64-profile.zip" "android-x64-release.zip" "android-x64-jit-release.zip" "flutter_web_sdk.zip" "sky_engine.zip" "flutter_patched_sdk.zip" "flutter_patched_sdk_product.zip" "engine-${_flutterarch}.zip" "gtk-debug-${_flutterarch}.zip" "gtk-profile-${_flutterarch}.zip" "gtk-release-${_flutterarch}.zip" "font-subset.zip" ) sha256sums=('089f924c72f28d25851382d70db83df83c64746713f6a8ca08879a1530adb8ca' 'e56fa8e9bb4589fde964be3de451f3e5b251e4a1eafb1dc98d94add034dd5a86' 'f41f8cf16ed627f94c9ad2c60602fdedb585ff1f8d50f4c44927da706dbe1808' '9032d360fb258fba392fd00a150881674bfa88598c6fad2c73f552a03501f1ce' '33517b19738cf68a4c1de7566d3602a09b3be037b9f4aca17f10a364b476cb9e' '29780ca6efbcdabe6988cd7eae6dbf995c5839d3f4c0b1f3ee6de2f9bfdc6c5c' '6a35206886a116ba4ae83432035b877818b883033a70697a8330c473f9374b8e' '1778a36d34657f853b1c6cb848c5dae6a1480babd357131ab723d8b41109ffd3' 'd5da421c4849c169766be16f51e2634e02f1536416befb61f5f6551fb60c32d9' 'ec7e0d94b5fa32efe772e246893e9cc832e1f133e737f498fb7f7da5b84192c2' 'e5be895a4e8d2bf7d553839eeb097aff109fcc2efc45d76d7feebb18855831c8' 'e56fa8dfcaa3830eaa616c66faae0910a32df772d01a2d68d3fa2c895e6d65ff' '3921c7e7f95e6d95731fbc673da5e692da006738f3667a7db0295cb5ee7c1632' '3e7f49b80b31db50b6b74fc91a4d9a69407ebb1b1a33a6525e3e6dad0a397d99' 'e82408b2c0d7fa57f490a03492bfd9110a8ef923d4f22417fa99fd8854022dc8' 'c00b0d2b848dbbb184d263e7be87225219cf6d13fc2193d986c8684630b18fac' 'b50fed99cd5f6ae41282beab6c97380832aa0a1b81c261fe855bbff7ca95e9d3' '69153dd195a753bafd0f06ac0991cc92d408590e7b1dc398370dd4aa0255f614' '5a38c17cfc0e9aef522d20b6b889462b340cc0430ece8d9a456b947d0cb731e4' 'efa93f450398060b49a89b04caeac7d4a8bf2c3870170e6b619acaf0ffb0337b' 'b1f8faafcc0f3492aa1d0dab511e9a026de19356e35c55a237b8cfa3c0b1bcf1' '0a52880f8f3aff667db1a29ec2e68567689b378e773345427f9e5cf6cb80dea3' '2e848e6ee2dd591c0e558ee37d80391e4acb5bf8672cbe3e02af9a52d39e25b8' 'c72981b583838b6016f3ab5bf5240f041acefc82c3f67983e447373b520e54e5' '214302538b9c983bc075cb59770329f4f751f2a0f73c390566f68d670cdcdb6f' '70edb9c63fe08d77cb2a9b59f9d4d1ec16e28a49737e8dd0cdbf5ccefcc562bb' '6f5d86f207c78cb64744889c34ed3ac45e403ea035d512674e5b348cb0d6355a' '05778e62c2da50d8280dc55589225871bf90bb2d543b48d2f1d6acd73460d573' '8d2422220b5cdcbe7757cefa576045c92c4b013708a0a88c8d378484e1adb24e' 'de0d3567d83bd756841b19ccf879efc02749d8a45cf18d94cd71ec1d366c9024' '54db9347ac6467b806fff70f62b2709276a0ca4d82468ae8357d5520db0ad04a' '688a7d6a3c220cf09f7e48af46f1ef1b01d251679962c825eded0b3fa4fc2ab1' '544d08716332a9f9358b21010d468b84a9edff0da7bbb1baf0cf4d6322821ea5' 'a5f19e68e9e4790d017dc4988e715f51c44548df5615aae6106d1a0c84fe49f1' '04531ee1732c18c933b5b28f5da88ed183d5aa3698b1d1e912c000928b93ec91' '1578e819b6ee479b6db7a095bcfa74372d3ff555642c6d6ea7112e97bb6f2027') prepare() { mv "${srcdir}/${pkgname}-${pkgver/.hotfix/+hotfix}" "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/system-dart.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/gradle-user-home.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/version.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/no-lock.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/no-runtime-download.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/doctor.patch" -d "${srcdir}/${pkgname}" patch -p1 -i "${srcdir}/opt-in-analytics.patch" -d "${srcdir}/${pkgname}" echo "${pkgver}" > "${srcdir}/${pkgname}/version" mkdir -p "${srcdir}/${pkgname}/bin/cache/artifacts" cat > "${srcdir}/${pkgname}/bin/cache/flutter.version.json" <