nimPackages.buildNimPackage: move to top-level

+17 -8
+11 -5
pkgs/development/nim-packages/build-nim-package/default.nix pkgs/development/compilers/nim/build-nim-package.nix
··· 1 - { lib, stdenv, nim, nim_builder }: 1 + { lib, stdenv, nim1, nim2, nim_builder, defaultNimVersion ? 2 }: 2 2 pkgArgs: 3 3 4 4 let ··· 27 27 nim_builder --phase:install 28 28 runHook postInstall 29 29 ''; 30 - meta = { inherit (nim.meta) maintainers platforms; }; 30 + meta = { inherit (nim2.meta) maintainers platforms; }; 31 31 }; 32 32 33 - inputsOverride = 34 - { depsBuildBuild ? [ ], nativeBuildInputs ? [ ], ... }: { 33 + inputsOverride = { depsBuildBuild ? [ ], nativeBuildInputs ? [ ] 34 + , requiredNimVersion ? defaultNimVersion, ... }: 35 + (if requiredNimVersion == 1 then { 36 + nativeBuildInputs = [ nim1 ] ++ nativeBuildInputs; 37 + } else if requiredNimVersion == 2 then { 38 + nativeBuildInputs = [ nim2 ] ++ nativeBuildInputs; 39 + } else 40 + throw "requiredNimVersion ${toString requiredNimVersion} is not valid") 41 + // { 35 42 depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; 36 - nativeBuildInputs = [ nim ] ++ nativeBuildInputs; 37 43 }; 38 44 39 45 composition = finalAttrs:
+1
pkgs/top-level/all-packages.nix
··· 16810 16810 nim = nim1; 16811 16811 nimPackages = recurseIntoAttrs nim1.pkgs; 16812 16812 nim2Packages = recurseIntoAttrs nim2.pkgs; 16813 + buildNimPackage = callPackage ../development/compilers/nim/build-nim-package.nix { }; 16813 16814 16814 16815 nrpl = callPackage ../development/tools/nrpl { }; 16815 16816
+5 -3
pkgs/top-level/nim-packages.nix
··· 1 - { lib, pkgs, stdenv, newScope, nim, fetchFromGitHub }: 1 + { lib, pkgs, stdenv, newScope, nim, buildNimPackage }: 2 2 3 3 lib.makeScope newScope (self: 4 4 let callPackage = self.callPackage; 5 5 in { 6 6 inherit nim; 7 - buildNimPackage = 8 - callPackage ../development/nim-packages/build-nim-package { }; 7 + buildNimPackage = buildNimPackage.override { 8 + defaultNimVersion = 9 + if lib.versionAtLeast nim.version "2.0.0" then 2 else 1; 10 + }; 9 11 10 12 asciigraph = callPackage ../development/nim-packages/asciigraph { }; 11 13