47 lines
1.2 KiB
Nix
47 lines
1.2 KiB
Nix
|
{ stdenv
|
||
|
, fetchurl
|
||
|
, autoPatchelfHook
|
||
|
, rpmextract
|
||
|
, libX11
|
||
|
, libXext
|
||
|
, pname
|
||
|
, version
|
||
|
, meta
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation (finalAttrs: {
|
||
|
inherit pname version;
|
||
|
|
||
|
src = {
|
||
|
"x86_64-linux" = fetchurl rec {
|
||
|
name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm";
|
||
|
url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
|
||
|
hash = "sha256-fwMfQdOyLnYVfdBj80JHWT+CnKpq/9oM5oNF3aP+jgo=";
|
||
|
};
|
||
|
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||
|
|
||
|
nativeBuildInputs = [ autoPatchelfHook rpmextract ];
|
||
|
buildInputs = [ libX11 libXext stdenv.cc.cc.libgcc or null ];
|
||
|
|
||
|
unpackPhase = ''
|
||
|
rpmextract $src
|
||
|
'';
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace ./usr/share/applications/realvnc-vncviewer.desktop \
|
||
|
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
|
||
|
substituteInPlace ./usr/share/mimelnk/application/realvnc-vncviewer-mime.desktop \
|
||
|
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
mv usr $out
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
meta = meta // { mainProgram = "vncviewer"; };
|
||
|
})
|