Hi! First of all, thank you for the package and for the pinned comment about the problem with the problem when resolving the dependency chain (this one).
In my case, I use Manjaro and pamac
. Removing the package and installing it again using pamac
doesn't works:
pamac remove flutter
pamac build flutter
It returns again the same dependency problems. So I confirm everything was removed, then run yay -S flutter
and in the installation wizard:
- I chose
flutter-bin
for all questions about the two packages that provides the dependency target andflutter-tools
package. - Then I chose "A" to clean all the package before compilation.
- Then I chose "N" to not show any diff, but I imagine this decision doesn't involves any change in the process (sorry, first time using
yay
!). - Then, confirms to continue with the installation when notice me about the new package to install:
lld-16.0.6-1
. Same forunionfs-fuse-3.4.1
. - Then asks me for
sudo
password. - Warns me about conflicts between
flutter-bin
andflutter-common
. - Warns me about a not resolving dependency,
flutter-tool=3.19.6
, forflutter-devel
. Chose "n" to not omit. - Again warns about
flutter-tool
, dependency offlutter-devel
, andflutter-target-[linux|android|web]
, dependencies offlutter
. Asks me to omit them, I chose "N". - Finally, the installation breaks...
I leave the process written here in case it is helpful to debug this. If I achieve to install it again, I will update the comment.
Edit: okay, I think I misunderstood the fixed message, I just see this comment. I will try it.
Edit: at least to me, makepkg -sfC
and pacman -U
doesn't works. With makepkg
it builds all the packages to be installed, but then using pacman
I was installing one by one in the order they require, but there are missing packages. I will try it in the future, but by the moment I decided to use the installation method provided by the VSCode's extension.
Pinned Comments
WithTheBraid commented on 2024-03-28 00:44 (UTC) (edited on 2024-04-16 08:22 (UTC) by WithTheBraid)
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.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-03-26 15:07 (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.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 !