From 52eab37679574d8a725b032c3efdcb8ccd828df7 Mon Sep 17 00:00:00 2001 From: "sharath.v" Date: Wed, 13 Mar 2024 23:20:52 +0530 Subject: [PATCH] druid: init at 30.0.0 --- pkgs/by-name/dr/druid/package.nix | 78 +++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 pkgs/by-name/dr/druid/package.nix diff --git a/pkgs/by-name/dr/druid/package.nix b/pkgs/by-name/dr/druid/package.nix new file mode 100644 index 000000000000..b51e4f5da763 --- /dev/null +++ b/pkgs/by-name/dr/druid/package.nix @@ -0,0 +1,78 @@ +{ + lib, + stdenv, + fetchurl, + extensions ? { }, + libJars ? [ ], + nixosTests, + mysqlSupport ? true, +}: +let + inherit (lib) + concatStringsSep + licenses + maintainers + mapAttrsToList + optionalString + forEach + ; +in +stdenv.mkDerivation (finalAttrs: { + pname = "apache-druid"; + version = "30.0.0"; + + src = fetchurl { + url = "mirror://apache/druid/${finalAttrs.version}/apache-druid-${finalAttrs.version}-bin.tar.gz"; + hash = "sha256-mRYorVkNzM94LP53G78eW20N5UsvMP7Lv4rAysmPwXw="; + }; + + mysqlConnector = fetchurl { + url = "https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/mysql-connector-java-5.1.48.jar"; + hash = "sha256-VuJsqqOCH1rkr0T5x09mz4uE6gFRatOAPLsOkEm27Kg="; + }; + + dontBuild = true; + + loadExtensions = ( + concatStringsSep "\n" ( + mapAttrsToList ( + dir: files: + '' + if ! test -d $out/extensions/${dir}; then + mkdir $out/extensions/${dir}; + fi + '' + + concatStringsSep "\n" ( + forEach files (file: '' + if test -d ${file} ; then + cp ${file}/* $out/extensions/${dir}/ + else + cp ${file} $out/extensions/${dir}/ + fi + '') + ) + ) extensions + ) + ); + + loadJars = concatStringsSep "\n" (forEach libJars (jar: "cp ${jar} $out/lib/")); + + installPhase = '' + runHook preInstall + mkdir $out + mv * $out + ${optionalString mysqlSupport "cp ${finalAttrs.mysqlConnector} $out/extensions/mysql-metadata-storage"} + ${finalAttrs.loadExtensions} + ${finalAttrs.loadJars} + runHook postInstall + ''; + + meta = { + description = "Apache Druid: a high performance real-time analytics database"; + homepage = "https://github.com/apache/druid"; + license = licenses.asl20; + maintainers = with maintainers; [ vsharathchandra ]; + mainProgram = "druid"; + }; + +})