Package Details: flutter-tool 3.32.0-4

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: 148
Popularity: 2.30
First Submitted: 2017-06-05 21:03 (UTC)
Last Updated: 2025-05-21 08:02 (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

1 2 3 4 5 6 .. 26 Next › Last »

fabcc commented on 2025-05-23 20:48 (UTC)

Since the latest update, I'm unable to upgrade or install it, it always tries to install the official https://archlinux.org/packages/extra/x86_64/dart/ (3.7.0) but it needs a 3.8.0 dart sdk. Which dart package provider should I choose (I tried all of them with aur/yay)

HBBrennan commented on 2025-04-08 22:53 (UTC) (edited on 2025-04-08 22:53 (UTC) by HBBrennan)

@Maxr1998 Where do you set kotlin.project.persistent.dir? I don't see a change when I run flutter build apk after setting it in android/gradle.properties.

Maxr1998 commented on 2025-03-02 01:24 (UTC)

I'm pretty sure the issue with the /usr/lib/flutter/packages/flutter_tools/gradle/.kotlin folder is due to flutter upgrading the Kotlin Gradle plugin from 1.8 to Kotlin 2+ and a change introduced in Kotlin 2.0. To fix this issue, the kotlin.project.persistent.dir has to be set somewhere.

ian-melo commented on 2025-02-28 03:10 (UTC)

@Kppqju77 Creating the folder /usr/lib/flutter/packages/flutter_tools/gradle/.kotlin and chowning it to my user worked just fine.

ian-melo commented on 2025-02-26 20:10 (UTC) (edited on 2025-02-27 18:15 (UTC) by ian-melo)

I failed to install aur/flutter-devel using aur/yay because there are conflicting install files with aur/flutter-tool package, mostly under /usr/lib/flutter/packages/flutter_tools/templates dir:

flutter-devel: /usr/lib/flutter/packages/flutter_tools/templates/xcode/ios/custom_application_bundle/Runner.xcworkspace.tmpl/xcshareddata/WorkspaceSettings.xcsettings already exists in filesystem

EDIT: not sure if exactly came from that package, so I deleted /usr/lib/flutter/packages/flutter_tools/templates and could proceed with the installation without issues.

WithTheBraid commented on 2025-02-21 08:29 (UTC)

@Kppqju77 I agree. So far, I already have the gradle-user-home.patch present. In past Flutter releases, setting

project.buildDir = file(project.gradle.gradleUserHomeDir.path + "/flutter/build")

as in the patch was sufficient. Sadly this no longer works with Flutter 3.29.0. I'm sadly a bit clueless. I'm open for patches and suggestions.

You can either submit patches here as diff or visually via https://gitlab.com/flutter-archlinux/tool .

Kppqju77 commented on 2025-02-20 21:25 (UTC)

@logion this is a problem with gradle configuration (you shoud have an error report in android/build/reports/problems saying that /usr/lib/flutter/packages/flutter_tools/gradle is not writable, after chowning this repository to you user when you run flutter you should be able to go further than this error. IMO we need to define a writable "projectDirectory" inside the gradle config instead of fiddling with /usr/lib rights. I will test some more later.

logion commented on 2025-02-19 13:12 (UTC)

After upgrading from flutter 3.27.3 to 3.29.0-3, I can't build the default app that's created via flutter create for Android anymore (nor my own app). Any ideas? Abbreviated error is below, full output is here: Full error here: https://gist.github.com/fvdnabee/d6414d52ea867d20b58762b68a5b0918

❯ flutter create -t app app
❯ cd app
❯ flutter run
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gradle:compileKotlin'.
> java.nio.file.NoSuchFileException: /usr/lib/flutter/packages/flutter_tools/gradle/.kotlin/sessions/kotlin-compiler-1507545787284407277.salive

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 577ms
Running Gradle task 'assembleDebug'...                             686ms
Error: Gradle task assembleDebug failed with exit code 1

WithTheBraid commented on 2025-02-15 11:00 (UTC)

@orzogc Please build 3.29.0-2 - I admit, 3.29.0-1 had this issue.

orzogc commented on 2025-02-15 07:43 (UTC) (edited on 2025-02-15 07:45 (UTC) by orzogc)

When building flutter 3.29.0-1, I encountered these errors:

packages/flutter_tools/lib/src/artifacts.dart:1468:52: Error: Expected ';' after this.
    return io.Platform.environment['DART_ROOT'] ?? '/opt/dart-sdk'
                                                   ^^^^^^^^^^^^^^^
packages/flutter_tools/lib/src/android/gradle.dart:468:5: Error: The getter 'command' isn't defined for the class 'AndroidGradleBuilder'.
 - 'AndroidGradleBuilder' is from 'package:flutter_tools/src/android/gradle.dart' ('packages/flutter_tools/lib/src/android/gradle.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'command'.
    command.add('--project-cache-dir=$gradleUserHome/flutter/.gradle');
    ^^^^^^^
==> ERROR: A failure occurred in build().
    Aborting...