Apps using flutter may fail to build with this error:
Failed obtaining PRETTY_NAME for Linux: PathNotFoundException: Cannot open file,
path = '/usr/lib/os-release' (OS Error: No such file or directory, errno = 2)
Nix build sandbox doesn't have /usr/lib/os-release and /etc/os-release files.
Flutter still works like normal with the patch `git-dir.patch` removed.
I'm not sure what it's supposed to do but I don't think it's necessary anymore.
flutter-unwrapped will now not come with engine artifacts in its cache directory(`$out/bin/cache`).
To specify a different cache directory, set FLUTTER_CACHE_DIR.
Flutter's wrapper now sets FLUTTER_CACHE_DIR to set engine artifacts.
The sh file `$out/bin/internal/shared.sh` runs when launching Flutter and calls `"$FLUTTER_ROOT/bin/cache/` instead of our environment variable `FLUTTER_CACHE_DIR`.
I decided not to patch it since the script doesn't require engine artifacts(which are the only thing not added by the unwrapped derivation), so it shouldn't fail, and patching it will just be harder to maintain.
Flutter 3.5.0 adds a check to make sure that the Flutter and Dart tool executables are inside the SDK directory.
This does not play nicely with the wrapping and linking techniques used to package it. It is also impossible for there to be an issue related to binary locations, as everything is set up properly in the derivation.
Needs to do a build in 2-pass now since Google stopped shipping all
dependencies needed to build Flutter. This may be an oversight from them
since they used to ship everything, but this makes the whole build
process more robust.
The first step will download all dependencies from pub, and the
second step will build Flutter. Since we need to build repository
first, we also require a new depsSha256 parameter to be passed, that
represents the SHA256 of the resulting derivation of all Flutter
dependencies downloaded from https://pub.dev.
This commit also makes some changes in mkFlutter, allowing the
user to pass src instead of passing version/channel/filename, allowing
for more flexibility (i.e: building from a local fork of Flutter).
Related issue #108606.
Nowadays we have multiple outdated versions of Flutter in nixpkgs.
Instead, let's focus in having in having stable versions of Flutter
working.
Users needing to use beta or dev versions of Flutter can use mkFlutter
function, that still exists.
flutter: add beta and dev channels
flutter: artifacts are now downloaded in $HOME/.cache/flutter
flutter: remove all artifacts from flutter
flutter: fix lockfile path
flutter: fix pub_cache
flutter: fix flutter_tools/.packages pointing to /build
flutter: clean patches
flutter: fix write error on .cache/flutter/lockfile
flutter: add zlib as a dependency
flutter: add missing dependencies
flutter: fix flutter version
flutter: update versions + dependencies