Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles }:
2
3stdenv.mkDerivation rec {
4 pname = "micronaut";
5 version = "4.5.1";
6
7 src = fetchzip {
8 url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
9 sha256 = "sha256-7l/SMJ+sTfz7/73ufQIB3q607yBHkUkHcFo9OkmCiwo=";
10 };
11
12 nativeBuildInputs = [ makeWrapper installShellFiles ];
13
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 '';
23
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 };
40}