diff --git a/pkgs/build-support/build-nim-package.nix b/pkgs/build-support/build-nim-package.nix index f5e093019935..f953c108fd85 100644 --- a/pkgs/build-support/build-nim-package.nix +++ b/pkgs/build-support/build-nim-package.nix @@ -5,7 +5,6 @@ stdenv, nim, nim_builder, - defaultNimVersion ? 2, nimOverrides, buildNimPackage, }: @@ -16,6 +15,7 @@ let enableParallelBuilding = true; __structuredAttrs = true; doCheck = true; + configurePhase = '' runHook preConfigure export NIX_NIM_BUILD_INPUTS=''${pkgsHostTarget[@]} $NIX_NIM_BUILD_INPUTS @@ -107,25 +107,34 @@ let finalOverride = { - depsBuildBuild ? [ ], - nativeBuildInputs ? [ ], nimFlags ? [ ], - requiredNimVersion ? defaultNimVersion, passthru ? { }, + nativeBuildInputs ? [ ], + depsBuildBuild ? [ ], ... - }: + }@args: ( - if requiredNimVersion == 2 then - { - depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; - nativeBuildInputs = [ nim ] ++ nativeBuildInputs; - } + #TODO: Remove at 26.11 + if args ? requiredNimVersion then + if args.requiredNimVersion == 2 then + lib.warn '' + `requiredNimVersion' is deprecated and will be removed in nixpkgs 26.11. + Please update your package to remove this. + '' + else + throw '' + `requiredNimVersion' ${toString args.requiredNimVersion} is not supported. + Ensure your package supports nim 2, and remove `requiredNimVersion'. + '' else - throw "requiredNimVersion ${toString requiredNimVersion} is not valid" + { } ) // { + nativeBuildInputs = [ nim ] ++ nativeBuildInputs; + depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; nimFlags = lockFileNimFlags ++ nimFlags; passthru = passthru // { + # allow overriding the result of buildNimPackageArgs before this composition is applied # this allows overriding the lockFile for packages built using buildNimPackage # this is adapted from mkDerivationExtensible in stdenv.mkDerivation