diff options
author | The one with the braid | 2024-03-28 00:03:29 +0100 |
---|---|---|
committer | The one with the braid | 2024-03-28 00:04:49 +0100 |
commit | d3a873722c5359d08b3a598d6a6e38d1e6d3aa4f (patch) | |
tree | b09943cf76e524658d05e1cad3233bc5a5824d61 | |
parent | 0369b0d15310c82818befc3d86ec8f1a0326602f (diff) | |
download | aur-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-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 47 | ||||
-rwxr-xr-x | flutter.sh | 3 | ||||
-rwxr-xr-x | update-artifact-versions.sh | 4 |
4 files changed, 53 insertions, 17 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 = 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 @@ -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 |