diff --git a/pkgs/by-name/re/reposilite/package.nix b/pkgs/by-name/re/reposilite/package.nix index 426da3db55eb..15ff73caa47a 100644 --- a/pkgs/by-name/re/reposilite/package.nix +++ b/pkgs/by-name/re/reposilite/package.nix @@ -1,11 +1,20 @@ { - stdenv, lib, + stdenv, fetchurl, - makeWrapper, jre_headless, + linkFarm, + makeWrapper, + plugins ? [ ], }: - +let + pluginsDir = linkFarm "reposilite-plugins" ( + builtins.map (p: { + name = (builtins.parseDrvName p.name).name + ".jar"; + path = p.outPath or p; + }) plugins + ); +in stdenv.mkDerivation (finalAttrs: { pname = "Reposilite"; version = "3.5.20"; @@ -25,7 +34,9 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/lib cp $src $out/lib/reposilite makeWrapper ${jre_headless}/bin/java $out/bin/reposilite \ - --add-flags "-Xmx40m -jar $out/lib/reposilite" + --add-flags "-Xmx40m -jar $out/lib/reposilite ${ + lib.optionalString (plugins != [ ]) "--plugin-directory ${pluginsDir}" + }" runHook postInstall ''; @@ -35,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/dzikoysk/reposilite"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ jamalam ]; + maintainers = with lib.maintainers; [ + jamalam + uku3lig + ]; inherit (jre_headless.meta) platforms; mainProgram = "reposilite"; };