1 { lib, stdenv, stdenvNoCC, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper, symlinkJoin }:
5 nailgun-server = fetchMavenArtifact {
6 groupId = "com.facebook";
7 artifactId = "nailgun-server";
9 sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95";
13 license = lib.licenses.asl20;
14 homepage = "https://www.martiansoftware.com/nailgun/";
15 platforms = lib.platforms.linux;
16 maintainers = with lib.maintainers; [ ];
19 server = stdenvNoCC.mkDerivation {
20 pname = "nailgun-server";
23 nativeBuildInputs = [ makeWrapper ];
29 makeWrapper ${jre}/bin/java $out/bin/ng-server \
30 --add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer'
35 meta = commonMeta // {
36 description = "Server for running Java programs from the command line without incurring the JVM startup overhead";
37 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
41 client = stdenv.mkDerivation {
42 pname = "nailgun-client";
45 src = fetchFromGitHub {
48 rev = "nailgun-all-v${version}";
49 sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6";
52 makeFlags = [ "PREFIX=$(out)" ];
54 meta = commonMeta // {
55 description = "Client for running Java programs from the command line without incurring the JVM startup overhead";
61 inherit client server version;
63 name = "${pname}-${version}";
64 paths = [ client server ];
66 meta = commonMeta // {
67 description = "Client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead";