Commit Graph

48 Commits

Author SHA1 Message Date
hacker1024
cf55bc7300 buildDartApplication: Generate LD_LIBRARY_PATH at build time
This allows setup hooks to add runtime dependencies.
2023-12-26 17:08:51 +02:00
hacker1024
1ae96d0704 buildDartApplication: Move package sources to nativeBuildInputs
They are only needed at build time, after all.
2023-12-26 17:08:51 +02:00
hacker1024
48bf6da955 buildDartApplication: Declare dependency sources as build inputs 2023-12-26 17:08:51 +02:00
hacker1024
18d9cd0c50 pub2nix.readPubspecLock: Add package versions to passthru 2023-12-26 17:08:51 +02:00
hacker1024
4e4c4c2ad0 buildDartApplication: Use overrides for dev dependencies as well 2023-12-26 17:08:51 +02:00
hacker1024
65d2cc04a3 dartHooks.dartConfigHook: Simplify packageRun function 2023-12-26 17:08:51 +02:00
hacker1024
d41348a68a dartHooks.dartConfigHook: Add packageRun utility 2023-12-26 17:08:51 +02:00
hacker1024
bea71b1fe3 pub2nix.readPubspecLock: Add packagePath convenience attribute 2023-12-26 17:08:50 +02:00
hacker1024
7e043f5f28 buildDartApplication: Accept additional package_config.json setup commands 2023-12-26 17:06:18 +02:00
hacker1024
4eb35ef711 buildDartApplication: Link the package_config.json in a separate derivation 2023-12-26 17:06:18 +02:00
hacker1024
4f623fa0a1 buildDartApplication: Refactor autoDepsList logic 2023-12-26 17:06:18 +02:00
hacker1024
34ce9c64c9 pub2nix.readPubspecLock: Include entire source in package derivations
This allows references to paths above the package being built, e.g.  bc5d988f32/packages/libtokyo_flutter/pubspec.yaml (L42)
2023-12-26 17:05:28 +02:00
hacker1024
3081228cc4 dart: Use Nix instead of Pub 2023-12-26 17:05:20 +02:00
linsui
676ef2b4b2 dart: fix fetchDartDeps 2023-12-25 14:58:02 +08:00
hacker1024
145c291ca6
fetchDartDeps: Use add milliseconds to date in package_config.json
This in compliance with the format specification.
https://github.com/dart-lang/language/blob/main/accepted/2.8/language-versioning/package-config-file-v2.md
2023-12-21 11:46:18 +01:00
hacker1024
0d82a3864a
fetchDartDeps: Add a package_config.json derivation 2023-12-21 11:46:13 +01:00
hacker1024
e99f59010c
fetchDartDeps: Pass through the dependency cache 2023-12-21 11:46:12 +01:00
hacker1024
623ac19416
fetchDartDeps: Generalise dependency derivation logic 2023-12-21 11:46:12 +01:00
hacker1024
75b809c7c6
buildDartApplication: Add entire Dart derivation to nativeBuildInputs 2023-12-21 11:46:11 +01:00
hacker1024
d331e2d68c
fetchDartDeps: Use given setup and Pub get script in dependency list derivation 2023-12-21 11:44:15 +01:00
hacker1024
bc82281e01 buildDartApplication: Generate Dart wrapper with symlinkJoin 2023-10-28 21:52:36 +11:00
hacker1024
98a7a5edd3 dartHooks.dartFixupHook: Add trailing newline 2023-10-22 00:42:07 +11:00
hacker1024
becdfbe17c buildDartApplication: Recognise extraWrapProgramArgs 2023-10-22 00:14:42 +11:00
hacker1024
5391c0204e buildDartApplication: Allow passing a sdkSetupScript 2023-10-21 22:37:01 +11:00
hacker1024
6298ac2774 buildDartApplication: Use package override mechanism from buildFlutterApplication
This allows Dart applications to benefit from the package override system, which is useful for things like FFI dependencies.
2023-10-21 22:30:23 +11:00
hacker1024
234b63b0f0 buildDartApplication: Allow supplying runtime dependencies 2023-10-21 22:22:02 +11:00
hacker1024
64c638bfc0 fetchDartDeps: Disable install phase in depsListDrv 2023-10-21 22:13:12 +11:00
hacker1024
eeb3936722 buildDartApplication: Format with nixpkgs-fmt 2023-10-21 21:54:21 +11:00
hacker1024
1dcba055e5 buildDartApplication: Supply CA bundle to Dart in FOD
DART_VM_OPTIONS is not effective.
2023-08-29 13:12:15 +02:00
hacker1024
41bbc2c311 flutter: Supply CA bundle in sandbox 2023-08-29 13:12:01 +02:00
Weijia Wang
bbbf5574c0 buildDartApplication: add sigtool on darwin 2023-06-14 22:29:01 +03:00
hacker1024
fdbb342402 dart: Properly set the dependency list derivation name 2023-05-12 23:09:41 +10:00
hacker1024
b511926a89 dart: Use doPubGet when generating the dependency list 2023-05-12 23:09:41 +10:00
hacker1024
49ce83d5b4 dart: Spoof Git dependency version checks 2023-05-12 23:04:33 +10:00
Gabriel Fontes
782c8b44dd
buildDartApplication: init
This adds a function for easily packaging non-flutter dart apps.
2023-05-05 13:32:45 -03:00
hacker1024
9f05297dc8 flutter.buildFlutterApplication: Manually supply the dependency list
This removes the need for IFD.
2023-04-23 00:12:45 +10:00
hacker1024
87f809e0c6 dart.list-dart-deps: Add list-dart-deps function
This uses `dart pub deps` (https://dart.dev/tools/pub/cmd/pub-deps) to retrieve information about project dependencies.

It requires a fetch-dart-deps derivation as input.
2023-04-16 23:16:17 +10:00
hacker1024
4f5dd08fe8 dart.fetch-dart-deps: Add hook runtime dependencies 2023-04-16 23:11:07 +10:00
hacker1024
b68a185b0f dart.fetch-dart-deps: Expose the package cache files through passthru 2023-04-16 23:06:22 +10:00
hacker1024
1f7eab1c38 dart.fetch-dart-deps: Fix invalid syntax in pubspec validation statement 2023-04-16 03:56:14 +10:00
hacker1024
075f50f2d1 dart.fetch-dart-deps: Compress the generated pubspec.lock file
This is much more practical for users to copy, as it significantly reduces the length of the output.
2023-04-16 03:32:26 +10:00
hacker1024
643b62c8f1 dart.fetch-dart-deps: Don't allow overriding the deps derivation name 2023-04-16 03:21:29 +10:00
hacker1024
5fa3b41041 dart.fetch-dart-deps: Verify the pubspec.lock as well as pubspec.yaml
88275ca6d6 inadvertently stopped the pubspec.lock from changing, as it copied the file before running pub get.

pub get can modify the pubspec.lock to update it to newer formats (for example by adding hashes and updating URLs, see an example diff below). We do not need the modifications at any later stage, so we can preserve the original file.

      boolean_selector:
        dependency: transitive
        description:
          name: boolean_selector
    +      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
    +      url: "https://pub.dev"
    -      url: "https://pub.dartlang.org"
        source: hosted
    +    version: "2.1.1"
    -    version: "2.1.0"
2023-04-16 03:20:36 +10:00
hacker1024
0e5db63dc3 dart.fetch-dart-deps: Don't delete .git/pub-packages 2023-04-16 02:56:43 +10:00
hacker1024
88275ca6d6 flutter.buildFlutterApplication: Allow using a custom pubspec.lock 2023-04-16 01:49:43 +10:00
hacker1024
d2ab34122d dart.fetch-dart-deps: Remove stray comment from the dependency derivation 2023-04-16 00:55:55 +10:00
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