Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 jdk, 6 jre, 7 makeBinaryWrapper, 8 runCommand, 9 python3Packages, 10 writeText, 11}: 12 13stdenv.mkDerivation (finalAttrs: { 14 pname = "elasticmq-server"; 15 version = "1.6.12"; 16 17 src = fetchurl { 18 url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-${finalAttrs.version}.jar"; 19 sha256 = "sha256-1zfsH82BCMBDW5+rXMgsC4p6Sfugak5W7d8z1xMXG9c="; 20 }; 21 22 # don't do anything? 23 unpackPhase = "${jdk}/bin/jar xf $src favicon.png"; 24 25 nativeBuildInputs = [ makeBinaryWrapper ]; 26 27 installPhase = '' 28 mkdir -p $out/bin $out/share/elasticmq-server 29 30 cp $src $out/share/elasticmq-server/elasticmq-server.jar 31 32 # TODO: how to add extraArgs? current workaround is to use JAVA_TOOL_OPTIONS environment to specify properties 33 makeWrapper ${jre}/bin/java $out/bin/elasticmq-server \ 34 --add-flags "-jar $out/share/elasticmq-server/elasticmq-server.jar" 35 ''; 36 37 passthru.tests.elasticmqTest = import ./elasticmq-test.nix { 38 inherit runCommand python3Packages writeText; 39 elasticmq-server = finalAttrs.finalPackage; 40 }; 41 42 meta = with lib; { 43 description = "Message queueing system with Java, Scala and Amazon SQS-compatible interfaces"; 44 homepage = "https://github.com/softwaremill/elasticmq"; 45 changelog = "https://github.com/softwaremill/elasticmq/releases/tag/v${finalAttrs.version}"; 46 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 47 license = licenses.asl20; 48 platforms = platforms.unix; 49 maintainers = with maintainers; [ peterromfeldhk ]; 50 mainProgram = "elasticmq-server"; 51 }; 52})