Loading pkgs/build-support/flutter/default.nix +14 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,20 @@ let exit 1 fi ''; # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' for path in '${flutter.dart}/pkg/${name}'; do if [ -d "$path" ]; then ln -s "$path" "$out" break fi done if [ ! -e "$out" ]; then echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' exit 1 fi ''; }; extraPackageConfigSetup = '' Loading pkgs/development/compilers/flutter/default.nix +11 −6 Original line number Diff line number Diff line Loading @@ -14,28 +14,29 @@ let , patches , pubspecLock , artifactHashes , channel }: let args = { inherit version engineVersion patches pubspecLock artifactHashes; inherit version engineVersion patches pubspecLock artifactHashes channel; dart = dart.override { version = dartVersion; sources = { "${dartVersion}-x86_64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; sha256 = dartHash.x86_64-linux; }; "${dartVersion}-aarch64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; sha256 = dartHash.aarch64-linux; }; "${dartVersion}-x86_64-darwin" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; sha256 = dartHash.x86_64-darwin; }; "${dartVersion}-aarch64-darwin" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; sha256 = dartHash.aarch64-darwin; }; }; Loading Loading @@ -65,8 +66,12 @@ let patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); } // data)))) (builtins.readDir ./versions); stableFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "stable") flutterVersions; betaFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "beta") flutterVersions; in flutterVersions // { stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames flutterVersions))}; beta = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames betaFlutterVersions))}; stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames stableFlutterVersions))}; inherit wrapFlutter mkFlutter; } pkgs/development/compilers/flutter/flutter-tools.nix +18 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ , stdenv , systemPlatform , buildDartApplication , runCommand , git , which , dart Loading Loading @@ -54,5 +55,22 @@ buildDartApplication.override { inherit dart; } rec { popd ''; sdkSourceBuilders = { # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' for path in '${dart}/pkg/${name}'; do if [ -d "$path" ]; then ln -s "$path" "$out" break fi done if [ ! -e "$out" ]; then echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' exit 1 fi ''; }; inherit pubspecLock; } pkgs/development/compilers/flutter/flutter.nix +3 −2 Original line number Diff line number Diff line { version , engineVersion , patches , channel , dart , src , pubspecLock Loading Loading @@ -74,7 +75,7 @@ let "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", "flutterVersion": "${version}", "frameworkVersion": "${version}", "channel": "stable", "channel": "${channel}", "repositoryUrl": "https://github.com/flutter/flutter.git", "frameworkRevision": "nixpkgs000000000000000000000000000000000", "frameworkCommitDate": "1970-01-01 00:00:00", Loading Loading @@ -124,7 +125,7 @@ let ''; passthru = { inherit dart engineVersion artifactHashes; inherit dart engineVersion artifactHashes channel; tools = flutterTools; # The derivation containing the original Flutter SDK files. # When other derivations wrap this one, any unmodified files Loading pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in +5 −4 Original line number Diff line number Diff line let dartVersion = "@dart_version@"; platform = "@platform@"; channel = "@channel@"; in { x86_64-linux = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; aarch64-linux = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; x86_64-darwin = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; aarch64-darwin = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; }.${platform} Loading
pkgs/build-support/flutter/default.nix +14 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,20 @@ let exit 1 fi ''; # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' for path in '${flutter.dart}/pkg/${name}'; do if [ -d "$path" ]; then ln -s "$path" "$out" break fi done if [ ! -e "$out" ]; then echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' exit 1 fi ''; }; extraPackageConfigSetup = '' Loading
pkgs/development/compilers/flutter/default.nix +11 −6 Original line number Diff line number Diff line Loading @@ -14,28 +14,29 @@ let , patches , pubspecLock , artifactHashes , channel }: let args = { inherit version engineVersion patches pubspecLock artifactHashes; inherit version engineVersion patches pubspecLock artifactHashes channel; dart = dart.override { version = dartVersion; sources = { "${dartVersion}-x86_64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; sha256 = dartHash.x86_64-linux; }; "${dartVersion}-aarch64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; sha256 = dartHash.aarch64-linux; }; "${dartVersion}-x86_64-darwin" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; sha256 = dartHash.x86_64-darwin; }; "${dartVersion}-aarch64-darwin" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; sha256 = dartHash.aarch64-darwin; }; }; Loading Loading @@ -65,8 +66,12 @@ let patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); } // data)))) (builtins.readDir ./versions); stableFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "stable") flutterVersions; betaFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "beta") flutterVersions; in flutterVersions // { stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames flutterVersions))}; beta = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames betaFlutterVersions))}; stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames stableFlutterVersions))}; inherit wrapFlutter mkFlutter; }
pkgs/development/compilers/flutter/flutter-tools.nix +18 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ , stdenv , systemPlatform , buildDartApplication , runCommand , git , which , dart Loading Loading @@ -54,5 +55,22 @@ buildDartApplication.override { inherit dart; } rec { popd ''; sdkSourceBuilders = { # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' for path in '${dart}/pkg/${name}'; do if [ -d "$path" ]; then ln -s "$path" "$out" break fi done if [ ! -e "$out" ]; then echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' exit 1 fi ''; }; inherit pubspecLock; }
pkgs/development/compilers/flutter/flutter.nix +3 −2 Original line number Diff line number Diff line { version , engineVersion , patches , channel , dart , src , pubspecLock Loading Loading @@ -74,7 +75,7 @@ let "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", "flutterVersion": "${version}", "frameworkVersion": "${version}", "channel": "stable", "channel": "${channel}", "repositoryUrl": "https://github.com/flutter/flutter.git", "frameworkRevision": "nixpkgs000000000000000000000000000000000", "frameworkCommitDate": "1970-01-01 00:00:00", Loading Loading @@ -124,7 +125,7 @@ let ''; passthru = { inherit dart engineVersion artifactHashes; inherit dart engineVersion artifactHashes channel; tools = flutterTools; # The derivation containing the original Flutter SDK files. # When other derivations wrap this one, any unmodified files Loading
pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in +5 −4 Original line number Diff line number Diff line let dartVersion = "@dart_version@"; platform = "@platform@"; channel = "@channel@"; in { x86_64-linux = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; aarch64-linux = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; x86_64-darwin = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; aarch64-darwin = { fetchzip }: fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/${channel}/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; sha256 = "0000000000000000000000000000000000000000000000000000"; }; }.${platform}