Package Details: flutter 3.24.3-2

Git Clone URL: https://aur.archlinux.org/flutter.git (read-only, click to copy)
Package Base: flutter
Description: Flutter SDK component - full installation of development tool and runtime
Upstream URL: https://flutter.dev
Keywords: android fuchsia ios mobile sdk
Licenses: custom, BSD, CCPL
Groups: flutter
Conflicts: flutter
Submitter: flipflop97
Maintainer: WithTheBraid
Last Packager: WithTheBraid
Votes: 141
Popularity: 3.22
First Submitted: 2017-06-05 21:03 (UTC)
Last Updated: 2024-10-14 13:51 (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 .. 11 12 13 14 15 16 17 18 19 20 21 .. 25 Next › Last »

eclairevoyant commented on 2022-11-11 01:45 (UTC) (edited on 2022-11-11 02:30 (UTC) by eclairevoyant)

This doesn't actually build anything. Either the name should be updated to -bin or this package should be corrected.

See this and this for compilation steps.

Also if you're going to the effort of messing with permissions, you might as well go all the way; for find "${pkgdir}/opt/${pkgname}" -type d -exec chmod a+rx {} + you can change a+rx to a+rx,g+w, since it will avoid noisy warnings during update of this package and will align with the whole purpose of creating the flutterusers group.

And as has been said before, when bumping pkgver then pkgrel should be reset to 1.

whoami commented on 2022-10-23 16:48 (UTC)

u should reset pkgrel to 1 if you update pkgver https://wiki.archlinux.org/title/PKGBUILD#pkgrel

mystiquewolf commented on 2022-10-20 18:51 (UTC) (edited on 2022-10-20 19:04 (UTC) by mystiquewolf)

Flutter failed to create a directory at "/opt/flutter/bin/cache/downloads".

@orzogc Adding to flutterusers doesn't help. EDIT: Nevermind. Had to logout and login back again.

ZorinArch commented on 2022-10-07 16:39 (UTC)

please update pkgrel=1

SpotlightKid commented on 2022-09-01 19:10 (UTC)

The terminal-gymnastics in the flutter.install script won't work properly in non-terminal environments (e.g. in Pamac):

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
Flutter was installed on /opt/flutter
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
In case you encounter problems using Flutter as regular user, add your user into the group flutterusers:
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
gpasswd -a ${USER} flutterusers
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
Re-login your terminal in to the group flutterusers:
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
newgrp flutterusers
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
Run the following command to see if there are any dependencies you need to install to complete the setup (for verbose output, add the -v flag):
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
flutter doctor

orzogc commented on 2022-08-26 19:40 (UTC)

@Gigas002 Add your user to the flutterusers group.

Gigas002 commented on 2022-08-12 01:59 (UTC)

Got the following error on flutter doctor command:

Flutter failed to create a directory at "/opt/flutter/bin/cache/downloads".
Please ensure that the SDK and/or project is installed in a location that has read/write permissions for the current user.

celogeek commented on 2022-06-26 08:59 (UTC)

Patch to make it works:

diff --git a/PKGBUILD b/PKGBUILD
index 7d75792..796457f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -25,16 +25,19 @@ sha256sums=(
   "7ef10d753cfaac52d243549764a793f44f8284a1f4b11715ccd2fa915b026a6f"
 )

-package() {
+prepare() {
   rm -rf "${srcdir}/${pkgname}/bin/cache" "${srcdir}/${pkgname}/.pub-cache"
+  "${srcdir}/${pkgname}/bin/internal/update_dart_sdk.sh"
+  "${srcdir}/${pkgname}/bin/flutter" precache
+}
+
+package() {
   install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
   install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/etc/profile.d/${pkgname}.sh"
   install -Dm755 "${srcdir}/${pkgname}.csh" "${pkgdir}/etc/profile.d/${pkgname}.csh"
   install -dm755 "${pkgdir}/opt/${pkgname}"
   install -dm755 "${pkgdir}/usr/bin"
   cp -ra "${srcdir}/${pkgname}" "${pkgdir}/opt/"
-  "${pkgdir}/opt/${pkgname}/bin/internal/update_dart_sdk.sh"
-  "${pkgdir}/opt/${pkgname}/bin/flutter" precache
   find "${pkgdir}/opt/${pkgname}" -type d -exec chmod a+rx {} +
   find "${pkgdir}/opt/${pkgname}" -type f -exec chmod a+r {} +
   chmod a+rw "${pkgdir}/opt/${pkgname}/version"

celogeek commented on 2022-06-26 08:51 (UTC)

I've got with fakeroot and makepkg errors like:

Downloading Gradle Wrapper...                                       15ms
/usr/bin/tar: gradle/wrapper/gradle-wrapper.properties: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: gradle/wrapper/gradle-wrapper.jar: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: gradle/wrapper: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: gradle: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: gradlew: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: gradlew.bat: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: NOTICE: Cannot change ownership to uid 397546, gid 5000: Invalid argument
/usr/bin/tar: Exiting with failure status due to previous errors
Flutter could not download and/or extract https://storage.googleapis.com/flutter_infra_release/gradle-wrapper/fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa/gradle-wrapper.tgz. Ensure you have network connectivity and all of the required
dependencies listed at flutter.dev/setup.
The original exception was: ProcessException: The command failed
  Command: tar -xzf /home/celogeek/tmp/flutter/pkg/flutter/opt/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra_release/gradle-wrapper/fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa/gradle-wrapper.tgz -C
  /home/celogeek/tmp/flutter/pkg/flutter/opt/flutter/bin/cache/artifacts/gradle_wrapper.
==> ERROR: A failure occurred in package().
    Aborting...

Can you precaching during prepare phase instead of package phase ?

g14wx commented on 2022-06-25 02:15 (UTC)

thanks! bacteriostat