Giter Site home page Giter Site logo

archlinux.flutter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

archlinux.flutter's Issues

AUR update

Hi there,
The AUR package is flagged out of date

aur/flutter 3.0.3-1 (+100 3.98) (Out-of-date: 2022-07-01)

But I see you tagged a new version on this github repo 2 weeks ago. Can you update AUR with it ?

Thanks for maintaining this project!

Unstable Updates

Each time this package is updated, it seems to throw errors when trying to install the update:

error: failed to commit transaction (conflicting files)
flutter: /opt/flutter/.git/logs/refs/remotes/origin/flutter-3.10-candidate.1 exists in filesystem
flutter: /opt/flutter/.git/refs/remotes/origin/flutter-3.10-candidate.1 exists in filesystem
flutter: /opt/flutter/packages/flutter_tools/lib/src/migrations/cocoapods_script_symlink.dart exists in filesystem
Errors occurred, no packages were upgraded.

This is irrelevant to the unique need to have this in your ~/.gitconfig:

[safe]
    directory /opt/flutter

Permissions issue

flutter doctor gave me error:
touch: cannot touch '/opt/flutter/bin/cache/.dartignore': Permission denied
Had to apply fix from flutter/flutter#19664 : sudo chmod -R a+w /opt/flutter

Is it possible to add it into pkgbuild?

package build attempts to make changes to build user's homedir

The issue appears to be caused by this line from the PKGBUILD:

  "${srcdir}/${pkgname}/bin/${pkgname}" doctor

https://github.com/frealgagu/archlinux.flutter/blob/master/PKGBUILD#L30

Reproduction

Dockerfile:

FROM archlinux:base-devel as base

RUN pacman --sync --refresh --sysupgrade --noconfirm --noprogressbar --quiet
RUN pacman --sync --noconfirm --noprogressbar --quiet git namcap
RUN yes | pacman --sync --clean --clean

# specifically not creating a homedir here to illustrate the problem
RUN useradd --comment "Arch Build User" build

RUN mkdir /package

FROM scratch as syncdeps

ENV LANG en_US.UTF-8

WORKDIR /package

COPY --from=base / /

RUN usermod -aG wheel build
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

USER build

CMD ["makepkg", "--force", "--syncdeps", "--noconfirm"]

Build and tag the image:

docker build . -t minimal-arch-build

Attempt to build the flutter AUR package:

docker run --rm -v $(pwd):/package minimal-arch-build

Failure output:

==> Extracting sources...
  -> Extracting flutter-2.5.3.tar.xz with bsdtar
==> Starting build()...
Unhandled exception:
Exception: Flutter failed to create a directory at "/home/build/.config/flutter".
Please ensure that the SDK and/or project is installed in a location that has read/write permissions for the current user.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      _throwFileSystemException (package:flutter_tools/src/base/error_handling_io.dart:813:3)
#2      _handlePosixException (package:flutter_tools/src/base/error_handling_io.dart:761:3)
#3      _runSync (package:flutter_tools/src/base/error_handling_io.dart:607:7)
#4      ErrorHandlingDirectory.createSync (package:flutter_tools/src/base/error_handling_io.dart:432:12)
#5      new Config._common (package:flutter_tools/src/base/config.dart:77:17)
#6      new Config (package:flutter_tools/src/base/config.dart:37:19)
#7      new _DefaultPersistentToolState (package:flutter_tools/src/persistent_tool_state.dart:69:18)
#8      new PersistentToolState (package:flutter_tools/src/persistent_tool_state.dart:21:9)
#9      runInContext.<anonymous closure> (package:flutter_tools/src/context_runner.dart:302:34)
#10     AppContext._generateIfNecessary.<anonymous closure> (package:flutter_tools/src/base/context.dart:104:42)
#11     _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:314:23)
#12     AppContext._generateIfNecessary (package:flutter_tools/src/base/context.dart:92:20)
#13     AppContext.get (package:flutter_tools/src/base/context.dart:121:32)
#14     PersistentToolState.instance (package:flutter_tools/src/persistent_tool_state.dart:35:55)
#15     persistentToolState (package:flutter_tools/src/globals_null_migrated.dart:63:69)
#16     _defaultBotDetector (package:flutter_tools/src/globals_null_migrated.dart:69:24)
#17     _defaultBotDetector (package:flutter_tools/src/globals_null_migrated.dart)
#18     botDetector (package:flutter_tools/src/globals_null_migrated.dart:65:62)
#19     isRunningOnBot (package:flutter_tools/src/globals_null_migrated.dart:75:36)
#20     runInContext.runnerWrapper (package:flutter_tools/src/context_runner.dart:81:34)
#21     runInContext.runnerWrapper (package:flutter_tools/src/context_runner.dart:80:28)
#22     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:7)
#24     _rootRun (dart:async/zone.dart:1428:13)
#25     _CustomZone.run (dart:async/zone.dart:1328:19)
#26     _runZoned (dart:async/zone.dart:1863:10)
#27     runZoned (dart:async/zone.dart:1785:10)
#28     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
#29     runInContext (package:flutter_tools/src/context_runner.dart:85:18)
#30     run (package:flutter_tools/runner.dart:45:10)
#31     main (package:flutter_tools/executable.dart:92:9)
#32     main (file:///b/s/w/ir/x/w/archive/flutter/packages/flutter_tools/bin/flutter_tools.dart:10:3)
#33     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:281:32)
#34     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
==> ERROR: A failure occurred in build().
    Aborting...

