about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/prl-tools/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/prl-tools/default.nix')
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix17
1 files changed, 11 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 3a3016d14b4be..15ca9f9212e45 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -8,6 +8,7 @@
 , perl
 , undmg
 , dbus-glib
+, fuse
 , glib
 , xorg
 , zlib
@@ -36,13 +37,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "prl-tools";
-  version = "19.4.0-54962";
+  version = "20.0.1-55659";
 
   # We download the full distribution to extract prl-tools-lin.iso from
   # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
   src = fetchurl {
     url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
-    hash = "sha256-c/MrWUvwY/Z38uOBbetJSVkZlwkdzFhw6wpk1L0BuQs=";
+    hash = "sha256-5h8WZB7L6D9KOgIPSstN1sNcf3FZQiOQFB5MUC4YzvA=";
   };
 
   hardeningDisable = [ "pic" "format" ];
@@ -58,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     dbus-glib
+    fuse
     glib
     xorg.libX11
     xorg.libXcomposite
@@ -78,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     undmg $src
     export sourceRoot=prl-tools-build
-    7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin${lib.optionalString stdenv.isAarch64 "-arm"}.iso" -o$sourceRoot
+    7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm"}.iso" -o$sourceRoot
     ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz )
 
     runHook postUnpack
@@ -109,12 +111,12 @@ stdenv.mkDerivation (finalAttrs: {
       cp prl_fs/SharedFolders/Guest/Linux/prl_fs/prl_fs.ko $out/lib/modules/${kernelVersion}/extra
       cp prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.ko $out/lib/modules/${kernelVersion}/extra
       cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra
-      ${lib.optionalString stdenv.isAarch64
+      ${lib.optionalString stdenv.hostPlatform.isAarch64
       "cp prl_notifier/Installation/lnx/prl_notifier/prl_notifier.ko $out/lib/modules/${kernelVersion}/extra"}
     )
 
     ( # tools
-      cd tools/tools${if stdenv.isAarch64 then "-arm64" else if stdenv.isx86_64 then "64" else "32"}
+      cd tools/tools${if stdenv.hostPlatform.isAarch64 then "-arm64" else if stdenv.hostPlatform.isx86_64 then "64" else "32"}
       mkdir -p $out/lib
 
       # prltoolsd contains hardcoded /bin/bash path
@@ -142,6 +144,7 @@ stdenv.mkDerivation (finalAttrs: {
       done
 
       install -Dm755 ../../tools/prlfsmountd.sh $out/sbin/prlfsmountd
+      install -Dm755 ../../tools/prlbinfmtconfig.sh $out/sbin/prlbinfmtconfig
       for f in $out/bin/* $out/sbin/*; do
         wrapProgram $f \
           --prefix LD_LIBRARY_PATH ':' "${libPath}" \
@@ -166,11 +169,13 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Parallels Tools for Linux guests";
     homepage = "https://parallels.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ catap wegank ];
+    maintainers = with maintainers; [ catap wegank codgician ];
     platforms = platforms.linux;
   };
 })