Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / micronaut / default.nix
blob70ebddff118a540ce1fc37e293d656c16e82f332
1 { lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles }:
3 stdenv.mkDerivation rec {
4   pname = "micronaut";
5   version = "4.1.3";
7   src = fetchzip {
8     url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
9     sha256 = "sha256-9d46sXrG9tYhtAoIGzy7JYnt+wfS4vtGu81MS4W9c1s=";
10   };
12   nativeBuildInputs = [ makeWrapper installShellFiles ];
14   installPhase = ''
15     runHook preInstall
16     rm bin/mn.bat
17     cp -r . $out
18     wrapProgram $out/bin/mn \
19       --prefix JAVA_HOME : ${jdk}
20     installShellCompletion --bash --name mn.bash bin/mn_completion
21     runHook postInstall
22   '';
24   meta = with lib; {
25     description = "Modern, JVM-based, full-stack framework for building microservice applications";
26     longDescription = ''
27       Micronaut is a modern, JVM-based, full stack microservices framework
28       designed for building modular, easily testable microservice applications.
29       Reflection-based IoC frameworks load and cache reflection data for
30       every single field, method, and constructor in your code, whereas with
31       Micronaut, your application startup time and memory consumption are
32       not bound to the size of your codebase.
33     '';
34     homepage = "https://micronaut.io/";
35     license = licenses.asl20;
36     platforms = platforms.all;
37     maintainers = with maintainers; [ moaxcp ];
38     mainProgram = "mn";
39   };