lol
1{ lib, stdenv, fetchurl, makeWrapper, openjdk11_headless, openjdk17_headless, systemd, nixosTests}:
2
3{ version, sha256, maintainers, license }:
4stdenv.mkDerivation rec {
5 pname = "graylog_${lib.versions.majorMinor version}";
6 inherit version;
7
8 src = fetchurl {
9 url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
10 inherit sha256;
11 };
12
13 dontBuild = true;
14
15 nativeBuildInputs = [ makeWrapper ];
16 makeWrapperArgs = [
17 "--set-default" "JAVA_HOME" "${if (lib.versionAtLeast version "5.0") then openjdk17_headless else openjdk11_headless}"
18 "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd ]}"
19 ];
20
21 passthru.tests = { inherit (nixosTests) graylog; };
22
23 installPhase = ''
24 mkdir -p $out
25 cp -r {graylog.jar,bin,plugin} $out
26 '' + lib.optionalString (lib.versionOlder version "4.3") ''
27 cp -r lib $out
28 '' + ''
29 wrapProgram $out/bin/graylogctl $makeWrapperArgs
30 '';
31
32 meta = with lib; {
33 description = "Open source log management solution";
34 homepage = "https://www.graylog.org/";
35 sourceProvenance = with sourceTypes; [ binaryBytecode ];
36 inherit license;
37 inherit maintainers;
38 mainProgram = "graylogctl";
39 platforms = platforms.unix;
40 };
41}