biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / nailgun / default.nix
blob6c71e374ffc7b10a40a43fe397c194e5967f2e5f
1 { lib, stdenv, stdenvNoCC, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper, symlinkJoin }:
3 let
4   version = "1.0.0";
5   nailgun-server = fetchMavenArtifact {
6     groupId = "com.facebook";
7     artifactId = "nailgun-server";
8     inherit version;
9     sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95";
10   };
12   commonMeta = {
13     license = lib.licenses.asl20;
14     homepage = "https://www.martiansoftware.com/nailgun/";
15     platforms = lib.platforms.linux;
16     maintainers = with lib.maintainers; [ ];
17   };
19   server = stdenvNoCC.mkDerivation {
20     pname = "nailgun-server";
21     inherit version;
23     nativeBuildInputs = [ makeWrapper ];
25     dontUnpack = true;
26     installPhase = ''
27       runHook preInstall
29       makeWrapper ${jre}/bin/java $out/bin/ng-server \
30         --add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer'
32       runHook postInstall
33     '';
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 ];
38     };
39   };
41   client = stdenv.mkDerivation {
42     pname = "nailgun-client";
43     inherit version;
45     src = fetchFromGitHub {
46       owner = "facebook";
47       repo = "nailgun";
48       rev = "nailgun-all-v${version}";
49       sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6";
50     };
52     makeFlags = [ "PREFIX=$(out)" ];
54     meta = commonMeta // {
55       description = "Client for running Java programs from the command line without incurring the JVM startup overhead";
56     };
57   };
59 symlinkJoin rec {
60   pname = "nailgun";
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";
68   };