prl-tools: 26.0.1-57243 -> 26.1.1-57288 (#448165)
This commit is contained in:
@@ -392,3 +392,5 @@
|
|||||||
- `sparkleshare` has been removed as it no longer builds and has been abandoned upstream.
|
- `sparkleshare` has been removed as it no longer builds and has been abandoned upstream.
|
||||||
|
|
||||||
- The `open-webui` package's postgres support have been moved to optional dependencies to comply with upstream changes in 0.6.26.
|
- The `open-webui` package's postgres support have been moved to optional dependencies to comply with upstream changes in 0.6.26.
|
||||||
|
|
||||||
|
- `prl-tools` has been moved out of `linuxPackages` because Parallels Guest Tools become driverless since 26.1.0.
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -27,20 +28,11 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
This enables Parallels Tools for Linux guests, along with provided
|
This enables Parallels Tools for Linux guests.
|
||||||
video, mouse and other hardware drivers.
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = lib.mkPackageOption pkgs "prl-tools" { };
|
||||||
type = types.nullOr types.package;
|
|
||||||
default = config.boot.kernelPackages.prl-tools;
|
|
||||||
defaultText = "config.boot.kernelPackages.prl-tools";
|
|
||||||
example = literalExpression "config.boot.kernelPackages.prl-tools";
|
|
||||||
description = ''
|
|
||||||
Defines which package to use for prl-tools. Override to change the version.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -53,10 +45,6 @@ in
|
|||||||
|
|
||||||
boot.extraModulePackages = [ prl-tools ];
|
boot.extraModulePackages = [ prl-tools ];
|
||||||
|
|
||||||
boot.kernelModules = [
|
|
||||||
"prl_tg"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.timesyncd.enable = false;
|
services.timesyncd.enable = false;
|
||||||
|
|
||||||
systemd.services.prltoolsd = {
|
systemd.services.prltoolsd = {
|
||||||
|
|||||||
@@ -1,32 +1,28 @@
|
|||||||
{
|
{
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchurl,
|
|
||||||
autoPatchelfHook,
|
autoPatchelfHook,
|
||||||
|
bash,
|
||||||
bbe,
|
bbe,
|
||||||
|
coreutils,
|
||||||
|
cups,
|
||||||
|
dbus,
|
||||||
|
fetchurl,
|
||||||
|
fuse,
|
||||||
|
gawk,
|
||||||
|
glib,
|
||||||
|
lib,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
|
netcat,
|
||||||
p7zip,
|
p7zip,
|
||||||
perl,
|
perl,
|
||||||
undmg,
|
stdenv,
|
||||||
dbus-glib,
|
|
||||||
fuse,
|
|
||||||
glib,
|
|
||||||
xorg,
|
|
||||||
zlib,
|
|
||||||
kernel,
|
|
||||||
bash,
|
|
||||||
cups,
|
|
||||||
gawk,
|
|
||||||
netcat,
|
|
||||||
timetrap,
|
timetrap,
|
||||||
|
undmg,
|
||||||
util-linux,
|
util-linux,
|
||||||
wayland,
|
wayland,
|
||||||
|
xorg,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
kernelVersion = kernel.modDirVersion;
|
|
||||||
kernelDir = "${kernel.dev}/lib/modules/${kernelVersion}";
|
|
||||||
|
|
||||||
libPath = lib.concatStringsSep ":" [
|
libPath = lib.concatStringsSep ":" [
|
||||||
"${glib.out}/lib"
|
"${glib.out}/lib"
|
||||||
"${xorg.libXrandr}/lib"
|
"${xorg.libXrandr}/lib"
|
||||||
@@ -34,6 +30,7 @@ let
|
|||||||
];
|
];
|
||||||
scriptPath = lib.concatStringsSep ":" [
|
scriptPath = lib.concatStringsSep ":" [
|
||||||
"${bash}/bin"
|
"${bash}/bin"
|
||||||
|
"${coreutils}/bin"
|
||||||
"${cups}/sbin"
|
"${cups}/sbin"
|
||||||
"${gawk}/bin"
|
"${gawk}/bin"
|
||||||
"${netcat}/bin"
|
"${netcat}/bin"
|
||||||
@@ -43,13 +40,13 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "prl-tools";
|
pname = "prl-tools";
|
||||||
version = "26.0.1-57243";
|
version = "26.1.1-57288";
|
||||||
|
|
||||||
# We download the full distribution to extract prl-tools-lin.iso from
|
# We download the full distribution to extract prl-tools-lin.iso from
|
||||||
# => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
|
# => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
|
url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
|
||||||
hash = "sha256-jAOP9g3JCKxOFyiDdYJvvM9ecGDbMuCARCEu4sE7Cfs=";
|
hash = "sha256-11IyKI2oOffzSPTB65XksZI3PD9W2+0SPZIfpb0RLuU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardeningDisable = [
|
hardeningDisable = [
|
||||||
@@ -64,11 +61,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
p7zip
|
p7zip
|
||||||
perl
|
perl
|
||||||
undmg
|
undmg
|
||||||
]
|
];
|
||||||
++ kernel.moduleBuildDependencies;
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
dbus-glib
|
|
||||||
fuse
|
fuse
|
||||||
glib
|
glib
|
||||||
xorg.libX11
|
xorg.libX11
|
||||||
@@ -77,10 +72,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
xorg.libXrandr
|
xorg.libXrandr
|
||||||
xorg.libXi
|
xorg.libXi
|
||||||
xorg.libXinerama
|
xorg.libXinerama
|
||||||
zlib
|
|
||||||
];
|
];
|
||||||
|
|
||||||
runtimeDependencies = [
|
runtimeDependencies = [
|
||||||
|
dbus
|
||||||
glib
|
glib
|
||||||
xorg.libXrandr
|
xorg.libXrandr
|
||||||
];
|
];
|
||||||
@@ -91,36 +86,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
undmg $src
|
undmg $src
|
||||||
export sourceRoot=prl-tools-build
|
export sourceRoot=prl-tools-build
|
||||||
7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin${lib.optionalString stdenv.hostPlatform.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
|
runHook postUnpack
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
dontBuild = true;
|
||||||
runHook preBuild
|
|
||||||
|
|
||||||
( # kernel modules
|
|
||||||
cd kmods
|
|
||||||
make -f Makefile.kmods \
|
|
||||||
KSRC=${kernelDir}/source \
|
|
||||||
HEADERS_CHECK_DIR=${kernelDir}/source \
|
|
||||||
KERNEL_DIR=${kernelDir}/build \
|
|
||||||
SRC=${kernelDir}/build \
|
|
||||||
KVER=${kernelVersion}
|
|
||||||
)
|
|
||||||
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
( # kernel modules
|
|
||||||
cd kmods
|
|
||||||
mkdir -p $out/lib/modules/${kernelVersion}/extra
|
|
||||||
cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra
|
|
||||||
)
|
|
||||||
|
|
||||||
( # tools
|
( # tools
|
||||||
cd tools/tools${
|
cd tools/tools${
|
||||||
if stdenv.hostPlatform.isAarch64 then
|
if stdenv.hostPlatform.isAarch64 then
|
||||||
@@ -139,6 +112,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
rm -f bin/prltoolsd
|
rm -f bin/prltoolsd
|
||||||
mv bin/prltoolsd.tmp bin/prltoolsd
|
mv bin/prltoolsd.tmp bin/prltoolsd
|
||||||
|
|
||||||
|
# replace hardcoded /usr/bin/prl_fsd
|
||||||
|
substituteInPlace ../mount.fuse.prl_fsd \
|
||||||
|
--replace-fail "/usr/bin/prl_fsd" "$out/bin/prl_fsd"
|
||||||
|
|
||||||
# install binaries
|
# install binaries
|
||||||
for i in bin/* sbin/prl_nettool sbin/prl_snapshot; do
|
for i in bin/* sbin/prl_nettool sbin/prl_snapshot; do
|
||||||
# also patch binaries to replace /usr/bin/XXX to XXX
|
# also patch binaries to replace /usr/bin/XXX to XXX
|
||||||
@@ -156,6 +133,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
install -Dm755 $i $out/$i
|
install -Dm755 $i $out/$i
|
||||||
done
|
done
|
||||||
|
|
||||||
|
install -Dm755 ../../tools/mount.fuse.prl_fsd $out/sbin/mount.fuse.prl_fsd
|
||||||
install -Dm755 ../../tools/prlfsmountd.sh $out/sbin/prlfsmountd
|
install -Dm755 ../../tools/prlfsmountd.sh $out/sbin/prlfsmountd
|
||||||
install -Dm755 ../../tools/prlbinfmtconfig.sh $out/sbin/prlbinfmtconfig
|
install -Dm755 ../../tools/prlbinfmtconfig.sh $out/sbin/prlbinfmtconfig
|
||||||
for f in $out/bin/* $out/sbin/*; do
|
for f in $out/bin/* $out/sbin/*; do
|
||||||
@@ -170,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
done
|
done
|
||||||
|
|
||||||
substituteInPlace ../99prltoolsd-hibernate \
|
substituteInPlace ../99prltoolsd-hibernate \
|
||||||
--replace "/bin/bash" "${bash}/bin/bash"
|
--replace-fail "/bin/bash" "${bash}/bin/bash"
|
||||||
|
|
||||||
mkdir -p $out/etc/pm/sleep.d
|
mkdir -p $out/etc/pm/sleep.d
|
||||||
install -Dm644 ../99prltoolsd-hibernate $out/etc/pm/sleep.d
|
install -Dm644 ../99prltoolsd-hibernate $out/etc/pm/sleep.d
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
set -eu -o pipefail
|
set -eu -o pipefail
|
||||||
|
|
||||||
nixpkgs="$(git rev-parse --show-toplevel)"
|
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||||
path="$nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix"
|
path="$nixpkgs/pkgs/by-name/pr/prl-tools/default.nix"
|
||||||
|
|
||||||
# Currently this script only supports Parallels 26
|
# Currently this script only supports Parallels 26
|
||||||
# Please change the knowledge base url after each major release
|
# Please change the knowledge base url after each major release
|
||||||
@@ -590,8 +590,6 @@ in
|
|||||||
|
|
||||||
netatop = callPackage ../os-specific/linux/netatop { };
|
netatop = callPackage ../os-specific/linux/netatop { };
|
||||||
|
|
||||||
prl-tools = callPackage ../os-specific/linux/prl-tools { };
|
|
||||||
|
|
||||||
isgx = callPackage ../os-specific/linux/isgx { };
|
isgx = callPackage ../os-specific/linux/isgx { };
|
||||||
|
|
||||||
rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { };
|
rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { };
|
||||||
@@ -723,6 +721,7 @@ in
|
|||||||
system76-scheduler = lib.warnOnInstantiate "kernelPackages.system76-scheduler is now pkgs.system76-scheduler" pkgs.system76-scheduler; # Added 2024-10-16
|
system76-scheduler = lib.warnOnInstantiate "kernelPackages.system76-scheduler is now pkgs.system76-scheduler" pkgs.system76-scheduler; # Added 2024-10-16
|
||||||
tuxedo-keyboard = self.tuxedo-drivers; # Added 2024-09-28
|
tuxedo-keyboard = self.tuxedo-drivers; # Added 2024-09-28
|
||||||
phc-intel = throw "phc-intel drivers are no longer supported by any kernel >=4.17"; # added 2025-07-18
|
phc-intel = throw "phc-intel drivers are no longer supported by any kernel >=4.17"; # added 2025-07-18
|
||||||
|
prl-tools = throw "Parallel Tools no longer provide any kernel module, please use pkgs.prl-tools instead."; # added 2025-10-04
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user