add omada
This commit is contained in:
59
utils/pkgs/omada.nix
Normal file
59
utils/pkgs/omada.nix
Normal 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" ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user