pub2nix.generators.linkPackageConfig: set languageVersion for root package
This commit is contained in:
		
							parent
							
								
									fa50093d3b
								
							
						
					
					
						commit
						cf57cdeb3b
					
				| @ -101,6 +101,7 @@ let | ||||
|     } // sdkSourceBuilders; | ||||
|   }; | ||||
|   packageConfig = generators.linkPackageConfig { | ||||
|     inherit pubspecLock; | ||||
|     packageConfig = pub2nix.generatePackageConfig { | ||||
|       pname = if args.pname != null then "${args.pname}-${args.version}" else null; | ||||
| 
 | ||||
|  | ||||
| @ -49,6 +49,7 @@ let | ||||
|   # Adds the root package to a dependency package_config.json file from pub2nix. | ||||
|   linkPackageConfig = | ||||
|     { | ||||
|       pubspecLock, | ||||
|       packageConfig, | ||||
|       extraSetupCommands ? "", | ||||
|     }: | ||||
| @ -67,15 +68,27 @@ let | ||||
| 
 | ||||
|         dontBuild = true; | ||||
| 
 | ||||
|         installPhase = '' | ||||
|           runHook preInstall | ||||
|         installPhase = | ||||
|           let | ||||
|             m = builtins.match "^[[:space:]]*(\\^|>=|>)?[[:space:]]*([0-9]+\\.[0-9]+)\\.[0-9]+.*$" pubspecLock.sdks.dart; | ||||
|             languageVersion = | ||||
|               if m != null then | ||||
|                 (builtins.elemAt m 1) | ||||
|               else if pubspecLock.sdks.dart == "any" then | ||||
|                 "null" | ||||
|               else | ||||
|                 # https://github.com/dart-lang/pub/blob/15b96589066884300a30bdc356566f3398794857/lib/src/language_version.dart#L109 | ||||
|                 "2.7"; | ||||
|           in | ||||
|           '' | ||||
|             runHook preInstall | ||||
| 
 | ||||
|           packageName="$(yq --raw-output .name pubspec.yaml)" | ||||
|           jq --arg name "$packageName" '.packages |= . + [{ name: $name, rootUri: "../", packageUri: "lib/" }]' '${packageConfig}' > "$out" | ||||
|           ${extraSetupCommands} | ||||
|             packageName="$(yq --raw-output .name pubspec.yaml)" | ||||
|             jq --arg name "$packageName" --arg languageVersion ${languageVersion} '.packages |= . + [{ name: $name, rootUri: "../", packageUri: "lib/", languageVersion: (if $languageVersion == "null" then null else $languageVersion end) }]' '${packageConfig}' > "$out" | ||||
|             ${extraSetupCommands} | ||||
| 
 | ||||
|           runHook postInstall | ||||
|         ''; | ||||
|             runHook postInstall | ||||
|           ''; | ||||
|       } | ||||
|     ); | ||||
| in | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 emaryn
						emaryn