From e0e8486a067080a42435c82b007a95e2f9601d88 Mon Sep 17 00:00:00 2001 From: scalavision Date: Mon, 3 Dec 2018 05:15:52 +0100 Subject: [PATCH] mill-bin: init at 0.3.5 --- maintainers/maintainer-list.nix | 5 +++ .../tools/build-managers/mill/default.nix | 40 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 47 insertions(+) create mode 100644 pkgs/development/tools/build-managers/mill/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6c6a57d341f..f49a1d38bd9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4937,4 +4937,9 @@ github = "mredaelli"; name = "Massimo Redaelli"; }; + scalavision = { + email = "scalavision@gmail.com"; + github = "scalavision"; + name = "Tom Sorlie"; + }; } diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix new file mode 100644 index 00000000000..73a9f745545 --- /dev/null +++ b/pkgs/development/tools/build-managers/mill/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, jre, makeWrapper }: +stdenv.mkDerivation rec { + name = "mill-${version}"; + version = "0.3.5"; + + src = fetchurl { + url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}"; + sha256 = "19ka81f6vjr85gd8cadn0fv0i0qcdspx2skslfksklxdxs2gasf8"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + unpackPhase = "true"; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + install -Dm555 "$src" "$out/bin/.mill-wrapped" + # can't use wrapProgram because it sets --argv0 + makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" --prefix PATH : ${stdenv.lib.makeBinPath [ jre ]} + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://www.lihaoyi.com/mill; + license = licenses.mit; + description = "A build tool for Scala, Java and more"; + longDescription = '' + Mill is a build tool borrowing ideas from modern tools like Bazel, to let you build + your projects in a way that's simple, fast, and predictable. Mill has built in + support for the Scala programming language, and can serve as a replacement for + SBT, but can also be extended to support any other language or platform via + modules (written in Java or Scala) or through an external subprocesses. + ''; + maintainers = with maintainers; [ scalavision ]; + platforms = stdenv.lib.platforms.all; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e52ed542982..d0c0cddad5d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8926,6 +8926,8 @@ with pkgs; scons = sconsPackages.scons_3_0_1; scons_2_5_1 = sconsPackages.scons_2_5_1; + mill = callPackage ../development/tools/build-managers/mill { }; + sbt = callPackage ../development/tools/build-managers/sbt { }; sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { }; simpleBuildTool = sbt;