diff options
Diffstat (limited to 'pkgs/by-name/ad/adminerevo/package.nix')
-rw-r--r-- | pkgs/by-name/ad/adminerevo/package.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/by-name/ad/adminerevo/package.nix b/pkgs/by-name/ad/adminerevo/package.nix new file mode 100644 index 0000000000000..398d007671002 --- /dev/null +++ b/pkgs/by-name/ad/adminerevo/package.nix @@ -0,0 +1,73 @@ +{ lib +, pkgs +, stdenvNoCC +, fetchFromGitHub +, php +, nix-update-script +, theme ? null +, plugins ? [] +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + version = "4.8.4"; + pname = "adminerevo"; + + src = fetchFromGitHub { + owner = "adminerevo"; + repo = "adminerevo"; + rev = "v${finalAttrs.version}"; + hash = "sha256-cyKSwzoVbS/0Fiv02kFIF4MTOqzpKSEFwwUwS4yqL6Q="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + php + ]; + + buildPhase = '' + runHook preBuild + + php compile.php + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir $out + cp adminer-${finalAttrs.version}.php $out/adminer.php + cp ${./index.php} $out/index.php + + ${lib.optionalString (theme != null) '' + cp designs/${theme}/adminer.css $out/adminer.css + ''} + + # Copy base plugin + mkdir -p $out/plugins + cp plugins/plugin.php $out/plugins/plugin.php + + ${lib.optionalString (plugins != []) '' + cp plugins/*.php $out/plugins/ + cp ${pkgs.writeText "$out/plugins.json" '' + ${toString (builtins.toJSON plugins)} + ''} $out/plugins.json + ''} + + runHook postInstall + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "Database management in a single PHP file"; + homepage = "https://docs.adminerevo.org"; + license = with licenses; [ asl20 gpl2Only ]; + maintainers = with maintainers; [ + shyim + ]; + platforms = platforms.all; + }; +}) |