From 0ecef73966d0f638b612789d81e4f32caf4496f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaquim=20Pedro=20Fran=C3=A7a=20Sim=C3=A3o?= Date: Sat, 23 Apr 2016 01:06:25 +0000 Subject: [PATCH 1/2] open-vm-tools: updates to 10.0.7 and fixes compilation erros --- .../virtualization/open-vm-tools/default.nix | 23 ++++---- .../open-vm-tools/recognize_nixos.patch | 53 +++++++++---------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix index 1cd33e8b97a5..04ebc63be69e 100644 --- a/pkgs/applications/virtualization/open-vm-tools/default.nix +++ b/pkgs/applications/virtualization/open-vm-tools/default.nix @@ -1,26 +1,29 @@ -{ stdenv, lib, fetchurl, makeWrapper, autoreconfHook, +{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, libmspack, openssl, pam, xercesc, icu, libdnet, procps, xlibsWrapper, libXinerama, libXi, libXrender, libXrandr, libXtst, pkgconfig, glib, gtk, gtkmm }: let - majorVersion = "9.10"; - minorVersion = "0"; - patchSet = "2476743"; - version = "${majorVersion}.${minorVersion}-${patchSet}"; + majorVersion = "10.0"; + minorVersion = "7"; + version = "${majorVersion}.${minorVersion}"; -in stdenv.mkDerivation { +in stdenv.mkDerivation rec { name = "open-vm-tools-${version}"; - src = fetchurl { - url = "mirror://sourceforge/project/open-vm-tools/open-vm-tools/stable-${majorVersion}.x/open-vm-tools-${version}.tar.gz"; - sha256 = "15lwayrz9bpx4z12fj616hsn25m997y72licwwz7kms4sx9ssip1"; + src = fetchFromGitHub { + owner = "vmware"; + repo = "open-vm-tools"; + rev = "stable-${version}"; + sha256 = "0xxgppxjisg3jly21r7mjk06rc4n7ssyvapasxhbi2d1bw0xkvrj"; }; + sourceRoot = "${src.name}/open-vm-tools"; + buildInputs = [ autoreconfHook makeWrapper libmspack openssl pam xercesc icu libdnet procps pkgconfig glib gtk gtkmm xlibsWrapper libXinerama libXi libXrender libXrandr libXtst ]; - patchPhase = '' + postPatch = '' sed -i s,-Werror,,g configure.ac sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am diff --git a/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch b/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch index b69731179c1a..64991a152bcd 100644 --- a/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch +++ b/pkgs/applications/virtualization/open-vm-tools/recognize_nixos.patch @@ -1,18 +1,7 @@ -From d1b753212ee5151db941de0e2b826dcf9722f2f3 Mon Sep 17 00:00:00 2001 -From: Arseniy Seroka -Date: Fri, 21 Aug 2015 20:20:16 +0300 -Subject: [PATCH] [PATCH]: recognize NixOS Linux - ---- - open-vm-tools/lib/include/guest_os.h | 1 + - open-vm-tools/lib/misc/hostinfoPosix.c | 3 +++ - 2 files changed, 4 insertions(+) - -diff --git a/open-vm-tools/lib/include/guest_os.h b/open-vm-tools/lib/include/guest_os.h -index 4fc9ea7..f5104fd 100644 ---- a/open-vm-tools/lib/include/guest_os.h -+++ b/open-vm-tools/lib/include/guest_os.h -@@ -215,6 +215,7 @@ Bool Gos_InSetArray(uint32 gos, const uint32 *set); +diff -ruN open-vm-tools.orig/lib/include/guest_os.h open-vm-tools/lib/include/guest_os.h +--- open-vm-tools.orig/lib/include/guest_os.h 2016-02-12 00:50:33.000000000 +0000 ++++ open-vm-tools/lib/include/guest_os.h 2016-04-18 20:07:41.677251511 +0000 +@@ -222,6 +222,7 @@ #define STR_OS_MANDRAKE_FULL "Mandrake Linux" #define STR_OS_MANDRIVA "mandriva" #define STR_OS_MKLINUX "MkLinux" @@ -20,19 +9,30 @@ index 4fc9ea7..f5104fd 100644 #define STR_OS_NOVELL "nld9" #define STR_OS_NOVELL_FULL "Novell Linux Desktop 9" #define STR_OS_ORACLE "oraclelinux" -diff --git a/open-vm-tools/lib/misc/hostinfoPosix.c b/open-vm-tools/lib/misc/hostinfoPosix.c -index 6c13fe3..5b82983 100644 ---- a/open-vm-tools/lib/misc/hostinfoPosix.c -+++ b/open-vm-tools/lib/misc/hostinfoPosix.c -@@ -184,6 +184,7 @@ static const DistroInfo distroArray[] = { +diff -ruN open-vm-tools.orig/lib/include/vmblock.h open-vm-tools/lib/include/vmblock.h +--- open-vm-tools.orig/lib/include/vmblock.h 2016-02-12 00:50:33.000000000 +0000 ++++ open-vm-tools/lib/include/vmblock.h 2016-04-18 21:51:15.651235848 +0000 +@@ -145,7 +145,7 @@ + # define VMBLOCK_DEVICE_MODE VMBLOCK_FUSE_DEVICE_MODE + # define VMBLOCK_MOUNT_POINT VMBLOCK_FUSE_MOUNT_POINT + +-#elif defined(linux) ++#elif defined(__linux__) + # define VMBLOCK_ADD_FILEBLOCK 98 + # define VMBLOCK_DEL_FILEBLOCK 99 + # ifdef VMX86_DEVEL +diff -ruN open-vm-tools.orig/lib/misc/hostinfoPosix.c open-vm-tools/lib/misc/hostinfoPosix.c +--- open-vm-tools.orig/lib/misc/hostinfoPosix.c 2016-02-12 00:50:33.000000000 +0000 ++++ open-vm-tools/lib/misc/hostinfoPosix.c 2016-04-18 20:09:45.841668252 +0000 +@@ -195,6 +195,7 @@ {"Mandrake", "/etc/mandrake-release"}, {"Mandriva", "/etc/mandriva-release"}, - {"Mandrake", "/etc/mandrakelinux-release"}, + {"MkLinux", "/etc/mklinux-release"}, + {"NixOS", "/etc/os-release"}, - {"TurboLinux", "/etc/turbolinux-release"}, - {"Fedora Core", "/etc/fedora-release"}, - {"Gentoo", "/etc/gentoo-release"}, -@@ -613,6 +614,8 @@ HostinfoGetOSShortName(char *distro, // IN: full distro name + {"Novell", "/etc/nld-release"}, + {"OracleLinux", "/etc/oracle-release"}, + {"Photon", "/etc/lsb-release"}, +@@ -619,6 +620,8 @@ Str_Strcpy(distroShort, STR_OS_MANDRIVA, distroShortSize); } else if (strstr(distroLower, "mklinux")) { Str_Strcpy(distroShort, STR_OS_MKLINUX, distroShortSize); @@ -41,6 +41,3 @@ index 6c13fe3..5b82983 100644 } else if (strstr(distroLower, "pld")) { Str_Strcpy(distroShort, STR_OS_PLD, distroShortSize); } else if (strstr(distroLower, "slackware")) { --- -2.5.0 - From 133dc10e5a4f1c09d3446b60086b557625a27bde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaquim=20Pedro=20Fran=C3=A7a=20Sim=C3=A3o?= Date: Sat, 23 Apr 2016 01:08:06 +0000 Subject: [PATCH 2/2] open-vm-tools: fixes host VMware errors --- nixos/modules/virtualisation/vmware-guest.nix | 2 ++ .../virtualization/open-vm-tools/default.nix | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index ac2415a22b52..b9a4f3b11dc1 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -25,6 +25,8 @@ in serviceConfig.ExecStart = "${open-vm-tools}/bin/vmtoolsd"; }; + environment.etc."vmware-tools".source = "${pkgs.open-vm-tools}/etc/vmware-tools/*"; + services.xserver = { videoDrivers = mkOverride 50 [ "vmware" ]; diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix index 04ebc63be69e..f5e0441ea6c9 100644 --- a/pkgs/applications/virtualization/open-vm-tools/default.nix +++ b/pkgs/applications/virtualization/open-vm-tools/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, libmspack, openssl, pam, xercesc, icu, libdnet, procps, xlibsWrapper, libXinerama, libXi, libXrender, libXrandr, libXtst, - pkgconfig, glib, gtk, gtkmm }: + pkgconfig, glib, gtk, gtkmm, iproute, dbus, systemd }: let majorVersion = "10.0"; @@ -33,6 +33,14 @@ in stdenv.mkDerivation rec { configureFlags = "--without-kernel-modules --without-xmlsecurity"; + postInstall = '' + sed -i 's,which ,command -v ,' "$out/etc/vmware-tools/scripts/vmware/network" + wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \ + --prefix PATH ':' "${iproute}/bin" \ + --prefix PATH ':' "${dbus}/bin" \ + --prefix PATH ':' "${systemd}/bin" + ''; + meta = with stdenv.lib; { homepage = "https://github.com/vmware/open-vm-tools"; description = "Set of tools for VMWare guests to improve host-guest interaction";