Author: eelco
Date: Tue Mar 20 13:54:01 2012
New Revision: 33295
URL: https://nixos.org/websvn/nix/?rev=33295&sc=1

Log:
* VirtualBox updated to 4.1.10.  Drop the wrapper script since it no
  longer seems needed.  Optionally build the Python bindings.  Disable
  the Java bindings by default to prevent a gratuitous dependency on
  the JDK.

Deleted:
   nixpkgs/trunk/pkgs/applications/virtualization/virtualbox/VBox.sh
Modified:
   nixpkgs/trunk/pkgs/applications/virtualization/virtualbox/default.nix

Modified: nixpkgs/trunk/pkgs/applications/virtualization/virtualbox/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/applications/virtualization/virtualbox/default.nix       
Tue Mar 20 11:46:42 2012        (r33294)
+++ nixpkgs/trunk/pkgs/applications/virtualization/virtualbox/default.nix       
Tue Mar 20 13:54:01 2012        (r33295)
@@ -1,30 +1,36 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, 
libXext
 , libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel
-, python, which, alsaLib, curl, gawk
-, xorriso, makeself, perl, jdk, pkgconfig
+, which, alsaLib, curl, gawk
+, xorriso, makeself, perl, pkgconfig
+, javaBindings ? false, jdk ? null
+, pythonBindings ? false, python ? null
 }:
 
-let version = "4.1.8"; in
+with stdenv.lib;
+
+let version = "4.1.10"; in
 
 stdenv.mkDerivation {
   name = "virtualbox-${version}-${kernel.version}";
 
   src = fetchurl {
     url = 
"http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";;
-    sha256 = "1q04825ayynzgh8zl6y038lzxp3jk1a3dxpg6f52kk4vkirdc5pg";
+    sha256 = "1gsp3arp79x6gmh403sayh4lzr3l8fc3anp664fyl1dl0ykgmqs7";
   };
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL 
SDL
       libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk
-      pkgconfig which libXmu
-    ];
+      pkgconfig which libXmu ]
+    ++ optional javaBindings jdk
+    ++ optional pythonBindings python;
 
   patchPhase = ''
     set -x
     MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
         -e 's@MKISOFS --version@MKISOFS -version@' \
+        -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else 
""}@' \
         -i configure
     ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf 
--set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf 
--set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 
@@ -34,7 +40,11 @@
   '';
 
   configurePhase = ''
-    ./configure --with-qt4-dir=${qt4} --disable-python --disable-pulse 
--disable-hardening --with-mkisofs=${xorriso}/bin/xorrisofs
+    ./configure --with-qt4-dir=${qt4} \
+      ${optionalString (!javaBindings) "--disable-java"} \
+      ${optionalString (!pythonBindings) "--disable-python"} \
+      --disable-pulse --disable-hardening \
+      --with-mkisofs=${xorriso}/bin/xorrisofs
     sed -e 
's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig
 ${libIDL}/bin/libIDL-config-2@' \
         -i AutoConfig.kmk
     sed -e 's@arch/x86/@@' \
@@ -63,10 +73,12 @@
   '';
     
   installPhase = ''
+    libexec=$out/libexec/virtualbox
+  
     # Install VirtualBox files
     cd out/linux.*/release/bin
-    mkdir -p $out/virtualbox
-    cp -av * $out/virtualbox
+    mkdir -p $libexec
+    cp -av * $libexec
     
     # Install kernel module
     cd src
@@ -74,8 +86,7 @@
     export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
     
     # Remove root ownership stuff, since this does not work in a chroot 
environment
-    for i in `find . -name Makefile`
-    do
+    for i in `find . -name Makefile`; do
        sed -i -e "s|-o root||g" \
                -e "s|-g root||g" $i
     done
@@ -85,22 +96,14 @@
     
     # Create wrapper script
     mkdir -p $out/bin
-    cp -v ${./VBox.sh} $out/bin/VBox.sh
-    sed -i -e "s|@INSTALL_PATH@|$out/virtualbox|" \
-           -e "s|@QT4_PATH@|${qt4}/lib|" \
-          -e "s|which|${which}/bin/which|" \
-          -e "s|awk|${gawk}/bin/awk|" \
-          $out/bin/VBox.sh
-    chmod 755 $out/bin/VBox.sh
-    for file in VirtualBox VBoxManage VBoxSDL
-    do
-        [ -f "$out/virtualbox/$file" ] && ln -sfv $out/bin/VBox.sh 
$out/bin/$file
+    for file in VirtualBox VBoxManage VBoxSDL VBoxBalloonCtrl VBoxBFE 
VBoxHeadless; do
+        ln -s "$libexec/$file" $out/bin/$file
     done
     
     # Create and fix desktop item
     mkdir -p $out/share/applications
-    sed -i -e "s|Icon=VBox|Icon=$out/virtualbox/VBox.png|" 
$out/virtualbox/virtualbox.desktop
-    ln -sfv $out/virtualbox/virtualbox.desktop $out/share/applications
+    sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop
+    ln -sfv $libexec/virtualbox.desktop $out/share/applications
   '';
   
   meta = {
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to