add omada

This commit is contained in:
2023-12-04 17:49:43 +01:00
parent 2a5c40103a
commit 7b50808621
4 changed files with 95 additions and 0 deletions

59
utils/pkgs/omada.nix Normal file
View File

@@ -0,0 +1,59 @@
{ stdenv
, lib
, fetchurl
, dpkg
, libredirect
, makeWrapper
, busybox
, jsvc
, mongodb
, jre8_headless
}:
stdenv.mkDerivation rec {
pname = "omada-sdn";
version = "5.13.22";
src = fetchurl {
url = "https://static.tp-link.com/upload/software/2023/202312/20231201/Omada_SDN_Controller_v${version}_Linux_x64.deb";
sha256 = "sha256-/Sh/LztaBytiw3j54e7uqizK0iu0jLOB0w2MhVxRtAE=";
};
nativeBuildInputs = [ dpkg makeWrapper ];
unpackPhase = ''
runHook preUnpack
dpkg -x $src ./src
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p "$out"
cp -r src/* "$out"
mv "$out/usr/"* "$out/"
rmdir "$out/usr"
for f in "$out/lib/systemd/system/"*.service; do
substituteInPlace "$f" \
--replace "/usr/" "$out/"
done
for p in "$out/bin/"*; do
wrapProgram "$p" \
--set NIX_REDIRECTS "/usr/share=$out/share:/usr/bin=$out/bin" \
--prefix PATH : "${lib.makeBinPath [ busybox jsvc mongodb jre8_headless ]}"
done
runHook postInstall
'';
meta = with lib; {
description = "Omada SDN Controller Software";
platforms = with platforms; [ "x86_64-linux" ];
};
}