summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThe one with the braid2024-03-26 08:39:03 +0100
committerThe one with the braid2024-03-26 08:41:50 +0100
commita8e72211fa46971b1fc971aa4cc6c704c1603000 (patch)
tree56066cae410c9f7023ab76850dd4478f8c28fd81
parent8b412ef76488b3285081236a3e7525dabd1c6ff5 (diff)
downloadaur-a8e72211fa46971b1fc971aa4cc6c704c1603000.tar.gz
refactor: split engine packages
Signed-off-by: The one with the braid <info@braid.business>
-rw-r--r--.SRCINFO74
-rw-r--r--PKGBUILD191
2 files changed, 202 insertions, 63 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 99bac031882c..c2a179969540 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 1fd0d1a271b5..831643866591 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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() {