diff --git a/pkgs/development/tools/nimble/default.nix b/pkgs/development/tools/nimble/default.nix new file mode 100644 index 00000000000..10a19d9e096 --- /dev/null +++ b/pkgs/development/tools/nimble/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, nim }: + +let + srcs = { + nimble = fetchFromGitHub { + owner = "nim-lang"; + repo = "nimble"; + rev = "v0.7.2"; + sha256 = "0j9b519cv91xwn6k0alynakh7grbq4m6yy5bdwdrqmc7lag35r0i"; + }; + nim = fetchFromGitHub { + owner = "nim-lang"; + repo = "nim"; + rev = "v0.13.0"; + sha256 = "14grhkwdva4wmvihm1413ly86sf0qk96bd473pvsbgkp46cg8rii"; + }; + }; +in +stdenv.mkDerivation rec { + name = "nimble-${version}"; + version = "0.7.2"; + + src = srcs.nimble; + + buildInputs = [ nim ]; + + postUnpack = '' + mkdir -p $sourceRoot/vendor + ln -s ${srcs.nim} $sourceRoot/vendor/nim + ''; + buildPhase = '' + nim c src/nimble + ''; + installPhase = "installBin src/nimble"; + + meta = with stdenv.lib; { + description = "Package manager for the Nim programming language"; + homepage = https://github.com/nim-lang/nimble; + license = licenses.bsd2; + maintainers = with maintainers; [ kamilchm ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8390ee8fb5..18cfb42324b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4548,6 +4548,7 @@ let mozart = mozart-binary; nim = callPackage ../development/compilers/nim { }; + nimble = callPackage ../development/tools/nimble { }; neko = callPackage ../development/compilers/neko { };