diff options
author | hacker1024 <hacker1024@users.sourceforge.net> | 2023-10-29 01:16:08 +1100 |
---|---|---|
committer | FlafyDev <flafyarazi@gmail.com> | 2023-12-26 18:48:08 +0200 |
commit | 2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c (patch) | |
tree | d05ced737a6f26671f0aad77af48d55e84f7f3c1 /pkgs/build-support | |
parent | cf55bc7300560f63f4e76521dbd163a00b060769 (diff) | |
download | nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar.gz nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar.bz2 nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar.lz nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar.xz nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.tar.zst nixlib-2bd3e5d779f31c751cf2f23e98fc4dbe74f4328c.zip |
buildDartApplication: Use package source builders and setup hooks instead of package overrides
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/dart/build-dart-application/default.nix | 21 | ||||
-rw-r--r-- | pkgs/build-support/dart/pub2nix/pubspec-lock.nix | 21 |
2 files changed, 17 insertions, 25 deletions
diff --git a/pkgs/build-support/dart/build-dart-application/default.nix b/pkgs/build-support/dart/build-dart-application/default.nix index 2e99479c9bb0..ccecbe6fd3e8 100644 --- a/pkgs/build-support/dart/build-dart-application/default.nix +++ b/pkgs/build-support/dart/build-dart-application/default.nix @@ -44,7 +44,6 @@ , runtimeDependencies ? [ ] , extraWrapProgramArgs ? "" -, customPackageOverrides ? { } , autoDepsList ? false , depsListFile ? null , pubspecLock @@ -143,25 +142,7 @@ let meta = (args.meta or { }) // { platforms = args.meta.platforms or dart.meta.platforms; }; }); - - packageOverrideRepository = (callPackage ../../../development/compilers/dart/package-overrides { }) // customPackageOverrides; - productPackages = if depsList == null then [ ] else depsList; in assert !(builtins.isString dartOutputType && dartOutputType != "") -> throw "dartOutputType must be a non-empty string"; -builtins.foldl' - (prev: package: - if packageOverrideRepository ? ${package.name} - then - prev.overrideAttrs - (packageOverrideRepository.${package.name} { - inherit (package) - name - version - kind - source - dependencies; - }) - else prev) - baseDerivation - productPackages +baseDerivation diff --git a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix index 3b9e50400264..fac096de31f7 100644 --- a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix +++ b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix @@ -1,4 +1,5 @@ { lib +, callPackage , fetchurl , fetchgit , runCommand @@ -22,6 +23,14 @@ # Functions to generate SDK package sources. # The function names should match the SDK names, and the package name is given as an argument. , sdkSourceBuilders ? { } + + # Functions that create custom package source derivations. + # + # The function names should match the package names, and the package version, + # source, and source files are given in an attribute set argument. + # + # The passthru of the source derivation should be propagated. +, customSourceBuilders ? { } }: let @@ -77,20 +86,22 @@ let addDependencySourceUtils = dependencySource: details: dependencySource.overrideAttrs ({ passthru, ... }: { passthru = passthru // { inherit (details) version; - packagePath = dependencySource + "/${dependencySource.packageRoot}"; }; }); + sourceBuilders = callPackage ../../../development/compilers/dart/package-source-builders { } // customSourceBuilders; + dependencySources = lib.filterAttrs (name: src: src != null) (builtins.mapAttrs (name: details: - addDependencySourceUtils - (({ + (sourceBuilders.${name} or ({ src, ... }: src)) { + inherit (details) version source; + src = ((addDependencySourceUtils (({ "hosted" = mkHostedDependencySource; "git" = mkGitDependencySource; "path" = mkPathDependencySource; "sdk" = mkSdkDependencySource; - }.${details.source} name) details) - details) + }.${details.source} name) details)) details); + }) pubspecLock.packages); in { |