Trying to install with yay gives me a circular dependency error over and over again:
-> aur dep warn:flutter-engine-common-google-bin flutter-sky-engine-google-bin circular dependencies not allowed
-> aur dep warn:flutter-engine-common-google-bin flutter-material-fonts-google-bin circular dependencies not allowed
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 !