diff options
author | The one with the braid | 2024-03-26 08:39:03 +0100 |
---|---|---|
committer | The one with the braid | 2024-03-26 08:41:50 +0100 |
commit | a8e72211fa46971b1fc971aa4cc6c704c1603000 (patch) | |
tree | 56066cae410c9f7023ab76850dd4478f8c28fd81 | |
parent | 8b412ef76488b3285081236a3e7525dabd1c6ff5 (diff) | |
download | aur-a8e72211fa46971b1fc971aa4cc6c704c1603000.tar.gz |
refactor: split engine packages
Signed-off-by: The one with the braid <info@braid.business>
-rw-r--r-- | .SRCINFO | 74 | ||||
-rw-r--r-- | PKGBUILD | 191 |
2 files changed, 202 insertions, 63 deletions
@@ -1,7 +1,7 @@ pkgbase = flutter pkgdesc = A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. pkgver = 3.19.4 - pkgrel = 7 + pkgrel = 8 url = https://flutter.dev install = flutter.install arch = x86_64 @@ -12,17 +12,6 @@ pkgbase = flutter makedepends = dart>=3.3.2 makedepends = jq makedepends = gradle - depends = gradle - depends = bash - depends = curl - depends = file - depends = git - depends = coreutils - depends = unzip - depends = which - depends = xz - depends = zip - depends = libglvnd noextract = material_fonts.zip noextract = android-x86.zip noextract = android-x64.zip @@ -147,36 +136,89 @@ pkgname = flutter depends = flutter-target-web depends = flutter-intellij-patch +pkgname = flutter-common + pkgdesc = Flutter SDK component - common SDK files and pub cache + +pkgname = flutter-engine-common-google-bin + pkgdesc = Flutter SDK component - common engine files + depends = flutter-common + depends = flutter-sky-engine + depends = flutter-material-fonts + provides = flutter-engine-common + conflicts = flutter-engine-common + +pkgname = flutter-engine-linux-google-bin + pkgdesc = Flutter SDK component - linux engine + depends = flutter-engine-common + provides = flutter-engine-linux + conflicts = flutter-engine-linux + +pkgname = flutter-engine-web-google-bin + pkgdesc = Flutter SDK component - web engine + depends = flutter-engine-common + provides = flutter-engine-web + conflicts = flutter-engine-web + +pkgname = flutter-engine-android-google-bin + pkgdesc = Flutter SDK component - android engine + depends = flutter-engine-common + provides = flutter-engine-android + conflicts = flutter-engine-android + +pkgname = flutter-sky-engine-google-bin + pkgdesc = Flutter SDK component - sky-engine + depends = flutter-common + provides = flutter-sky-engine + conflicts = flutter-sky-engine + +pkgname = flutter-material-fonts + pkgdesc = Flutter SDK component - material fonts + depends = flutter-common + pkgname = flutter-tool pkgdesc = Flutter SDK component - CLI tool (for packaging only) depends = flutter-common + depends = dart>=3.3.2 + depends = bash + depends = curl + depends = file + depends = git + depends = coreutils + depends = unzip + depends = which + depends = xz + depends = zip + depends = glu pkgname = flutter-devel pkgdesc = Flutter SDK component - CLI tool (for application development) depends = flutter-tool + depends = dart>=3.3.2 + replaces = flutter-tool-developer pkgname = flutter-target-linux pkgdesc = Flutter SDK component - linux target files depends = flutter-tool + depends = flutter-engine-linux + depends = dart>=3.3.2 depends = clang depends = cmake depends = ninja depends = pkgconf depends = gtk3 - -pkgname = flutter-common - pkgdesc = Flutter SDK component - common files - depends = glu + depends = libglvnd pkgname = flutter-target-android pkgdesc = Flutter SDK component - android target files depends = flutter-tool + depends = flutter-engine-android optdepends = android-sdk: develop for Android devices optdepends = java-environment: develop for Android devices pkgname = flutter-target-web pkgdesc = Flutter SDK component - web target files depends = flutter-tool + depends = flutter-engine-web pkgname = flutter-intellij-patch pkgdesc = Flutter SDK component - IntelliJ Flutter plugin hotfix @@ -12,28 +12,12 @@ _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=7 +pkgrel=8 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://${pkgbase}.dev" license=("custom" "BSD" "CCPL") -depends=( - # 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 - "libglvnd" # https://github.com/flutter/engine/pull/16924 -) makedepends=( "dart>=${_dartver}" "jq" @@ -328,15 +312,11 @@ _package() { } _package-common() { - pkgdesc="${_pkgdesc} - common files" - depends=( - "glu" # libGLU.so.1 required for flutter test - ) + pkgdesc="${_pkgdesc} - common SDK files and pub cache" install -Dm644 "${srcdir}/${pkgbase}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE" install -dm755 "${pkgdir}/usr/lib/${pkgbase}" - install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_driver" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_goldens" @@ -346,10 +326,6 @@ _package-common() { install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/fuchsia_remote_debug_protocol" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/integration_test" - cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/common" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine/common" - cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/material_fonts" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/material_fonts" - cp -ra "${srcdir}/${pkgbase}/bin/cache/pkg" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/pkg" - cp -ra "${srcdir}/${pkgbase}/packages/flutter/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/flutter" cp -ra "${srcdir}/${pkgbase}/packages/flutter_driver/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_driver" cp -ra "${srcdir}/${pkgbase}/packages/flutter_goldens/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_goldens" @@ -358,57 +334,163 @@ _package-common() { cp -ra "${srcdir}/${pkgbase}/packages/flutter_web_plugins/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_web_plugins" cp -ra "${srcdir}/${pkgbase}/packages/fuchsia_remote_debug_protocol/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/fuchsia_remote_debug_protocol" cp -ra "${srcdir}/${pkgbase}/packages/integration_test/"{pubspec.yaml,lib} "${pkgdir}/usr/lib/${pkgbase}/packages/integration_test" +} + +_package-engine-common-google-bin() { + pkgdesc="${_pkgdesc} - common engine files" + depends=( + "${pkgbase}-common" + "${pkgbase}-sky-engine" + "${pkgbase}-material-fonts" + ) + provides=( + "${pkgbase}-engine-common" + ) + conflicts=( + "${pkgbase}-engine-common" + ) + + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/internal" + + cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/common" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine/common" + + install -Dm644 "${srcdir}/${pkgbase}/bin/internal/engine.version" "${pkgdir}/usr/lib/${pkgbase}/bin/internal/engine.version" + install -Dm644 "${srcdir}/${pkgbase}/bin/internal/engine.realm" "${pkgdir}/usr/lib/${pkgbase}/bin/internal/engine.realm" + +} + +_package-sky-engine-google-bin() { + pkgdesc="${_pkgdesc} - sky-engine" + depends=( + "${pkgbase}-common" + ) + provides=( + "${pkgbase}-sky-engine" + ) + conflicts=( + "${pkgbase}-sky-engine" + ) + + install -dm755 "${pkgdir}/usr/lib/${pkgbase}" + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache" cp -ra "${srcdir}/${pkgbase}/bin/cache/pkg" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/pkg" - cp -ra "${srcdir}/${pkgbase}/pub-cache" "${pkgdir}/usr/lib/${pkgbase}/pub-cache" +} + +_package-material-fonts() { + pkgdesc="${_pkgdesc} - material fonts" + depends=( + "${pkgbase}-common" + ) + + install -dm755 "${pkgdir}/usr/lib/${pkgbase}" + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts" + + cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/material_fonts" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/material_fonts" } _package-target-linux() { pkgdesc="${_pkgdesc} - linux target files" depends=( "${pkgbase}-tool" + "${pkgbase}-engine-linux" + "dart>=${_dartver}" "clang" "cmake" "ninja" "pkgconf" # base-devel, but runtime dependency + # runtime shared libraries "gtk3" + "libglvnd" # https://github.com/flutter/engine/pull/16924 ) - install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/bin" + cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/bin/tool_backend.sh" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/bin" + cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/bin/tool_backend.dart" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/bin" +} + +_package-engine-linux-google-bin() { + pkgdesc="${_pkgdesc} - linux engine" + depends=( + "${pkgbase}-engine-common" + ) + provides=( + "${pkgbase}-engine-linux" + ) + conflicts=( + "${pkgbase}-engine-linux" + ) + + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" + cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/linux-${_flutterarch}" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/linux-${_flutterarch}-profile" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/linux-${_flutterarch}-release" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" - - cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/bin/tool_backend.sh" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/bin" - cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/bin/tool_backend.dart" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/bin" } _package-target-web() { pkgdesc="${_pkgdesc} - web target files" - depends=("${pkgbase}-tool") + depends=( + "${pkgbase}-tool" + "${pkgbase}-engine-web" + ) + + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/lib/src/web" + + cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/lib/src/web/file_generators" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/lib/src/web" +} +_package-engine-web-google-bin() { + pkgdesc="${_pkgdesc} - web engine" + depends=( + "${pkgbase}-engine-common" + ) + provides=( + "${pkgbase}-engine-web" + ) + conflicts=( + "${pkgbase}-engine-web" + ) install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache" - install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/lib/src/web" cp -ra "${srcdir}/${pkgbase}/bin/cache/flutter_web_sdk" "${pkgdir}/usr/lib/${pkgbase}/bin/cache" - cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/lib/src/web/file_generators" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools/lib/src/web" } _package-target-android() { pkgdesc="${_pkgdesc} - android target files" - depends=("${pkgbase}-tool") + depends=( + "${pkgbase}-tool" + "${pkgbase}-engine-android" + ) optdepends=("android-sdk: develop for Android devices" "java-environment: develop for Android devices" ) + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts" + install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" + + cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/gradle_wrapper" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts" + cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/gradle" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" +} + + +_package-engine-android-google-bin() { + pkgdesc="${_pkgdesc} - android engine" + depends=( + "${pkgbase}-engine-common" + ) + provides=( + "${pkgbase}-engine-android" + ) + conflicts=( + "${pkgbase}-engine-android" + ) install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" - install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" - install -dm755 "${pkgdir}/usr/lib/${pkgbase}/bin/internal" cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/android-arm" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/android-arm-release" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" @@ -424,17 +506,26 @@ _package-target-android() { cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/android-x86" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/engine/android-x86-jit-release" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts/engine" - - cp -ra "${srcdir}/${pkgbase}/bin/cache/artifacts/gradle_wrapper" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/artifacts" - cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/gradle" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" - - install -Dm644 "${srcdir}/${pkgbase}/bin/internal/engine.version" "${pkgdir}/usr/lib/${pkgbase}/bin/internal/engine.version" - install -Dm644 "${srcdir}/${pkgbase}/bin/internal/engine.realm" "${pkgdir}/usr/lib/${pkgbase}/bin/internal/engine.realm" } _package-tool() { pkgdesc="${_pkgdesc} - CLI tool (for packaging only)" - depends=("${pkgbase}-common") + depends=( + "${pkgbase}-common" + # TODO: completely compile Flutter tool standalone and drop dependency + "dart>=${_dartver}" + # 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 + ) install -dm755 "${pkgdir}/usr/lib/${pkgbase}" @@ -454,14 +545,20 @@ _package-tool() { _package-devel() { pkgdesc="${_pkgdesc} - CLI tool (for application development)" - depends=("${pkgbase}-tool") - + depends=( + "${pkgbase}-tool" + "dart>=${_dartver}" + ) + replaces=("${pkgbase}-tool-developer") install -dm755 "${pkgdir}/usr/lib/${pkgbase}" install -dm755 "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" cp -ra "${srcdir}/${pkgbase}/examples" "${pkgdir}/usr/lib/${pkgbase}" cp -ra "${srcdir}/${pkgbase}/packages/flutter_tools/templates" "${pkgdir}/usr/lib/${pkgbase}/packages/flutter_tools" + + # TODO: patch `flutter create` to run without pub cache + cp -ra "${srcdir}/${pkgbase}/pub-cache" "${pkgdir}/usr/lib/${pkgbase}/pub-cache" } _package-intellij-patch() { @@ -480,7 +577,7 @@ _package-intellij-patch() { ln -sf "${DART_ROOT:-"/opt/dart-sdk"}" "${pkgdir}/usr/lib/${pkgbase}/bin/cache/dart-sdk" } -pkgname=("${pkgbase}" "${pkgbase}-tool" "${pkgbase}-devel" "${pkgbase}-target-linux" "${pkgbase}-common" "${pkgbase}-target-android" "${pkgbase}-target-web" "${pkgbase}-intellij-patch") +pkgname=("${pkgbase}" "${pkgbase}-common" "${pkgbase}-engine-common-google-bin" "${pkgbase}-engine-linux-google-bin" "${pkgbase}-engine-web-google-bin" "${pkgbase}-engine-android-google-bin" "${pkgbase}-sky-engine-google-bin" "${pkgbase}-material-fonts" "${pkgbase}-tool" "${pkgbase}-devel" "${pkgbase}-target-linux" "${pkgbase}-target-android" "${pkgbase}-target-web" "${pkgbase}-intellij-patch") for _p in "${pkgname[@]}"; do eval "package_$_p() { |