Package Details: flutter-bin 3.27.0-1

Git Clone URL: https://aur.archlinux.org/flutter-bin.git (read-only, click to copy)
Package Base: flutter-bin
Description: Cross platform widget toolkit for Dart (monolithic)
Upstream URL: https://github.com/flutter/flutter
Licenses: BSD-3-Clause, LicenseRef-Google-Patent-Grant
Conflicts: dart, flutter, flutter-common, flutter-devel, flutter-engine, flutter-engine-android, flutter-engine-android-google-bin, flutter-engine-common, flutter-engine-common-google-bin, flutter-engine-linux, flutter-engine-linux-google-bin, flutter-engine-web, flutter-engine-web-google-bin, flutter-gradle, flutter-gradle-google-bin, flutter-intellij-patch, flutter-material-fonts, flutter-material-fonts-google-bin, flutter-sky-engine, flutter-sky-engine-google-bin, flutter-target-android, flutter-target-linux, flutter-target-web, flutter-tool, flutter-tool-developer
Provides: dart, flutter, flutter-target-android, flutter-target-linux, flutter-target-web, flutter-tool
Submitter: xiota
Maintainer: xiota
Last Packager: xiota
Votes: 5
Popularity: 1.02
First Submitted: 2024-04-22 06:23 (UTC)
Last Updated: 2024-12-15 03:28 (UTC)

Required by (93)

Sources (1)

Pinned Comments

patlefort commented on 2024-07-11 10:23 (UTC)

Users can choose to use fvm-sourcebuild to build packages that use fvm, if they want to build flutter engine from source.

xiota commented on 2024-05-14 14:11 (UTC) (edited on 2024-05-14 14:12 (UTC) by xiota)

Packagers: Consider using aur/fvm.

xiota commented on 2024-04-22 06:49 (UTC) (edited on 2024-07-23 23:53 (UTC) by xiota)

aur/flutter-bin is needed to provide a working stable flutter package. It is intended to be installed by itself, without any other flutter or dart package.

The conflicts are needed to prevent co-installation with other flutter packages. The provides are needed to capture the build depends of packages that use flutter.

Flutter requires write permissions to its install directory, /opt/flutter. These may be provided by one of two methods:

  • By default, the executable scripts create a unionfs mirror at ~/.cache/flutter_*. Users should unmount and clear them after upgrades.

    fusermount -uq ~/.cache/flutter_sdk
    rm -rf ~/.cache/{flutter_sdk,flutter_local}
    
  • Allow writing directly to the flutter install path by adding users to the flutter group. Do not store important files there because it is cleared at install and upgrade.

Latest Comments

1 2 Next › Last »

patlefort commented on 2024-07-11 10:23 (UTC)

Users can choose to use fvm-sourcebuild to build packages that use fvm, if they want to build flutter engine from source.

xiota commented on 2024-07-07 04:05 (UTC) (edited on 2024-08-22 12:25 (UTC) by xiota)

@Dieter_be I'll consider your suggestions, but not going to make any changes now.

Updates:

  • Revised pinned comment for clarity.
  • Revised install messages for clarity.
  • Moved flutter_init out of /usr/bin
  • TBD

Dieter_be commented on 2024-07-06 20:16 (UTC)

@xiota perahps your wrappers and scripts should live in a separate repository, so they can be properly contributed on with issues and PR's. they also seem distribution agnostic

i believe /usr/bin is only meant for programs or scripts, your flutter_init is meant to be sourced and not executed, so it doesn't seem /usr/bin is appropriate for it.

there's quite a lot going on in your scripts and some comments in it would be quite helpful.

your approach to allow both unionfs OR direct-writeable /opt/flutter (via flutter group) is quite interesting. a note about this during package installation would probably be a helpful clarification. i don't think i a saw one.

xiota commented on 2024-07-06 16:26 (UTC) (edited on 2024-07-06 16:28 (UTC) by xiota)

@Dieter_be Flutter expects write permissions to the SDK directory. This is generally undesirable and causes problems for system-wide installs. The script allows flutter to write somewhere else (~/.cache/flutter_local). If you prefer to allow flutter to write to /opt/flutter, add your user to the flutter group. Set the SDK directory in other software manually.

Dieter_be commented on 2024-07-06 15:14 (UTC)

why are you adding your own /usr/bin/flutter and /usr/bin/wrapper wrappers and your custom /usr/bin/flutter_init script? maybe: 1) reconsider whether this is really necessary 2) if it is, document the purpose of it

this seems to break correct functioning of flutter. i'm trying to figure out what's happening. more details here https://github.com/Dart-Code/Dart-Code/issues/5174

yochananmarqos commented on 2024-05-16 19:45 (UTC)

@xiota: Thanks for the tip! I hadn't heard of FVM. I'm now using it successfully with my two Flutter packages, yubico-authenticator and musicpod-git.

xiota commented on 2024-05-14 14:11 (UTC) (edited on 2024-05-14 14:12 (UTC) by xiota)

Packagers: Consider using aur/fvm.

emakz commented on 2024-04-27 23:59 (UTC)

Thanks for the package. I had a bug when using any command provided from this package, the result of the groups command would be printed before anything the command does.

For example:

$ dart --version
sys network power boinc adbusers docker lp wheel emak flutter
Dart SDK version: 3.3.4 (stable) (Tue Apr 16 19:56:12 2024 +0000) on "linux_x64"

This created some problems down the line.

So here is the fix I applied in /usr/bin/flutter_init to stop printing my groups:

diff --git PKGBUILD PKGBUILD
index 13f5d78..e88e110 100644
--- PKGBUILD
+++ PKGBUILD
@@ -148,7 +148,7 @@ _unionfs() {

 if whoami | grep -E 'builduser|main-builder' > /dev/null 2>&1; then
   export FLUTTER_ROOT="$APP_DIR"
-elif grep flutter <<< $(groups); then
+elif grep -q flutter <<< $(groups); then
   export FLUTTER_ROOT="$APP_DIR"
 elif _unionfs; then
   if [ -e "$MOUNT_DIR/bin" ]; then

Underline9127 commented on 2024-04-24 13:07 (UTC) (edited on 2024-04-24 13:09 (UTC) by Underline9127)

Found spelling mistake in PKGBUILD:

"if ! grep "$MOUNT_DIR" <<< "$PATH" > /dev/null2 >&1; then" should be: "if ! grep "$MOUNT_DIR" <<< "$PATH" > /dev/null 2>&1; then"

notice the "/dev/null2"