Merge pull request #279906 from buckley310/2024-01-09-vmware

vmware-horizon-client: 2306 -> 2309.1
This commit is contained in:
Florian Klink 2024-01-22 13:28:17 +02:00 committed by GitHub
commit 17ee917fed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,6 +1,7 @@
{ stdenv
, lib
, buildFHSEnvChroot
, copyDesktopItems
, fetchurl
, gsettings-desktop-schemas
, makeDesktopItem
@ -10,7 +11,7 @@
, configText ? ""
}:
let
version = "2306";
version = "2309.1";
sysArch =
if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
@ -19,17 +20,13 @@ let
# For USB support, ensure that /var/run/vmware/<YOUR-UID>
# exists and is owned by you. Then run vmware-usbarbitrator as root.
bins = [
"vmware-view"
"vmware-usbarbitrator"
];
mainProgram = "vmware-view";
# This forces the default GTK theme (Adwaita) because Horizon is prone to
# UI usability issues when using non-default themes, such as Adwaita-dark.
wrapBinCommands = name: ''
makeWrapper "$out/bin/${name}" "$out/bin/${name}_wrapper" \
wrapBinCommands = path: name: ''
makeWrapper "$out/${path}/${name}" "$out/bin/${name}_wrapper" \
--set GTK_THEME Adwaita \
--suffix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
--suffix LD_LIBRARY_PATH : "$out/lib/vmware/view/crtbora:$out/lib/vmware"
@ -39,8 +36,8 @@ let
pname = "vmware-horizon-files";
inherit version;
src = fetchurl {
url = "https://download3.vmware.com/software/CART24FQ2_LIN_2306_TARBALL/VMware-Horizon-Client-Linux-2306-8.10.0-21964631.tar.gz";
sha256 = "6051f6f1617385b3c211b73ff42dad27e2d22362df6ffd2f3d9f559d0b5743ea";
url = "https://download3.vmware.com/software/CART24FQ4_LIN_2309.1_TARBALL/VMware-Horizon-Client-Linux-2309.1-8.11.1-22775487.tar.gz";
sha256 = "3f66d21c0e97324d1cb85ac75132a69768e8e7ff57da33841e4e8bd37089d245";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
@ -49,7 +46,7 @@ let
chmod -R u+w ext/usr/lib
mv ext/usr $out
cp -r ext/bin ext/lib $out/
cp -r ext/lib $out/
# Horizon includes a copy of libstdc++ which is loaded via $LD_LIBRARY_PATH
# when it cannot detect a new enough version already present on the system.
@ -62,7 +59,8 @@ let
mkdir $out/lib/vmware/view/pkcs11
ln -s ${opensc}/lib/pkcs11/opensc-pkcs11.so $out/lib/vmware/view/pkcs11/libopenscpkcs11.so
${lib.concatMapStrings wrapBinCommands bins}
${wrapBinCommands "bin" "vmware-view"}
${wrapBinCommands "lib/vmware/view/usb" "vmware-usbarbitrator"}
'';
};
@ -121,11 +119,6 @@ let
mimeTypes = [ "x-scheme-handler/vmware-view" ];
};
binLinkCommands = lib.concatMapStringsSep
"\n"
(bin: "ln -s ${vmwareFHSUserEnv bin}/bin/${bin} $out/bin/")
bins;
in
stdenv.mkDerivation {
pname = "vmware-horizon-client";
@ -133,10 +126,16 @@ stdenv.mkDerivation {
dontUnpack = true;
nativeBuildInputs = [ copyDesktopItems ];
desktopItems = [ desktopItem ];
installPhase = ''
mkdir -p $out/bin $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications/
${binLinkCommands}
runHook preInstall
mkdir -p $out/bin
ln -s ${vmwareFHSUserEnv "vmware-view"}/bin/vmware-view $out/bin/
ln -s ${vmwareFHSUserEnv "vmware-usbarbitrator"}/bin/vmware-usbarbitrator $out/bin/
runHook postInstall
'';
unwrapped = vmwareHorizonClientFiles;