Commit graph

55 commits

Author SHA1 Message Date
FlafyDev 5a5db92870 buildDartApplication: remove customSourceBuilders from baseDerivation 2023-12-26 21:57:46 +02:00
FlafyDev 65b0c270c2 pub2nix: Add disclaimer why not to use fetchTarball 2023-12-26 21:54:30 +02:00
FlafyDev b0a2d432da buildDartApplication: fix note about fixed-output derivation 2023-12-26 21:50:50 +02:00
FlafyDev e827619c11 buildDartApplication: remove unused pubGetScript and generatePubspecLock 2023-12-26 21:49:22 +02:00
hacker1024 81a99463d8 buildDartApplication: Pass customSourceBuilders through to pub2nix 2023-12-26 18:48:12 +02:00
hacker1024 23952fb641 buildDartApplication: Remove depsListFile
We get a dependency list with pub2nix now. We can no longer easily distinguish between development dependency dependencies and regular dependency dependencies, but we weren't doing this anyway.
2023-12-26 18:48:12 +02:00
hacker1024 2bd3e5d779 buildDartApplication: Use package source builders and setup hooks instead of package overrides 2023-12-26 18:48:08 +02:00
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