Latest update looks like it might have conflicting dependencies.
Most packages require dart > 3.5 but it looks like flutter-engine-common-google-bin requires dart < 3.5
Git Clone URL: | https://aur.archlinux.org/flutter.git (read-only, click to copy) |
---|---|
Package Base: | flutter |
Description: | Flutter SDK component - CLI tool (for packaging only) |
Upstream URL: | https://flutter.dev |
Keywords: | android fuchsia ios mobile sdk |
Licenses: | custom, BSD, CCPL |
Groups: | flutter |
Conflicts: | flutter-devel, flutter-target-android, flutter-target-linux, flutter-target-web |
Submitter: | flipflop97 |
Maintainer: | WithTheBraid |
Last Packager: | WithTheBraid |
Votes: | 142 |
Popularity: | 3.72 |
First Submitted: | 2017-06-05 21:03 (UTC) |
Last Updated: | 2024-10-14 13:51 (UTC) |
« First ‹ Previous 1 2 3 4 5 6 7 .. 25 Next › Last »
Latest update looks like it might have conflicting dependencies.
Most packages require dart > 3.5 but it looks like flutter-engine-common-google-bin requires dart < 3.5
@Yorokobii Maybe you could consider installing aur/flutter-intellij-patch ? That one simply installs that symlink.
Some tools use the path to the flutter bin to call the dart bin, I suppose to use compatible versions. Do you think it would be okay for your package to make a link to the dart binary as /usr/lib/flutter/bin/dart ? This package is so complex I'm not entirely sure it's good practice but I'm just throwing that here.
Please note that if you want to use extra/dart
to build package which requires flutter SDK, you need to set FLUTTER_ROOT=/usr/lib/flutter
or dart cannot find proper flutter SDK. You can try to build spotube without FLUTTER_ROOT
set to prove this.
Is there something wrong with the dependencies?
@raevn They're too complicated. Read the pinned comments.
Also look through previous comments. If there are recent reports of errors (not confusion about depends), you may want to postpone building until the next update.
Since this package was updated a week ago, it should still be working.
$ pikaur -S flutter
Reading repository package databases...
Reading local package database...
Resolving AUR dependencies...
:: error: Can't resolve dependencies for AUR package 'flutter-target-android':
:: error: Dependencies missing for flutter-target-android
:: warning: Following package cannot be found in AUR:
flutter-engine-android
:: Try recovering flutter-target-android?
[e] edit PKGBUILD
[f] skip 'check()' function of PKGBUILD
[s] skip this package
[A] abort
Is there something wrong with the dependencies?
@WithTheBraid Hmm, neither paru, nor yay suggested to fulfill the dart dependency with aur/flutter-dart-google-bin
, even when dart
was too old and dart-sdk-dev
was too new. Should it know that or does that only show up after building the package?
I have built the latest release against flutter-dart-google-bin
and encountered ERROR: Target kernel_snapshot failed: Exception
again.
@xuiqzy The extra/dart
package was bumped to 3.4.0 yesterday, see https://gitlab.archlinux.org/archlinux/packaging/packages/dart/-/commit/3f50d2346959602f63f9c2bd03ac0f454a5cf297 . Additionally, the aur/flutter-dart-google-bin
package provides you with exactly the binary Dart version google ships for aur/flutter-artifacts-google-bin
in cases your mirrored Dart version (or your distro's Dart version) did not sync with the bump yet.
Neither dart from repos nor dart-sdk-dev is fulfilling the dart dependency currently because the dart max version is exclusive, so 3.5 is not included. The dart min version is inclusive so works with >= 3.4 (but dart is on 3.3), is that intentional or should the dart max version constraint also be inclusive, i.e. <=?
Pinned Comments
WithTheBraid commented on 2024-03-28 00:44 (UTC) (edited on 2024-05-10 11:44 (UTC) by WithTheBraid)
TL;DR
Upgrade using
aur/yay
might take very long and works inefficiently.Upgrade using
aur/paru
requires the-d
flag.This is not my fault.
Note to the lovers of AUR helpers : It looks like dependency resolution is a complex topic. Despite all package relations being properly declared in the Flutter packages, most AUR helpers seem to have trouble resolving the dependency chain between the package bases
aur/flutter
andaur/flutter-artifacts-google-bin
. This is not my fault and I cannot do anything about it.It looks like the initial installation works fine using
aur/paru
. Sadlyaur/paru
does not reach at building updates for the package without additional flags. Please useparu -Syud
(whereas the-d
is the relevant flag) to upgrade the package.On the other hand
aur/yay
properly reaches at both installing and updating this package, even though it builds the package 15 times (!!!) again and again.If you use
aur/paru
, consider to simply executepacman -R flutter && pacman -Rns flutter
to clean up the previous installation of both package bases.If you build both package bases using
makepkg -sfC
and later on install all build outputs usingpacman -U
, both the installation and the updates work like a charm.I'm very sorry for the inconvenience, but sadly there's nothing I can do about this.
WithTheBraid commented on 2024-03-25 20:55 (UTC) (edited on 2024-05-10 11:45 (UTC) by WithTheBraid)
Huge update to the Flutter AUR package :
The previous implementation basically did a user installation of Flutter - downloaded the custom Dart SDK, CI artifacts from Chromium CI and had to be kept in user R/W access in order to have the Flutter Cache Manager working.
These times are now over - a clean and (almost) completely rewritten PKGBUILD which now uses clean dependency declarations, system Dart and Gradle and for sure no more user R/W installation directory.
This AUR entry is now a split package. Installing
aur/flutter
will still bundle the entire toolchain you knew from before. The other way round, if you don't need everything - e.g. when depending on Flutter as a build dependency in another package, you can choose to only depend on what you need.The following split packages are available :
flutter
: meta package containing all other split packagesflutter-common
: the common files for Flutter needed for all use casesflutter-devel
: your option of choice as a developer - ships the Flutter tool and all required templates to e.g. create a new projectflutter-tool
: The pure Flutter tool. Use asdepends
to build your package.flutter-target-linux
: The Flutter Linux build files. Use asdepends
to build your package.flutter-target-web
: The Flutter web build files. Use asdepends
to build web apps (e.g.fluffychat-web
does this).flutter-target-android
: The Flutter Android build files. Use if you want to develop Android apps.flutter-gradle
: The Flutter Gradle wrapper. Populated from system Gradle.flutter-intellij-patch
: a tiny patch to make the IntelliJ Flutter plugin work with the new package.flutter-material-fonts-google-bin
: Mandatory fonts package, planned to have a system-installed drop-in replacement soon.flutter-engine-common-google-bin
: Shared part of the Flutter engine - downloaded from Google servers.flutter-sky-engine-google-bin
: Flutter sky engine - downloaded from Google servers.flutter-engine-linux-google-bin
: Linux part of the Flutter engine - downloaded from Google servers.flutter-engine-web-google-bin
: Web part of the Flutter engine - downloaded from Google servers.flutter-engine-android-google-bin
: Android part of the Flutter engine - downloaded from Google servers.flutter-gradle-google-bin
: The Flutter Gradle wrapper - downloaded from Google servers.flutter-dart-google-bin
: The Flutter original Dart SDK - downloaded from Google servers. This is helpful if theextra/dart
package is not available in the right version on your distro or remix.Stay tuned for non google-bin versions of the engine, they are in coming !
Since almost everything is written from scratch and heavy patches are applied to use the system packages as dependencies, there might still be bugs occurring. Please report them otherwise I can't fix them !