Execute precache before install

In order to workaround installed Flutter being required have write access on /opt/flutter/bin/cache, I would like to propose to create the cache at build time.

That would need the following command being executed before Flutter is being packaged:

flutter precache

That simplifies the installation, reduces time after the installation and allows other packages to properly depend on the Flutter AUR package.

Please update to the latest version

Hello,

in the meantime, Version 2.10.0-stable has been released. It would be great if you could update the github repo accordingly.

Thank you!

[Discussion] : What should we consider as depenencies and optional dependencies

I recently changed the core dependencies onto the basics needed to run Flutter according to official docs (and a bug linked).

I was at that time stumbling over the issue what t consider as dependency, what to consider as opt depends.

There might be two approaches :

  1. Seeing Flutter as tool :
  • only include the dependencies required to successfully run the Flutter tool
  • any dependency needed for platform-specific builds (Android, Linux) is optional
  • this has the advantage to keep it as minimal as possible
  • in a use case one only builds Linux apps e.g., the Android toolchain would not be installed
  1. Seeing Flutter as dev dependency for other packages
  • include everything required to run the Flutter tool and to build other Arch packages (Linux toolchain)
  • make Android dependencies optional
  • makes it easy for other packages to depend on Flutter as make dependency

Open questions in both cases are whether or how to list dependencies like Chromium (explicitly checked by Flutter doctor) and Android Studio, IDEA, VSCodium etc. In case one assumes one gets the full Flutter tool chain with all included dependencies for platform specific builds by simply installing all optional depenencies - in this case, a giant overhead would be installed definitely not needed for building Flutter apps.

I'd like to discuss this at this place.

Add which as part of the dependencies

Listed under their docs.

Error thrown while installing:

==> Making package: flutter 3.7.6-1 (Tue 07 Mar 2023 03:22:07 PM +0530)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
Downloading Linux x64 Dart SDK from Flutter engine ada363ee93b17cfe31587b5102679885cb40837e...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  238M  100  238M    0     0   116k      0  0:34:56  0:34:56 --:--:--  129k
Building flutter tool...
Unhandled exception:
ProcessException: Failed to find "which" in the search path.
  Command: which 
#0      LocalProcessManager.runSync (package:process/src/interface/local_process_manager.dart:118:7)
#1      ErrorHandlingProcessManager.runSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:718:24)
#2      _runSync (package:flutter_tools/src/base/error_handling_io.dart:600:14)
#3      ErrorHandlingProcessManager.runSync (package:flutter_tools/src/base/error_handling_io.dart:717:12)
#4      _PosixUtils._which (package:flutter_tools/src/base/os.dart:209:50)
#5      OperatingSystemUtils.whichAll (package:flutter_tools/src/base/os.dart:101:43)
#6      AndroidSdk.locateAndroidSdk.findAndroidHomeDir (package:flutter_tools/src/android/android_sdk.dart:122:46)
#7      AndroidSdk.locateAndroidSdk (package:flutter_tools/src/android/android_sdk.dart:146:36)
#8      AppContext._generateIfNecessary.<anonymous closure> (package:flutter_tools/src/base/context.dart:104:42)
#9      _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:535:23)
#10     AppContext._generateIfNecessary (package:flutter_tools/src/base/context.dart:92:20)
#11     AppContext.get (package:flutter_tools/src/base/context.dart:121:32)
#12     androidSdk (package:flutter_tools/src/globals.dart:63:39)
#13     generateCommands (package:flutter_tools/executable.dart:173:25)
#14     main.<anonymous closure> (package:flutter_tools/executable.dart:93:11)
#15     run.<anonymous closure> (package:flutter_tools/runner.dart:50:13)
<asynchronous suspension>
#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#17     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'flutter-3.7.6-1': 

Mirror to AUR

At the moment, this package is manually uploaded to the AUR every single time a change (usually a release) to the AUR version is required.

I'd propose to let GitHub automatically mirror the master branch to ssh://[email protected]/flutter.git. This would remove any need for manual synchronization.

slow maintanence -> maybe some more maintainers

Dear @frealgagu

I really like the work you put in the package. I'd anyway like to ask whether you might be open to accepting some more maintainers for the AUR Flutter package as well as this repository, as more maintainers could easily hold on with the fast release cycle. E.g. Flutter 3.0.2 was entirely skipped and never published in the AUR before that Flutter 3.0.3 was released yesterday.

Would you be willing to add e.g. @TheOneWithTheBraid or other interested contributors as maintainers for both this repo and the AUR package?

Thanks a lot!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.