Commit Graph

473595 Commits

Author SHA1 Message Date
gilice
4e68ee327e flutter.buildFlutterApplication: Add an explanation when a pubspec mismatch occurs 2023-04-16 00:35:15 +10:00
hacker1024
915a6779fc flutter.buildFlutterApplication: Refactor dependency setup as a standalone derivation with an output hook
This allows anything that needs to build a Dart application (such as a future `buildDartApplication` function) to use the same setup.
2023-04-16 00:17:41 +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
f00f918e27 flutter: Remove cached Git package Git directories
Pub does not perform any Git operations on the cached package directly, instead cloning it through a mirror.

The .git directories are not needed, and are a source of non-determinism.
2023-04-15 20:30:46 +10:00
hacker1024
c3a87421ae flutter: Don't tarball the package cache
Co-authored-by: FlafyDev <flafyarazi@gmail.com>

The dependency fixed-output derivation now uses the recursive hash mode to avoid tarballing and copying all the files.

https://github.com/NixOS/nix/issues/6660 was ran into during the development of this change. Input references were found in the Git package cache before nukeReferences was used.

It turns out that the mirrors in the Git package cache do not actually need to be preserved, as the SDK does not use them during the build process. They are therefore deleted in the dependency derivation and re-created as blank repositories in the main derivation.

A description of the Git package cache layout can be found here: c890afa1d6/lib/src/source/git.dart (L339)
2023-04-15 20:17:44 +10:00
hacker1024
b187edb802 flutter: Pass through the version attribute in the wrapper 2023-04-15 19:25:01 +10:00
hacker1024
fdce3f30c4 flutter.mkFlutterApp: Don't hash more unstable files
Files and directories such as .dart_tool, .flutter-plugins, .packages and .pub-cache/hosted/*/.cache will be happily regenerated by the SDK in an offline environment.

The patches being made to these files and directories to remove non-determinism were flawed: They did not handle cases where files only appeared in one run, or cases where tooling versions had an effect on the output.
2023-04-15 03:18:56 +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
7e12e3afaa flutter.mkFlutterApp: Remove the target architecture from the dependency derivation name
As the dependency tarballs no longer include SDK artifacts, they are not platform dependent.
2023-04-14 14:25:33 +10:00
hacker1024
1b2cac51b2 flutter: Use existing libdeflate derivation 2023-04-14 14:21:38 +10:00
hacker1024
30caca0839 flutter.mkFlutterApp: Add Git to nativeBuildInputs
The deterministic Git script depends on it.
2023-04-14 02:16:04 +10:00
hacker1024
f7e3c19cc8 flutter.mkFlutterApp: Don't vendor arbitrary configuration files 2023-04-14 01:49:09 +10:00
hacker1024
8f9aa6b18b flutter.mkFlutterApp: Don't use autoPatchelf on package cache
While this may be beneficial for packages that ship native binaries, this causes issues due to Flutter packages that have inappropriately uploaded build artifacts (such as those from example subprojects) to pub.dev.
2023-04-14 01:41:58 +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
04e7ced7e2 mkFlutterApp: Don't fetch prebuilt artifacts
Artifacts are now supplied by the Flutter SDK derivation.

In addition, they are no longer a factor in the dependency hash calculation.
2023-04-13 22:01:42 +10:00
hacker1024
6d50bcc487 mkFlutterApp: Deduplicate build environment setup
The build environment is now set up by the Flutter wrapper, and does not need to be done in mkFlutterApp.
2023-04-13 22:00:24 +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
bc6e36afdc maintainers: add hacker1024 2023-04-13 19:28:45 +10:00
gilice
88b308c132 maintainers: add FlafyDev 2023-04-13 19:26:13 +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
Weijia Wang
8aff71f5da
Merge pull request #224838 from mistydemeo/xmp_build_darwin
XMP: add Darwin support
2023-04-13 10:54:03 +03:00
piegames
bb0c3de2a9
Merge pull request #225948: gnomeExtensions.argos: 20220930 → 20230404 2023-04-13 09:36:28 +02:00
Weijia Wang
40dc2b6f7a
Merge pull request #225548 from Atemu/mlterm-darwin-fixes
mlterm: darwin fixes
2023-04-13 10:36:00 +03:00
piegames
3396ad7778
Merge PR #225950: gnomeExtensions.system-monitor 2022-04-25 → 2023-01-21 2023-04-13 09:35:07 +02:00
Weijia Wang
46a59ee046
Merge pull request #225899 from bcdarwin/unbreak-mlflow
python310Packages.mlflow: unbreak
2023-04-13 10:33:59 +03:00
Weijia Wang
f73ac8fa6e
Merge pull request #225813 from dklyons81/unmark-dask-distributed
python3Packages.distributed: unmark broken on aarch64
2023-04-13 10:23:53 +03:00
Weijia Wang
6409343e7a
Merge pull request #225882 from euank/anki-update
anki: 2.1.60 -> 2.1.61
2023-04-13 10:18:41 +03:00
Weijia Wang
1c5f066f12
Merge pull request #225359 from strager/nrg2iso-macos
nrg2iso: compile on Darwin
2023-04-13 10:15:53 +03:00
Thomas Gerbet
8888cd52aa
Merge pull request #223629 from LeSuisse/osv-scanner-1.3.0
osv-scanner: 1.2.0 -> 1.3.1
2023-04-13 09:08:02 +02:00
Peter Simons
3f78d78e3d
Merge pull request #215109 from afh/gnupg-libgcrypt-lts
Add LTS version of GnuPG and update libgcrypt to latest LTS version
2023-04-13 08:20:47 +02:00
zowoq
664877a563 netavark: 1.5.0 -> 1.6.0
Diff: https://github.com/containers/netavark/compare/v1.5.0...v1.6.0

Changelog: https://github.com/containers/netavark/releases/tag/v1.6.0
2023-04-13 15:49:29 +10:00
zowoq
43e91f57d5 aardvark-dns: 1.5.0 -> 1.6.0
Diff: https://github.com/containers/aardvark-dns/compare/v1.5.0...v1.6.0

Changelog: https://github.com/containers/aardvark-dns/releases/tag/v1.6.0
2023-04-13 15:49:29 +10:00
github-actions[bot]
c0d30b72c2 terraform-providers.oci: 4.115.0 -> 4.116.0 2023-04-13 15:49:13 +10:00