Commit Graph

175 Commits

Author SHA1 Message Date
Jan Malakhovski
b358ebd870 treewide: replace setSourceRoot = "sourceRoot=$PWD" and similar with sourceRoot = "." 2023-08-12 08:29:55 +00:00
gilice
c34385b52c flutter: link notices to all of the artifact directories.
The flutter team has also started doing this, but only for new
artifacts. This way, we also do it for older artifacts.
2023-08-11 10:03:39 +02:00
Sunghoon Kang
37a10c3cb7
flutter: revert unnecessary extension extraction
Signed-off-by: Sunghoon Kang <me@hoon.dev>
2023-07-07 16:59:52 +09:00
Sunghoon Kang
77618bd28b
flutter: revert patch changes
Signed-off-by: Sunghoon Kang <me@hoon.dev>
2023-07-07 16:56:40 +09:00
Sunghoon Kang
8cb8349928
flutter: fix hash
Signed-off-by: Sunghoon Kang <me@hoon.dev>
2023-07-07 13:16:43 +09:00
Sunghoon Kang
77702747e7
flutter: add darwin support
Signed-off-by: Sunghoon Kang <me@hoon.dev>
2023-07-07 13:07:34 +09:00
Ilan Joselevich
d625c36563
Merge pull request #240715 from FlafyDev/flutter-cache-drv-2
flutter: Separate cache and unwrapped derivations #2
2023-07-05 03:03:27 +03:00
hacker1024
309f54ae5b flutter: Remove Flutter 2 2023-07-04 08:59:01 +10:00
FlafyDev
570f3efd1d flutter: Separate cache and unwrapped derivations
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.
2023-06-30 15:23:34 +03:00
gilice
dcf789f53e flutter: 3.10.0 -> 3.10.5 2023-06-14 19:12:50 +02:00
FlafyDev
b1efbff8ec flutter: Move artifact installation logic to the wrapper 2023-05-15 01:16:47 +03:00
hacker1024
6af167f231 flutter: Keep 3.7 available 2023-05-12 23:09:41 +10:00
hacker1024
97b7363358 flutter: Append to search paths in the wrapper
Appending to search paths allows dependencies to be replaced at runtime.

