mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-31 22:51:22 +00:00
realvnc-vnc-viewer: support darwin
This commit is contained in:
parent
5cbff28ae6
commit
f46093d1c7
28
pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix
Normal file
28
pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, undmg
|
||||
, pname
|
||||
, version
|
||||
, meta
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname version meta;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg";
|
||||
sha256 = "0k72fdnx1zmyi9z5n3lazc7s70gcddxq0s73akp0al0y9hzq9prh";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
cp -r *.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
})
|
@ -1,49 +1,14 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, rpmextract
|
||||
, libX11
|
||||
, libXext
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pname = "realvnc-vnc-viewer";
|
||||
version = "7.5.1";
|
||||
|
||||
src = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
|
||||
sha256 = "sha256-Ull9iNi8NxB12YwEThWE0P9k1xOV2LZnebuRrVH/zwI=";
|
||||
};
|
||||
}.${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 = with lib; {
|
||||
description = "VNC remote desktop client software by RealVNC";
|
||||
homepage = "https://www.realvnc.com/en/connect/download/viewer/";
|
||||
mainProgram = "vncviewer";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = {
|
||||
fullName = "VNC Connect End User License Agreement";
|
||||
@ -51,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
free = false;
|
||||
};
|
||||
maintainers = with maintainers; [ emilytrau onedragon ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" ] ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
in
|
||||
if stdenv.isDarwin then callPackage ./darwin.nix { inherit pname version meta; }
|
||||
else callPackage ./linux.nix { inherit pname version meta; }
|
||||
|
46
pkgs/tools/admin/realvnc-vnc-viewer/linux.nix
Normal file
46
pkgs/tools/admin/realvnc-vnc-viewer/linux.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, rpmextract
|
||||
, libX11
|
||||
, libXext
|
||||
, pname
|
||||
, version
|
||||
, meta
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname version;
|
||||
|
||||
src = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm";
|
||||
sha256 = "sha256-Ull9iNi8NxB12YwEThWE0P9k1xOV2LZnebuRrVH/zwI=";
|
||||
};
|
||||
}.${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"; };
|
||||
})
|
Loading…
Reference in New Issue
Block a user