Package Details: flutter-devel 3.22.0-1

Git Clone URL: https://aur.archlinux.org/flutter.git (read-only, click to copy)
Package Base: flutter
Description: Flutter SDK component - CLI tool (for application development)
Upstream URL: https://flutter.dev
Keywords: android fuchsia ios mobile sdk
Licenses: custom, BSD, CCPL
Groups: flutter
Conflicts: flutter
Replaces: flutter-tool-developer
Submitter: flipflop97
Maintainer: WithTheBraid
Last Packager: WithTheBraid
Votes: 132
Popularity: 4.45
First Submitted: 2017-06-05 21:03 (UTC)
Last Updated: 2024-05-15 09:33 (UTC)

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 and aur/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. Sadly aur/paru does not reach at building updates for the package without additional flags. Please use paru -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 execute pacman -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 using pacman -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 packages

  • flutter-common : the common files for Flutter needed for all use cases

  • flutter-devel : your option of choice as a developer - ships the Flutter tool and all required templates to e.g. create a new project

  • flutter-tool : The pure Flutter tool. Use as depends to build your package.

  • flutter-target-linux : The Flutter Linux build files. Use as depends to build your package.

  • flutter-target-web : The Flutter web build files. Use as depends 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 the extra/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 !

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 .. 24 Next › Last »

juaji commented on 2024-03-27 23:22 (UTC) (edited on 2024-03-27 23:24 (UTC) by juaji)

Greetings, as discussed here the workaround for the error "Null check operator used on a null value" consists of create a symbolic link from /opt/dart-sdk-dev to /opt/dart-dev. This (I assume) taking into account if: 1. dart is installed using dart-sdk-dev 2. The operating system is Manjaro and not ArchLinux (as is my case) since the "extra" repo of Manjaro has dart in a version lower than the required one (3.0.7, see), but the "extra" repo of ArchLinux has dart in the required version for this package (>=3.3.2, see). By doing this (that is, the symbolic link) the error disappears, however it was a way out of an error and finding others that have already been discussed regarding dependencies. I suggest installing flutter using flutterup, it seems to do the work, it has not taken me more than 5 minutes what I have been trying to do for three days.

Papitz commented on 2024-03-27 19:38 (UTC)

@silikeite yay does loop but it's not infinite. It just seems like it. It builds it around 10-12 times and takes about half an hour but it does work. paru manages to do it properly.

silikeite commented on 2024-03-27 19:36 (UTC) (edited on 2024-03-27 19:44 (UTC) by silikeite)

PKGBUILD structure is causing yay to not be able to properly build this package - yay just loops and repeatedly tries to build flutter over and over again.

EDIT: Saw the comment earlier regarding yay taking a long time to build. For now I'll switch back to using Google's official way of installing flutter until this package's build process settles down.

WithTheBraid commented on 2024-03-27 17:14 (UTC)

@Papitz Thanks for the comment, looks like I forgot to include the engine stamp into the Android target. I will publish a fix in a moment.

WithTheBraid commented on 2024-03-27 17:13 (UTC) (edited on 2024-03-27 23:27 (UTC) by WithTheBraid)

EDIT : SOLVED.

Many users were trying to use the aur/flutter package together with aur/dart-sdk-dev. Since that package didn't behave as the extra/dart package. The build failed. If you try out the aur/flutter=3.19.4-18, this should be fixed.

I hope you will now be finally able to enjoy the new Flutter package - hopefully without further major issues. If not, keep posting here or in GitLab, I'll give my best to investigate !


Many user report an error with the Flutter tool trying to figure out the current version.

_TypeError: Null check operator used on a null value

Those of you who are fine with using GitLab, I'd highly appreciate more detailed bug reports in this issue : https://gitlab.com/flutter-archlinux/tool/-/issues/1

juaji commented on 2024-03-27 15:47 (UTC)

@WithTheBraid I keep getting the same error "Null check operator used on a null value". Does anyone know of an alternative to installing flutter while this (broken) package is being fixed?

Papitz commented on 2024-03-27 15:19 (UTC)

After installing the new package I am getting this error:

An exception occurred applying plugin request [id: 'dev.flutter.flutter-gradle-plugin']
> Failed to apply plugin 'dev.flutter.flutter-gradle-plugin'.
   > /usr/lib/flutter/bin/internal/engine.version (No such file or directory)

I also cannot find the file anywhere anymore. It used to be there with the old version. Does anyone know what package I am missing or where the file might end up?

y0uCeF commented on 2024-03-27 13:53 (UTC) (edited on 2024-03-27 14:53 (UTC) by y0uCeF)

Anyone knows why i get this error even though I can search and even build the packages it says are not satisfied? I am using pamac by the way

EDIT: I ended up building it by installing all the dependencies first

Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'flutter-engine-android' required by flutter-target-android
- unable to satisfy dependency 'flutter-engine-linux=3.19.4' required by flutter-target-linux
- unable to satisfy dependency 'flutter-target-linux=3.19.4' required by flutter
- unable to satisfy dependency 'flutter-target-android=3.19.4' required by flutter
- unable to satisfy dependency 'flutter-engine-web=3.19.4' required by flutter-target-web
- unable to satisfy dependency 'flutter-target-web=3.19.4' required by flutter

WithTheBraid commented on 2024-03-27 13:51 (UTC)

@stelbl The dependencies are sadly due to the way Flutter is concepted. The flow is to install :

  1. flutter-common

  2. then installer flutter-material-fonts and flutter-sky-engine

  3. flutter-engine-common

  4. flutter-engine-*, flutter-gradle, flutter-tool

  5. flutter-devel, flutter-target-*, flutter-intellij-patch

  6. flutter

packages and then to install all remaining packages of the flutter package.

In case you use an aur helper, ensure that one can properly resolve between these subpackages. E.g. yay reaches there, though it's sadly very slow (it keeps repackaging the package dozens of times).

stelbl commented on 2024-03-27 09:32 (UTC) (edited on 2024-03-27 09:32 (UTC) by stelbl)

So I just tried to update but I've been getting these no matter what I do (tried both with flutter and aur/flutter);

resolving dependencies...
warning: cannot resolve "flutter-engine-linux=3.19.4", a dependency of "flutter-target-linux"
warning: cannot resolve "flutter-engine-web=3.19.4", a dependency of "flutter-target-web"
:: The following packages cannot be upgraded due to unresolvable dependencies:
      flutter-target-linux  flutter-target-web

:: Do you want to skip the above packages for this upgrade? [y/N] 

What's even weirder is that explicitly trying to install flutter-engine-{web,linux} installs flutter-engine-{linux,web}-google-bin. I guess some dependency declarations of flutter-target-{web,linux} need to be updated?