summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThe one with the braid2024-03-28 00:03:29 +0100
committerThe one with the braid2024-03-28 00:04:49 +0100
commitd3a873722c5359d08b3a598d6a6e38d1e6d3aa4f (patch)
treeb09943cf76e524658d05e1cad3233bc5a5824d61
parent0369b0d15310c82818befc3d86ec8f1a0326602f (diff)
downloadaur-d3a873722c5359d08b3a598d6a6e38d1e6d3aa4f.tar.gz
chore: make compatible with non-upstream Dart package
Signed-off-by: The one with the braid <info@braid.business>
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD47
-rwxr-xr-xflutter.sh3
-rwxr-xr-xupdate-artifact-versions.sh4
4 files changed, 53 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 00d96612e5a8..08b2f5e7198b 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 = 16
+ pkgrel = 17
url = https://flutter.dev
arch = x86_64
arch = aarch64
@@ -9,7 +9,8 @@ pkgbase = flutter
license = custom
license = BSD
license = CCPL
- makedepends = dart>=3.3.2
+ makedepends = dart>=3.2.0
+ makedepends = dart<4.0.0
makedepends = jq
makedepends = gradle
makedepends = unzip
@@ -26,7 +27,7 @@ pkgbase = flutter
sha256sums = 089f924c72f28d25851382d70db83df83c64746713f6a8ca08879a1530adb8ca
sha256sums = d721fc48f534af8f804bb4a9f2cb1d304627a9f73881b3f61d829a9f1e33164f
sha256sums = de0d3567d83bd756841b19ccf879efc02749d8a45cf18d94cd71ec1d366c9024
- sha256sums = 54db9347ac6467b806fff70f62b2709276a0ca4d82468ae8357d5520db0ad04a
+ sha256sums = ee77173114fa746624cebce1b163c92dd3d14f142c35e1a7614074b26663ecfc
sha256sums = 688a7d6a3c220cf09f7e48af46f1ef1b01d251679962c825eded0b3fa4fc2ab1
sha256sums = 544d08716332a9f9358b21010d468b84a9edff0da7bbb1baf0cf4d6322821ea5
sha256sums = a5f19e68e9e4790d017dc4988e715f51c44548df5615aae6106d1a0c84fe49f1
@@ -55,7 +56,8 @@ pkgname = flutter-gradle
pkgname = flutter-tool
pkgdesc = Flutter SDK component - CLI tool (for packaging only)
depends = flutter-common=3.19.4
- depends = dart>=3.3.2
+ depends = dart>=3.2.0
+ depends = dart<4.0.0
depends = bash
depends = curl
depends = file
@@ -70,14 +72,16 @@ pkgname = flutter-tool
pkgname = flutter-devel
pkgdesc = Flutter SDK component - CLI tool (for application development)
depends = flutter-tool=3.19.4
- depends = dart>=3.3.2
+ depends = dart>=3.2.0
+ depends = dart<4.0.0
replaces = flutter-tool-developer
pkgname = flutter-target-linux
pkgdesc = Flutter SDK component - linux target files
depends = flutter-tool=3.19.4
depends = flutter-engine-linux=3.19.4
- depends = dart>=3.3.2
+ depends = dart>=3.2.0
+ depends = dart<4.0.0
depends = clang
depends = cmake
depends = ninja
diff --git a/PKGBUILD b/PKGBUILD
index 5ec36cfa77e7..63a556188a39 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,19 +6,20 @@ pkgbase=flutter
_group=flutter
groups=("$_group")
pkgver=3.19.4
-_dartver=3.3.2
+_dartver=(3.2.0 4.0.0)
_enginever=a5c24f538d05aaf66f7972fb23959d8cafb9f95a
_materialfontsver=3012db47f3130e62f7cc0beabff968a33cbec8d8
_gradlewver=fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa
_flutterarch=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/x64/)
-pkgrel=16
+pkgrel=17
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>=${_dartver}"
+ "dart>=${_dartver[0]}"
+ "dart<${_dartver[1]}"
"jq"
"gradle"
"unzip"
@@ -42,14 +43,35 @@ source=(
sha256sums=('089f924c72f28d25851382d70db83df83c64746713f6a8ca08879a1530adb8ca'
'd721fc48f534af8f804bb4a9f2cb1d304627a9f73881b3f61d829a9f1e33164f'
'de0d3567d83bd756841b19ccf879efc02749d8a45cf18d94cd71ec1d366c9024'
- '54db9347ac6467b806fff70f62b2709276a0ca4d82468ae8357d5520db0ad04a'
+ 'ee77173114fa746624cebce1b163c92dd3d14f142c35e1a7614074b26663ecfc'
'688a7d6a3c220cf09f7e48af46f1ef1b01d251679962c825eded0b3fa4fc2ab1'
'544d08716332a9f9358b21010d468b84a9edff0da7bbb1baf0cf4d6322821ea5'
'a5f19e68e9e4790d017dc4988e715f51c44548df5615aae6106d1a0c84fe49f1'
'04531ee1732c18c933b5b28f5da88ed183d5aa3698b1d1e912c000928b93ec91'
'1578e819b6ee479b6db7a095bcfa74372d3ff555642c6d6ea7112e97bb6f2027')
+# this is required in case people try to build with `aur/dart-sdk-dev` instead of `extra/dart`
+DART_BINARY=$(readlink $(which dart))
+DART_ROOT=${DART_ROOT:-${DART_BINARY/\/bin\/dart/}}
+
prepare() {
+
+ 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: $(which dart)"
+ echo -e " Resolved Dart SDK: ${DART_ROOT}"
+
+ echo -e "\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"
+ 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}"
@@ -69,8 +91,8 @@ prepare() {
"frameworkRevision": "archlinuxaur0000000000000000000000000000",
"frameworkCommitDate": "2038-01-19 03:14:08",
"engineRevision": "$(cat "${srcdir}/${_group}/bin/internal/engine.version")",
- "dartSdkVersion": "$_dartver",
- "devToolsVersion": $(jq '.version' < /opt/dart-sdk/bin/resources/devtools/version.json),
+ "dartSdkVersion": "$(dart --version | awk '{print $4}')",
+ "devToolsVersion": $(jq '.version' < ${DART_ROOT}/bin/resources/devtools/version.json),
"flutterVersion": "$pkgver"
}
EOF
@@ -141,7 +163,8 @@ _package-target-linux() {
depends=(
"${_group}-tool=${pkgver}"
"${_group}-engine-linux=${pkgver}"
- "dart>=${_dartver}"
+ "dart>=${_dartver[0]}"
+ "dart<${_dartver[1]}"
"clang"
"cmake"
"ninja"
@@ -209,7 +232,8 @@ _package-tool() {
depends=(
"${_group}-common=${pkgver}"
# TODO: completely compile Flutter tool standalone and drop dependency
- "dart>=${_dartver}"
+ "dart>=${_dartver[0]}"
+ "dart<${_dartver[1]}"
# commands first
"bash"
"curl"
@@ -243,7 +267,8 @@ _package-devel() {
pkgdesc="${_pkgdesc} - CLI tool (for application development)"
depends=(
"${_group}-tool=${pkgver}"
- "dart>=${_dartver}"
+ "dart>=${_dartver[0]}"
+ "dart<${_dartver[1]}"
)
replaces=("${_group}-tool-developer")
@@ -268,9 +293,9 @@ _package-intellij-patch() {
install -dm755 "${pkgdir}/usr/lib/${_group}/bin/cache"
- ln -sf "${DART_ROOT:-"/opt/dart-sdk"}/bin/dart" "${pkgdir}/usr/lib/${_group}/bin/dart"
# * not my fault grumble * : The IntelliJ Flutter plugin enforces this relative Dart SDK
- ln -sf "${DART_ROOT:-"/opt/dart-sdk"}" "${pkgdir}/usr/lib/${_group}/bin/cache/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"
}
pkgname=("${_group}" "${_group}-common" "${_group}-gradle" "${_group}-tool" "${_group}-devel" "${_group}-target-linux" "${_group}-target-android" "${_group}-target-web" "${_group}-intellij-patch")
diff --git a/flutter.sh b/flutter.sh
index 5fe85c74e829..970f5840e466 100755
--- a/flutter.sh
+++ b/flutter.sh
@@ -7,6 +7,9 @@
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"
diff --git a/update-artifact-versions.sh b/update-artifact-versions.sh
index fcc1573c4675..bcf13be6fcba 100755
--- a/update-artifact-versions.sh
+++ b/update-artifact-versions.sh
@@ -11,7 +11,11 @@ readonly USBMUXD_VERSION="$(cat src/flutter/bin/internal/usbmuxd.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_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_MIN}"' '"${SDK_MAX}"')/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