archlinux.flutter's People
Forkers
kiptechie trecloux christopherfujino cosmopool taylorskalyo reckel-jm ariejan leptopoda theonewiththebraid celogeek dangarbri eazel7 justscottarchlinux.flutter's Issues
Continuous integration tests
Each PR should be covered by at least a simple makepkg -s
test.
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.
Why isn't dart included?
Modern Flutter SDK promises to ship a dart compiler too.
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 :
- 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
- 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.
Flutter 3
Hey, you probably have already noticed, but I'll open up a ticket to formalize the issue a bit more: the latest version of Flutter as of writing is 3.0.1. The AUR package should be updated to reflect this.
More information: https://medium.com/flutter/whats-new-in-flutter-3-8c74a5bc32d0
Related PR: #19
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.
Disable auto-update and analytics via environment variable
Once flutter/flutter#107121 is trickled down in stable, we should immediately set the
FLUTTER_VERSION_CHECK
FLUTTER_ANALYTICS
environment variables system wide to false
in order to fix a) permission issues in /opt/flutter/
and b) privacy regressions.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.