pufferpanel: init at 2.2.0 (#128243)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
parent
0293e3e473
commit
b2be8c5b3a
59
pkgs/servers/pufferpanel/default.nix
Normal file
59
pkgs/servers/pufferpanel/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, pkgs
|
||||
, stdenv
|
||||
, fetchzip
|
||||
, openjdk16
|
||||
, nodejs
|
||||
, pathDeps ? [ ]
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pufferpanel";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pufferpanel";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1ifig8ckjlg47wj0lfk4q941dan7llb1i5l76akcpjq726b2j8lh";
|
||||
};
|
||||
|
||||
# PufferPanel is split into two parts: the backend daemon and the
|
||||
# frontend.
|
||||
# Getting the frontend to build in the Nix environment fails even
|
||||
# with all the proper node_modules populated. To work around this,
|
||||
# we just download the built frontend and package that.
|
||||
frontend = fetchzip {
|
||||
url = "https://github.com/PufferPanel/PufferPanel/releases/download/v${version}/pufferpanel_${version}_linux_arm64.zip";
|
||||
sha256 = "0phbf4asr0dns7if84crx05kfgr44yaxrbsbihdywbhh2mb16052";
|
||||
stripRoot = false;
|
||||
} + "/www";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
vendorSha256 = "061l1sy0z3kd7rc2blqh333gy66nbadfxy9hyxgq07dszds4byys";
|
||||
|
||||
postFixup = ''
|
||||
mkdir -p $out/share/pufferpanel
|
||||
cp -r ${src}/assets/email $out/share/pufferpanel/templates
|
||||
cp -r ${frontend} $out/share/pufferpanel/www
|
||||
|
||||
# Wrap the binary with the path to the external files.
|
||||
mv $out/bin/cmd $out/bin/pufferpanel
|
||||
wrapProgram "$out/bin/pufferpanel" \
|
||||
--set PUFFER_PANEL_EMAIL_TEMPLATES $out/share/pufferpanel/templates/emails.json \
|
||||
--set GIN_MODE release \
|
||||
--set PUFFER_PANEL_WEB_FILES $out/share/pufferpanel/www \
|
||||
--prefix PATH : ${lib.makeBinPath pathDeps}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free, open source game management panel";
|
||||
homepage = "https://www.pufferpanel.com/";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ ronthecookie ];
|
||||
};
|
||||
}
|
@ -17836,6 +17836,8 @@ in
|
||||
|
||||
pstreams = callPackage ../development/libraries/pstreams {};
|
||||
|
||||
pufferpanel = callPackage ../servers/pufferpanel { };
|
||||
|
||||
pugixml = callPackage ../development/libraries/pugixml { };
|
||||
|
||||
pylode = callPackage ../misc/pylode {};
|
||||
|
Loading…
Reference in New Issue
Block a user