This is useful, for example, to the Dart packaging mechanism, which supplies a wrapped version of Git that spoofs cached Git package revisions for Pub.
2023-05-12 23:09:41 +10:00
hacker1024
7f36f6e96b flutter: 3.7.12 -> 3.10.0 2023-05-12 23:09:41 +10:00
hacker1024
6b30711c43
flutter: Install Android variant artifacts in platform subdirectories (#231296)
* flutter: Allow installing artifacts in subdirectories

* flutter: Install Android variant artifacts in platform subdirectories
2023-05-11 23:55:11 +02:00
Maciej Krüger
429d14f15f
Merge pull request #228467 from gilice/expose-mkFlutter 2023-05-02 13:34:00 +02:00
gilice
596aa930b2 flutter: rename & expose builders to pkgs
The renames are:
  mkFlutter -> mkCustomFlutter
  flutterDrv -> mkFlutter

I hope this will bring more clarity
2023-04-30 18:33:05 +02:00
hacker1024
f151560cf0 flutter: package-overrides: olm: init 2023-04-26 16:54:06 +10:00
hacker1024
04ed017ad7 flutter: package-overrides: matrix: init 2023-04-26 16:53:53 +10:00
hacker1024
ad510f4221 flutter: package-overrides: handy_window: init 2023-04-26 16:53:43 +10:00
hacker1024
26e9b52d94 flutter: package-overrides: flutter_secure_storage_linux: init 2023-04-26 16:53:33 +10:00
hacker1024
7fb8a68efa flutter: Fix linux-x64-profile/linux-x64-flutter-gtk artifact hash
This was accidentally copied from linux-x64-release.
2023-04-26 00:55:10 +10:00
hacker1024
f7af9373ed flutter: Generate target PKG_CONFIG_PATH at build time 2023-04-25 14:40:29 +10:00
hacker1024
552e3fe498 flutter: Don't use IFD to read the engine version 2023-04-23 14:44:46 +10:00
hacker1024
ae0aff848f flutter: Throw a useful message when there are missing artifact hashes 2023-04-23 14:43:48 +10:00
hacker1024
7e53598823 flutter: 3.7.11 -> 3.7.12 2023-04-23 14:30:37 +10:00
hacker1024
0495725a1f flutter.buildFlutterApplication: Introduce a package override repository
Some Flutter packages require additional attribute values to be added to buildFlutterApplication, to add things like libraries and environment variables.

To prevent duplication in applications that use the packages, a repository of package overrides is kept. buildFlutterApplication will look for package overrides for each dependency, and apply them by calling overrideAttrs on itself.
2023-04-17 03:21:01 +10:00
hacker1024
17cb291df1 flutter: Allow adding extra dependencies to the wrapper
Flutter application derivations can add dependencies and build flags, but it's not as easy during development.

As an alternative to nix-shell, a custom Flutter wrapper can be built with dependencies required by projects.

This feature builds on the existing build environment setup techniques required for Linux desktop support, so is fairly cheap to maintain.
2023-04-16 21:20:25 +10:00
hacker1024
607a57d48e flutter.mkFlutterApp: Rename to flutter.buildFlutterApplication
This fits more appropriately with other build derivations like buildPythonApplication.
2023-04-15 20:57:21 +10:00
hacker1024
b187edb802 flutter: Pass through the version attribute in the wrapper 2023-04-15 19:25:01 +10:00
hacker1024
62e50080f3 flutter: Download engine artifacts individually
This brings the following benefits:
- Artifacts missing in the SDK tarball (such as prebuilts for linux-aarch64) can be obtained
- Artifacts can be patched more granularly (e.g. libflutter_linux_gtk is patchelf-ed for GTK3, and the linux-aarch64 assets have a postPatch to add some missing files)
- Minimal Flutter packages can be generated (e.g. mkFlutterApp only needs prebuilts for desktop Linux, and developers that don't care for desktop Linux can exclude the artifacts and dependencies)

It also paves the way for including manually built engine facts.
2023-04-15 02:09:28 +10:00
hacker1024
c3797393b7 flutter: Use fetchzip instead of fetchurl for source downloads
This allows for speedier re-use of the source archives, and lets files inside be read in Nix.
2023-04-15 01:52:30 +10:00
hacker1024
b16e344fae flutter: Remove --no-version-check from the immutable wrapper
This is not technically needed anyway, as the feature is removed in disable-auto-update.patch.

Prepending this argument causes issues:
- https://github.com/kevmoo/completion.dart/issues/33
- https://github.com/flutter/flutter/issues/124793
2023-04-14 15:11:31 +10:00
hacker1024
1b2cac51b2 flutter: Use existing libdeflate derivation 2023-04-14 14:21:38 +10:00
hacker1024
cedcb0b772 flutter: Rename "self" to "unwrapped" in main derivation 2023-04-13 23:19:16 +10:00
hacker1024
13bbb36132 flutter: Move makeWrapper to nativeBuildInputs in wrapper 2023-04-13 22:52:40 +10:00
hacker1024
c59ce54f1d flutter: Add mkFlutterApp as a passthru attribute 2023-04-13 22:02:50 +10:00
hacker1024
4196ddbeb5 flutter: Add git and which to PATH 2023-04-13 21:55:50 +10:00
hacker1024
f3aac6e61e flutter: Add FlafyDev, gilice, and hacker1024 as maintainers 2023-04-13 19:46:45 +10:00
hacker1024
4df7d07ab1 flutter: Remove stray dollar sign from name string 2023-04-13 19:29:42 +10:00
hacker1024
d5aa0c1f97 Merge remote-tracking branch 'NixOS/master' into patch-3 2023-04-13 19:22:50 +10:00
hacker1024
5777f1a122 flutter: Don't check executable locations in doctor
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.
2023-04-13 18:02:26 +10:00
hacker1024
0f2848638f flutter: 3.3.3 -> 3.7.11 2023-04-13 18:01:58 +10:00
hacker1024
aa9079c678 flutter: Remove prebuilt dependencies from the wrapper
These are no longer needed now that the artifacts are patched.
2023-04-13 18:01:58 +10:00
hacker1024
7f01352e65 flutter: Don't preserve prebuilt SDK asset file permissions
See: https://github.com/flutter/flutter/issues/119961

Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 18:01:53 +10:00
hacker1024
9497627b15 flutter: Don't try to update the immutable artifact cache
Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 18:01:45 +10:00
hacker1024
d6ce0dafcf flutter: Don't use an external artifact cache
The internal artifacts should be used, as they have been patched to use Nix libraries.

Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 18:01:35 +10:00
hacker1024
e552959395 flutter: Remove the FHS wrapper
Now that Flutter artifacts are patched, there is no need for a FHS at runtime or any stage of the build process.

Those relying on it for the Android SDK should look at https://github.com/tadfisher/android-nixpkgs.
2023-04-13 18:01:32 +10:00
hacker1024
9e33e35589 flutter: Add zlib to the linker search path 2023-04-13 18:01:32 +10:00
hacker1024
94a34aadf6 flutter: Use autoPatchelfHook for SDK artifacts
This allows SDK artifacts (including build tools and libraries) to use the right interpreter and library locations, abolishing the need for a FHS or post-build patches.

`autoPatchelf` has been used through `autoPatchelfHook`, instead of the `autoPatchelf` command on just the artifact directory, due to the latter method not patching interpreter paths (https://discourse.nixos.org/t/trying-to-use-autopatchelf/24003).

Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 18:01:25 +10:00
hacker1024
65708c3360 flutter: Don't delete SDK artifacts
Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 18:01:01 +10:00
hacker1024
cda91ab269 flutter: Add cache output and preload pub cache when necessary
Co-authored-by: FlafyDev <flafyarazi@gmail.com>
Co-authored-by: gilice <gilice@proton.me>
Co-authored-by: hacker1024 <hacker1024@users.sourceforge.net>
2023-04-13 17:55:40 +10:00
hacker1024
7840f2055a flutter: Create the flutter derivation with callPackage alone 2023-04-13 00:09:42 +10:00
hacker1024
341fa709ff flutter: Redesign wrapping architecture
The following principles are now in place:

- All wrappers will include SDK file symlinks. There is not much of a reason to not do so, and removing the option to omit it makes it easier to understand what each wrapper does.
- There is no longer a way to get the previous derivation from a wrapper. This could yield unexpected results based on the wrapping order. Instead, "sdk", "unwrapped", and "noFHS" passthru attributes are provided where appropriate.
2023-02-18 00:43:17 +11:00
hacker1024
aa33cb9956 flutter: Reorganize the wrapper code 2023-02-17 23:55:13 +11:00
hacker1024
240d9bdf43 flutter: Properly set linker flags in wrapper 2023-02-17 22:48:41 +11:00
hacker1024
1d547baee0 flutter: Do not rely on pkg-config setup hook to build search path 2023-02-08 16:11:26 +11:00
hacker1024
fd46552867 flutter: Add libdeflate to build environment 2023-02-08 15:27:18 +11:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Thiago Kenji Okada
c1aa02a83d
Merge pull request #200988 from hacker1024/patch-2
flutter: Expose internal derivation creation functions
2023-01-08 15:17:18 +00:00
Bobby Rong
8eab68f943
Merge pull request #199767 from h7x4/master
flutter, mozart: add h7x4 as maintainer
2022-11-23 23:56:47 +08:00
nanashi0x74
0e74b5347a flutter: 3.3.3 -> 3.3.8, flutter.dart: 2.18.2 -> 2.18.4 2022-11-16 23:27:47 +01:00
hacker1024
9c6c81dc49 flutter: Add fake SDK derivation 2022-11-17 01:26:25 +11:00
hacker1024
e4df8739b7 flutter: Implement mkFlutter function using barebones FHS environment 2022-11-14 21:19:33 +11:00
hacker1024
e2adc5d899 flutter: Only enable Linux desktop support by default on Linux 2022-11-14 13:28:45 +11:00
hacker1024
ea48c7c9b6 flutter: Modularize unwrapped, wrapped, and FHS components 2022-11-14 13:11:49 +11:00
hacker1024
c6b044c101 flutter: Use RPATH and CFLAGS to remove Linux desktop compilation and runtime FHS dependency 2022-11-14 11:24:38 +11:00
hacker1024
7fd5a33393 flutter: Move runtime libraries out of FHS using LD_LIBRARY_PATH 2022-11-14 00:22:10 +11:00
hacker1024
32ac87459e flutter: Add dependencies for Linux desktop compilation 2022-11-14 00:08:58 +11:00
hacker1024
6a376d9a78
flutter: Expose internal derivation creation functions 2022-11-13 15:25:35 +11:00
h7x4
2bb2eec813
flutter: add h7x4 as maintainer 2022-11-12 20:18:26 +01:00
colin
a2436fc54d flutter: enable aarch64-linux support 2022-10-09 05:34:42 -07:00
nanashi0x74
4a74e239b5 flutter: add flutter2 package 2022-10-02 19:33:26 +02:00
nanashi0x74
2bdae5cabd flutter: refactor packages 2022-10-02 18:27:35 +02:00
nanashi0x74
a95999ea7f flutter: 3.3.0->3.3.3, flutter.dart: 2.18.0->2.18.2 2022-10-02 17:52:41 +02:00
nanashi0x74
41754242a6 flutter: add cache back in for shaders 2022-09-14 18:50:39 +02:00
nanashi0x74
ffb72bdc5b flutter: fix buildPhase after .packages deprecation
https://medium.com/dartlang/dart-2-18-f4b3101f146c#514e
2022-09-14 18:50:39 +02:00
nanashi0x74
747f298be5 flutter: regenerate move-cache.patch 2022-09-14 18:50:39 +02:00
nanashi0x74
89de698218 flutter: regenerate git-dir.patch 2022-09-14 18:50:38 +02:00
nanashi0x74
bd0f733ce1 flutter: regenerate disable-auto-update.patch 2022-09-14 18:50:38 +02:00
nanashi0x74
f127398be2 flutter: 3.0.4->3.3.0, flutter.dart: 2.17.5->2.18.0 2022-09-14 18:50:38 +02:00
nanashi0x74
43d2b91944 flutter: amend move-cache patch after update 2022-07-11 14:02:36 +02:00
nanashi0x74
02e10382d5 flutter: patch git version check 2022-07-11 14:02:36 +02:00
nanashi0x74
04699b7b7e flutter: 2.10.1->3.0.4 2022-07-11 14:02:36 +02:00
nanashi0x74
2cdbc00b2c flutter: use dart pub instead of deprecated pub command 2022-07-11 14:02:35 +02:00
Anselm Schüler
ce5a25ef1a flutter.dart: 2.16.1 -> 2.16.2 2022-05-13 17:02:03 +02:00
Maciej Krüger
2c686d250e
flutter: 2.10.0 -> 2.10.1 2022-02-23 15:10:58 +01:00
Maciej Krüger
fd41185d86
flutter.mkFlutterApp: init
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-02-19 15:07:41 +01:00
Luke Granger-Brown
9dcf20f284 flutter: 2.8.0 -> 2.10.0 2022-02-06 21:03:45 +00:00
Eric Dallo
11644ddcf2
flutter: add missing dart-sdk cache folder 2022-01-11 19:47:15 -03:00
Eric Dallo
70bbf1e9b2
flutter: fix move-cache patch 2021-12-25 10:54:51 -03:00
Eric Dallo
f6da7b4007
flutter: 2.5.1 -> 2.8.0 2021-12-11 14:16:59 -03:00
Thiago Kenji Okada
2962edb944 flutter: remove myself from maintainers 2021-11-23 13:26:50 -03:00
ilkecan
d882c5751b flutter: add passthru.dart 2021-11-16 20:24:31 +03:00
Eric Dallo
804e2edff5
flutter: 2.2.1 -> 2.5.1 2021-09-25 00:28:02 -03:00
NANASHI0X74
af734f5a8c
dart: 2.12.2 -> 2.13.1 (#126979)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-06-16 03:42:30 +02:00
Sandro
02d88b1ff1
Merge pull request #125488 from NANASHI0X74/bump-flutter-2.2
flutter 2.0.3 -> 2.2.1
2021-06-10 21:00:26 +02:00
nanashi0x74
d05d2113bb flutter: 2.0.3 -> 2.2.1 2021-06-10 20:30:03 +02:00
AndersonTorres
e9e5f5f84d Change all alsaLib references to alsa-lib 2021-06-10 01:12:49 -03:00
kolaente
ba619289b6
flutter: remove patchelf 2021-03-23 21:00:23 +01:00