From 45f7b9c319d9f5659278391ea660025953b0a07d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 23 Jun 2013 13:57:13 +0200 Subject: [PATCH] virtualbox: make guest additions use driver according to xserver version --- .../virtualbox/guest-additions/default.nix | 13 ++++++++----- pkgs/servers/x11/xorg/overrides.nix | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 98fffe90ff6..50449b8f094 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -1,8 +1,11 @@ { stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper -, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor -, dbus }: +, xorg, dbus }: -let version = "4.2.12"; in +let + version = "4.2.12"; + xserverVListFunc = builtins.elemAt (stdenv.lib.splitString "." xorg.xorgserver.version); + xserverABI = xserverVListFunc 0 + xserverVListFunc 1; +in stdenv.mkDerivation { name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}"; @@ -22,7 +25,7 @@ stdenv.mkDerivation { ''; - buildCommand = '' + buildCommand = with xorg; '' ${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then '' isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run chmod 755 ./VBoxLinuxAdditions.run @@ -104,7 +107,7 @@ stdenv.mkDerivation { # Install Xorg drivers mkdir -p $out/lib/xorg/modules/{drivers,input} - install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_113.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so + install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so # Install kernel modules cd src diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index ff815fb1cf5..22e0096ad65 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -209,6 +209,7 @@ in rm -fr $out/share/X11/xkb/compiled ln -s /var/tmp $out/share/X11/xkb/compiled ''; + passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions };