Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 59 lines 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 makeWrapper, 6 openjdk11_headless, 7 openjdk17_headless, 8 systemd, 9 nixosTests, 10}: 11 12{ 13 version, 14 hash, 15 maintainers, 16 license, 17}: 18stdenv.mkDerivation rec { 19 pname = "graylog_${lib.versions.majorMinor version}"; 20 inherit version; 21 22 src = fetchurl { 23 url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz"; 24 inherit hash; 25 }; 26 27 dontBuild = true; 28 29 nativeBuildInputs = [ makeWrapper ]; 30 makeWrapperArgs = [ 31 "--set-default" 32 "JAVA_HOME" 33 "${if (lib.versionAtLeast version "5.0") then openjdk17_headless else openjdk11_headless}" 34 "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd ]}" 35 ]; 36 37 passthru.tests = { inherit (nixosTests) graylog; }; 38 39 installPhase = '' 40 mkdir -p $out 41 cp -r {graylog.jar,bin,plugin} $out 42 '' 43 + lib.optionalString (lib.versionOlder version "4.3") '' 44 cp -r lib $out 45 '' 46 + '' 47 wrapProgram $out/bin/graylogctl $makeWrapperArgs 48 ''; 49 50 meta = with lib; { 51 description = "Open source log management solution"; 52 homepage = "https://www.graylog.org/"; 53 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 54 inherit license; 55 inherit maintainers; 56 mainProgram = "graylogctl"; 57 platforms = platforms.unix; 58 }; 59}