Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

125 lines
2.6 KiB
Nix
Raw Permalink Normal View History

2025-07-01 19:53:50 +02:00
{
stdenv,
lib,
autoPatchelfHook,
buildFHSEnv,
dpkg,
fetchurl,
glib,
gst_all_1,
libGL,
libgudev,
libudev-zero,
libxcb,
libxkbfile,
libxml2,
libxslt,
openal,
qt6Packages,
wayland,
xcbutilimage,
xcbutilkeysyms,
xcbutilrenderutil,
xcbutilwm,
}:
let
version = "6.0.3";
build = "40736";
libxml2_13 = libxml2.overrideAttrs (oldAttrs: rec {
version = "2.13.8";
src = fetchurl {
url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz";
hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo=";
};
meta = oldAttrs.meta // {
knownVulnerabilities = oldAttrs.meta.knownVulnerabilities or [ ] ++ [
"CVE-2025-6021"
];
};
});
buildInputs = [
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libGL
libgudev
libudev-zero
libxcb
libxkbfile
libxml2_13
libxslt
openal
qt6Packages.qtbase
qt6Packages.qtquicktimeline
qt6Packages.qtwayland
qt6Packages.qtwebengine
qt6Packages.qtwebsockets
qt6Packages.qtwebview
wayland
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
];
meta = {
description = "Desktop Client for Nx Witness Video Systems";
homepage = "https://nxvms.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ netali ];
platforms = [ "x86_64-linux" ];
};
nxwitness_client = stdenv.mkDerivation (finalAttrs: {
inherit buildInputs meta;
pname = "nxwitness-client";
version = "${version}.${build}";
src = fetchurl {
url = "https://updates.networkoptix.com/default/${build}/linux/nxwitness-client-${finalAttrs.version}-linux_x64.deb";
hash = "sha256-flOTNKklovpvtFDWE64clL3Jk1cmT4SVgs1NQZZaXpc=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
dontUnpack = true;
dontWrapQtApps = true;
installPhase = ''
dpkg -x $src $out
rm -r $out/usr
mv $out/opt/networkoptix/client/${finalAttrs.version}/* $out/
rm -r $out/opt
# remove as many vendored libs as we can
rm $out/lib/libgst*
rm $out/lib/libxkb*
rm $out/lib/libxcb*
rm $out/lib/libhidapi*
rm $out/lib/libopenal*
rm $out/lib/libXss*
rm -r $out/lib/stdcpp
rm -r $out/lib/opengl
rm -r $out/lib/libva-drivers
'';
});
in
# only runs in an FHS env for some reason
buildFHSEnv {
inherit (nxwitness_client) pname version meta;
targetPkgs = (
pkgs:
[
nxwitness_client
]
++ buildInputs
);
runScript = "nxwitness_client";
}