# Maintainer: The one with the braid pkgbase=flutter-artifacts-google-bin _group=flutter groups=("$_group") pkgver=3.32.5 # in order to update these version hashes, consult the PKGBUILD and update-artifact-versions.sh # script of https://aur.archlinux.org/pkgbase/flutter _enginever=dd93de6fb1776398bf586cbd477deade1391c7e4 _materialfontsver=3012db47f3130e62f7cc0beabff968a33cbec8d8 _gradlewver=fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa _flutterarch=$(echo "$CARCH" | sed s/aarch64/arm64/ | sed s/x86_64/x64/) _dartver="3.8.1" _dartmin="3.8.0" _dartmax="3.9.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="Flutter SDK artifacts (binary from Google)" pkgdesc="${_pkgdesc}" arch=("x86_64" "aarch64") url="https://${_group}.dev" license=("custom" "BSD" "CCPL") makedepends=( "unzip" "tar" ) options=("!emptydirs") source=( # 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" ) 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=('e56fa8e9bb4589fde964be3de451f3e5b251e4a1eafb1dc98d94add034dd5a86' '31e9428baf1a2b2f485f1110c5899f852649b33d46a2e9b07f9d17752d50190a' '2828b8a346f0363504a3fb1109313f847d0963388fb081d2582c2399b690a42d' '4be9e8e9d4178a6cf1ef3b3c69ed5d77e3d67a7987aaa3c56c64bf4f826f9652' '568f4837387be64813c8ed8546980ad9ef7de28dc4a57e0110af59c7e0079b31' '6f2d46697d7788eb61ced5e5fc651fb3e13e0c05ddca46194e066411b8f6b271' '62aec81a766514ada8703a3f5bf56e4186c04d97ef5d45d05e31cc1773691d8e' 'e6da713764d8075c088542f7e9f85b4db50c2f79f3bf8a98b1d691106d88900b' '5e5ee4afbfd8fd9dd48cc7577a797d3e4e406ede5cd91b2676b39af006537dd1' '0acf262a2e947ee4b84abce2e9442b56c9f92db6ee232b2a3bb7d8e4798e234b' '40b37208033e6d93e02179a42cf340cc115e3d8ebe0eaef1712026ca453e935e' 'bf8dc685e47887d24f7bfa80f575d41772891ac59988ed4d5335ef7ef679cc5c' '41daca7a13ea4d2f6ec1aae299af5c345955c57cf6ca9f749006ea168bab06c0' '780eb588d0652a12fcc5140884064e8f00b0bd3e23d02d3a559bf5f12be9b1c3' 'c62fc1a6569a7dcf6d2dcc198774cbb06aed84ef18adb59757ba2e72690803f2' 'd6f89214a6dfd9305c88388962bb255e014b48e29a9c73df9911e7fc59840778') sha256sums_x86_64=('05aaf26e238a04521e86137c889759fd6472a388dfd5e905c3313fcf08da1932' '00de0da794afb182b7f368bede3f0d95efeaa0692804928eff7d380c2ab1bb87' '715fbf7a06be9e3d0e9aa8fc3c3006d0d2c20d77d20d2e146ff205167e5175f8' '4b2799def1ec9a13fdacfefb78f71ead4241b426f48cdc0bceb9a0fc5575989f' '3a2d6f0fadd4e86d1f709d8dac515b15a62b5b9b14f33f230eff641dce4c051a' '7d534bc2b78caca868bc99a9475747cc4495d00434ac25989a20a45cc93d86d7' '2ad76fcd8c5d400c7213f8a363d79e86c546e299fa88e4a9d9cc5c79397c4355' 'f8796022c2de79b95a061cde97aaf22c461735c4f851b58be69e54817b5990da' '4bc55ecc66b6baf802028ebfab2debbd85c49a1d566129e14a46617c272b9738' 'a14e1270d257fc828593939b31fb91f562365ef2939eb002da1e59aef4caafd1' '7413ecd23e00df84f0429a28c479fd8f3543eb9a1b60472a1be1c40816e59977' '46f42d51c1244f67abdada2b73114420d62d054431aff79dacffc47bd6c65ec7') sha256sums_aarch64=('cb978e7a925e69a7711f876ee3735205123146aa1f0bf8dfc46f2705d62fb424' '78f4f23ea821c40cb53402c78d449318905a381b12a1690d7ad1cb7eb1333eb4' 'bdce63ae32906804a2264160709d1b95ec9709317274649883a98b8527868a65' '131901d3359e4f70a1668910d946ef521595252a3d76ff47f1f91ff6573ad433' 'b6754b9f9de6dc83b1836e083957172f91306e96f47cf35408874aa3caefe033' 'c7fc46830b3be19ffa66e2492e975a2dbf8d8c6af74d1ac154f4078e653cb0c6') prepare() { 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 [ "$(uname -m)" == "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() { true } _package-engine-common-google-bin() { pkgdesc="${_pkgdesc} - common engine files" depends=( "${_group}-common=${pkgver}" "${_group}-sky-engine=${pkgver}" "${_group}-material-fonts=${pkgver}" "dart>=${_dartmin}" "dart<${_dartmax}" ) 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-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-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-engine-linux-google-bin() { pkgdesc="${_pkgdesc} - linux engine" depends=( "${_group}-engine-common=${pkgver}" ) provides=( "${_group}-engine-linux=${pkgver}" ) conflicts=( "${_group}-engine-linux" "${_group}-target-linux<${pkgver}" "${_group}-engine-android<${pkgver}" "${_group}-engine-web<${pkgver}" ) 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-engine-web-google-bin() { pkgdesc="${_pkgdesc} - web engine" depends=( "${_group}-engine-common=${pkgver}" ) provides=( "${_group}-engine-web=${pkgver}" ) conflicts=( "${_group}-engine-web" "${_group}-target-web<${pkgver}" "${_group}-engine-android<${pkgver}" "${_group}-engine-linux<${pkgver}" ) install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache" cp -ra "${srcdir}/${_group}/bin/cache/flutter_web_sdk" "${pkgdir}/usr/lib/${_group}/bin/cache" } _package-gradle-google-bin() { pkgdesc="${_pkgdesc} - gradle wrapper" depends=( "${_group}-common=${pkgver}" ) provides=( "${_group}-gradle=${pkgver}" ) conflicts=( "${_group}-gradle" "${_group}-target-android<${pkgver}" ) 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-engine-android-google-bin() { pkgdesc="${_pkgdesc} - android engine" depends=( "${_group}-engine-common=${pkgver}" ) provides=( "${_group}-engine-android=${pkgver}" ) conflicts=( "${_group}-engine-android" "${_group}-target-android<${pkgver}" "${_group}-engine-linux<${pkgver}" "${_group}-engine-web<${pkgver}" ) 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-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=("${_group}-engine-common-google-bin" "${_group}-engine-linux-google-bin" "${_group}-engine-web-google-bin" "${_group}-engine-android-google-bin" "${_group}-sky-engine-google-bin" "${_group}-material-fonts-google-bin" "${_group}-gradle-google-bin" "${_group}-dart-google-bin") for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$_group}") _package${_p#$_group} }" done