Commit Graph

138 Commits

Author SHA1 Message Date
Eric Seidel
f3c6827373 rename all occurrences of stdenv.cc.gcc to stdenv.cc.cc 2015-01-14 20:27:55 -08:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
aszlig
ac603e208c
virtualbox: Fix runtime paths in hardening mode.
Because we have to rely on setuid wrappers on NixOS, we can't easily
hardcode the executable paths and set it 4755. So for all calls, we need
to change the runtime path executable directory to /var/setuid-wrappers/
and for verification we need to retain the executable directory.

Also note, that usually VBoxNetAdpCtl, VBoxNetDHCP, VBoxNetNAT, VBoxSDL
and VBoxVolInfo don't reside in directories that are commonly in PATH,
but in /usr/lib/virtualbox in most mainstream distros. But because the
names of these executables are distinctive enough to not cause
collisions with other setuid programs, I'll leave it like that and not
patch up setuid-wrappers.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:13 +01:00
aszlig
b69ac6c159
virtualbox: Allow to easily change the build type.
Not really changes anything in functionality, but makes it easier to
change the build type to "debug", for example.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
14ef3446e1
virtualbox: Fix hardcoded /sbin/ifconfig path.
Just accidentally found this while debugging and it's needed for
fetching a few interface details, not sure however whether because of
this anything has been broken so far.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
5a8c5d2768
virtualbox: Explicitly excempt src during install.
Instead of coping it to $out and later deleting it, we now exclude the
src directory during copy. Also, we no longer cd into the release
directory during installPhase, which should make sure that we are
constantly in $sourceRoot.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
eb561f0798
virtualbox: Fix extension pack without hardening.
We divert to the $out/share/virtualbox directory only if we have
hardening enabled, so let's put the extension pack into
$out/libexec/virtualbox instead if we're compiling without hardening.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-16 11:24:55 +01:00
Eelco Dolstra
d9ce3ae57f virtualbox: Get tid of runtime dependency on linux.dev 2014-12-15 17:54:06 +01:00
aszlig
a199eedfce
virtualbox package: Disable hardening by default.
Yes, this is only on the package level, so it's possible to use
VirtualBox for example installed by nix-env -i, which of course doesn't
have access to the functionality provided by the various VirtualBox
kernel modules.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-15 17:52:18 +01:00
aszlig
2b58a6ab0d
virtualbox: Fix extension pack installation.
With hardening, we need to go a bit further rather than just allowing
/nix/store being world-writable. We now use fakeroot to make sure the
VBoxExtPackHelperApp won't moan that the files are not owned by root.

They are, but only outside of the chrooted build process.

Another issue with using fakeroot is that it doesn't seem to cope well
with arguments that contain spaces. That's why I've piped the call into
${stdenv.shell}.

Now, the really gory and confusing part is the introduction of
VBOX_PATH_APP_PRIVATE_ARCH_TOP and the change of VBOX_PATH_APP_PRIVATE.

The VBOX_PATH_APP_PRIVATE_ARCH is *only* for modules and is checked by
the hardened implementation against whether things like VMMR0.r0 or
VBoxVMM.so reside in that directory. As a side note: I admit that the
whole libexec directory is quite polluted with stuff that shouldn't be
there, but for now we've broken enough things and will tear apart the
whole structure at some day in the future[TM].

For the confusing part we have VBOX_PATH_APP_PRIVATE_ARCH_TOP, which
_should_ be the same as VBOX_PATH_APP_PRIVATE_ARCH but unfortunately,
the hardened implementation is checking against this directory (in
IsValidBaseDir) for the extension pack(why!?).

Of course, we could put even that into the libexec directory, somewhat
similar as the official package, but after all, let's at least *try* to
separate things.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-01 03:32:55 +01:00
aszlig
318fbb34e7
virtualbox: Allow /nix/store being world-writable.
We are already checking whether /nix/store has the sticky bit set, so if
it is world-writable as well it doesn't mean that the actual store path
is writable. Let alone the fact that it is only writable during the
build process.

This should fix installing the extension pack when enableExtensionPack
is used.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-30 18:23:19 +01:00
aszlig
017e6b72c1
virtualbox: Update to upstream version 4.3.20.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-30 06:25:50 +01:00
aszlig
3e49487c1a
virtualbox: Enable hardening by default.
VirtualBox with hardening support requires the main binaries to be
setuid root. Using VBOX_WITH_RUNPATH, we ensure that the RPATHs are
pointing to the libexec directory and we also need to unset
VBOX_WITH_ORIGIN to make sure that the build system is actually setting
those RPATHs.

The hardened.patch implements two things:

 * Set the binary directory to the setuid-wrappers dir so that
   VboxSVC calls them instead of the binaries from the store path. The
   reason behind this is because nothing in the Nix store can have the
   setuid flag.
 * Excempt /nix/store from the group permission check, because while it
   is group-writeable indeed it also has the sticky bit set (and also
   the whole store is mounted read-only on most NixOS systems), so we're
   checking on that as well.

Right now, the hardened.patch uses /nix/store and /var/setuid-wrappers
directly, so someone would ever want to change those on a NixOS system,
please provide a patch to set those paths on build time. However, for
simplicity, it's best to do it when we _really_ need it.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-29 19:21:46 +01:00
aszlig
deec767efa
virtualbox: Disable depmod only where necessary.
Traversing the full source tree is unneccessary, because the calls are
only done within make files. Hence we only substitute make files now.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-29 19:21:46 +01:00
Jonathan Rudenberg
29d708176c virtualbox: 4.3.16 -> 4.3.18 2014-11-03 21:47:59 +01:00
Corey O'Connor
48dc0eacb8 add pulseaudio to virtualbox 2014-10-22 20:56:25 +02:00
ambrop7@gmail.com
f8738a6d09 Update VirtualBox to 4.3.16. 2014-09-18 23:43:11 +02:00
ambrop7@gmail.com
2f79a85767 VirtualBox: Fix ALSA audio.
Use a sed replacement to ensure that dynamic loading of libasound works.
2014-09-14 11:28:34 +02:00
Aristid Breitkreuz
a2eb68a6dc update virtualbox to 4.3.14 2014-08-28 21:27:08 +02:00
Benno Fünfstück
8b6300822b virtualbox: update 4.3.10 -> 4.3.12
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-05-18 08:33:25 -05:00
Austin Seipp
aae821493d Revert "virtualbox: update 4.3.10 -> 4.3.12"
This reverts commit a0ae412a10.

It snuck by me in #2677. I'll test it more first.
2014-05-17 16:45:58 -05:00
Benno Fünfstück
a0ae412a10 virtualbox: update 4.3.10 -> 4.3.12 2014-05-17 12:28:33 +02:00
Moritz Maxeiner
99d639d750 Update Virtualbox and Guest Additions to 4.3.10, Oracle Extensions to 93012 2014-03-29 13:44:50 +01:00
Moritz Maxeiner
53e743fa08 Update Virtualbox and Guest Additions to 4.3.8, Oracle Extensions to 92456 2014-02-28 17:19:48 +01:00
Moritz Maxeiner
ba0ca53615 Update VirtualBox (and implicitly VirtualBox Guest Additions) to 4.3.6 and Oracle VM VirtualBox Extension Pack to 91406 2014-01-31 00:34:04 +01:00
Shea Levy
a589bfae17 Update and fix kernel packages to new kernel build
In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-04 21:17:04 -05:00
Eelco Dolstra
01fdb87a03 virtualbox: Update to 4.2.18 2013-09-17 17:44:28 +02:00
Bjørn Forsman
e242ae058d virtualbox: fix extension pack hash (must be base16) 2013-08-10 14:30:53 +02:00
Eelco Dolstra
f4681d8e08 virtualbox: Update to 4.2.16 2013-08-09 18:48:52 +02:00
Baptist BENOIST
8db7ff9b83 virtualbox: Comply with the Personal Use and Evaluation License
The direct download was unfortunately not compliant with the VirtualBox
Extension Pack's Personal Use and Evaluation License (PUEL) which
stipulates that any end-user should fetch the binaries from the official
Downloads page.

See https://github.com/NixOS/nixpkgs/issues/672 and
http://www.virtualbox.org/wiki/VirtualBox_PUEL for more info.
2013-07-16 21:24:34 +02:00
Vladimír Čunát
6c86398ff3 virtualbox: minor update, lock versions with guest-additions
I saw no reason to use requireFile, it seems normally downloadable.
2013-06-23 16:14:31 +02:00
Vladimír Čunát
45f7b9c319 virtualbox: make guest additions use driver according to xserver version 2013-06-23 14:16:21 +02:00
Bjørn Forsman
43c9ab900b virtualbox-guestadditions: fix xorg incompatibility
A recent X update broke VirtualBox guest additions (vboxvideo driver version
mismatch, desktop won't start). This fixes it.

Here is the error log:

 (II) "glx" will be loaded by default.
 (II) LoadModule: "glx"
 (II) Loading /nix/store/kzvmnjlps51q4piqmwr7zbmxcg2z9vgk-xorg-server-1.13.4/lib/xorg/modules/extensions/libglx.so
 (II) Module glx: vendor="X.Org Foundation"
 	compiled for 1.13.4, module version = 1.0.0
 	ABI class: X.Org Server Extension, version 7.0
 (==) AIGLX enabled
 Loading extension GLX
 (II) LoadModule: "vboxvideo"
 (II) Loading /nix/store/4kbxi00h8xsmfgbws2qqh674lcfp03h6-VirtualBox-GuestAdditions-4.2.14-3.2.46/lib/xorg/modules/drivers/vboxvideo_drv.so
 (II) Module vboxvideo: vendor="Oracle Corporation"
 	compiled for 10.12.0, module version = 1.0.1
 	Module class: X.Org Video Driver
 	ABI class: X.Org Video Driver, version 12.0
 (EE) module ABI major version (12) doesn't match the server's version (13)
 (II) UnloadModule: "vboxvideo"
 (II) Unloading vboxvideo
 (EE) Failed to load module "vboxvideo" (module requirement mismatch, 0)
 (II) LoadModule: "vboxmouse"
 (WW) Warning, couldn't open module vboxmouse
 (II) UnloadModule: "vboxmouse"
 (II) Unloading vboxmouse
 (EE) Failed to load module "vboxmouse" (module does not exist, 0)
 (EE) No drivers available.

Fatal server error:
 no screens found
2013-06-23 13:06:03 +02:00
aszlig
26431c19cb
virtualbox+guest: Update to new upstream v4.2.12.
All patch files dropped because they're fixed in this release. For a full list
of fixes that come with this maintenance release, please refer to:

https://www.virtualbox.org/wiki/Changelog

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-04-13 10:31:36 +02:00
Shea Levy
4fa4ab3a6e Partially revert my recent kernelPackages changes
First, pass in `self' again so that overriding works properly (thanks
for pointing that out, @edolstra)

Second, instead of having linuxPackages*.kernel mean something different
inside the set and out, add a new attribute linuxPackages*.kernelDev,
which for the generic kernel is simply linuxPackages*.kernel but for the
manual-config kernel is the `dev' output (which has the build tree,
source tree, etc.)

The second change required trivial modifications in a bunch of
expressions, I verified that all of the linuxPackages* sets defined in
all-packages.nix have the same drv paths before and after the change.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-24 07:45:00 -04:00
aszlig
113b15f3a8
virtualbox: Update tarball sha256sum of v4.2.8.
Outrageous! They fixed the tarball by including the missing file.
Well, at least we now don't have that much cruft laying around and can remove
that rather long patch.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-01 10:14:44 +01:00
aszlig
fc088ae732 virtualbox: Fix build with kernel 3.9.0.
This patch is cherry-picked from VirtualBox Subversion, revision 44867.

It's rather small and only is in effect if kernel version is >= 3.9.0, so it
won't break existing kernels, so I'm adding it here despite we usually only care
about the latest stable upstream (kernel) versions.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-01 09:42:38 +01:00
aszlig
1029ca5767 virtualbox: Support UIDGID_STRICT_TYPE_CHECKS.
This adds a patch to support CONFIG_UIDGID_STRICT_TYPE_CHECKS being activated in
the kernel config (selected by CONFIG_USER_NS for example).

When this kernel option is enabled, current->cred->uid is a structure rather
than a simple integer type (uid_t and gid_t), so we need to check for that and
also pass the current user namespace where needed.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-01 09:42:38 +01:00
aszlig
f26b5fb730 virtualbox+guest: Update to version 4.2.8.
The tarball for this version is missing the file VRDEVideoIn.h, which is added
through the missing_files_4.2.8.patch and extracted from Subversion, revision
44528.

Upstream changelog(s) can be found at the usual place:

https://www.virtualbox.org/wiki/Changelog

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-01 09:42:38 +01:00
aszlig
59d79e97e8
virtualbox: Fix unpacking of extension pack.
This fixes a typo introduced by 5a3f9c08b0.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-02-08 07:03:36 +01:00
aszlig
691bd7b9dd
Merge pull request #239: VirtualBox guest update.
So, a VirtualBox update is best accompanied by the corresponding update of the
guest additions.

Thanks @dysinger for the contribution.
2013-01-10 03:29:44 +01:00
aszlig
acb6290eed
virtualbox: Update to new upstream version 4.2.6.
Fortunately this time the upstream package was packaged correctly and we no
longer need the patch to remove the reference to the fa_IR locale.

In addition we need to add lvm2 to dependencies because VirtualBox now requires
libdevmapper with its default configuration. We could disable it but in order to
gain DM support I think it's necessary and at least could avoid some confusion
from users if it's not working "out of the box" :-)

This is a bugfix release, upstream changes are:

 * VMM: don't inject stale VT-x events to prevent crashes after VM reset
 * VMM: workaround for buggy BIOSes which enable MONITOR only for certain CPUs
 * GUI: fixed trimming of anti-aliased text in details-view element headers
 * GUI: fixed create-settings-file-alias functionality on Mac hosts
 * GUI: fixed take-guest-screenshot functionality on Windows hosts
 * GUI: several minor fixes, including palette fixes
 * GUI: fixed Windows 2012 OS type
 * GUI: allow to terminate the VM even if VBoxSVC crashed
 * API: fixed cancelling of snapshots, previously this could lead to
        inconsistent VM configs
 * API: fixed identifying disk images by UUID
 * 3D Support: several fixes
 * VRDP: fixed occasional crash with external authentication
 * VGA: fix for double scan text modes
 * USB: fixed invalid pending request count at the time of service of DEVICE
        POWER requests (Windows hosts only)
 * USB keyboard: Korean keyboard workaround
 * Storage: fixed hang with QCOW images and asynchronous I/O enabled
 * Storage: fixed hang with newer VHD images
 * Storage: actually write the non-rotational flag to the VM settings (4.2.0
            regression)
 * Virtio-net: fixed the problem with network statistics counters in Session
               Information dialog (GUI)
 * Metrics: introduced network rate and disk usage metrics
 * Metrics: fixed a crash under certain conditions on Solaris hosts
 * BIOS: fix for El Torito
 * Shared Folders: if the host folder of a shared folder mapping does not exist,
                   keep it active but mark it as invalid to prevent inconsistent
                   saved states
 * VBoxManage: fixed converting disks from raw images
 * VBoxManage: show snapshot description in the VM or snapshot information
 * VBoxManage: make implicit opening of media consistent in all places dealing
               with media
 * VBoxManage: the iSCSI initiator name was not stored in the settings file when
               doing storageattach
 * VBoxManage: metrics collect now properly handles 'CPU/MHz' and
               'Net/*/LinkSpeed' metrics
 * VBoxManage: changing the image UUID or parent UUID as part of storageattach
               works now in all safe cases
 * VBoxManage: introduced storageattach --medium additions as a shortcut to
               mount the additions image
 * OVF: fixed importing OVF files cerated by recent VMware products
 * Linux hosts / Bridged Networking: fixed the problem with leaking connections
                                     in conntrack
 * Linux Additions: added support for ConsoleKit sessions in the vminfo service
                    of VBoxService
 * Linux Additions: don't crash during remount under certain conditions
 * Linux/Solaris Additions: fixed guest memory metrics collection
 * Solaris hosts: added a dependency to ensure that the user directories are
                  reachable when starting VBox services
 * Windows host installer: integrated user-contributed translations, thanks to
                           all contributors!
 * Windows Additions: fixed auto-logon installation for Windows 8
 * Windows Additions: don't fail if the shared folders host service is not
                      available
 * Windows Additions: fixed Guest Additions startup on Windows 2000 guests
 * Windows Additions: auto-resize fixes for Windows 8 guests

Upstream changelist with bug ids can be found here:

https://www.virtualbox.org/wiki/Changelog

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-01-10 03:29:43 +01:00
Tim Dysinger
3300607176 Upgrade VirtualBox Guest Additions to 4.2.6 2013-01-08 18:58:56 -10:00
Tim Dysinger
58a57efc8a Add mount.vboxsf back to the expression, add dbus & patchelf everything so it works 2012-12-30 16:04:48 -10:00
aszlig
5a3f9c08b0
virtualbox: Allow building with extension pack.
The extension pack is needed in order to have USB 2.0, RDP and PXE boot support
and is _not_ part of the free version, so please read their conditions before
using it:

https://www.virtualbox.org/wiki/VirtualBox_PUEL

Further information and details about the extension pack is available here:

https://www.virtualbox.org/manual/ch01.html#intro-installing

I'm wimping out here and use requireFile to ask the user to fetch the extension
pack manually, simply because I'm not a lawyer. I've seen other distributions
that fetch the extension packs directly from upstream, but I'm not sure if that
is according to Oracle's PUEL.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-12-12 12:36:19 +01:00
aszlig
e95bda9caf
virtualbox: Update to upstream version 4.2.4.
This updates both virtualbox and guest additions.

Upstream changes in this release:

 * GUI: fixed validation warning on global settings / proxy page (4.2.2
        regression)
 * GUI: fixed crash with multiple guest screens on certain conditions (OS X
        hosts only)
 * VBoxBalloonCtrl: fixed command line argument handling of ballooning module
 * VRDP: fixed occasional crash during a video playback in the guest
 * BIOS: fixed broken DMI information (4.2 regression)
 * BIOS: workaround for booting from Windows 2000 floppy disks
 * EFI: fixed video mode selection loss on VM reboot
 * Parallel: fixed parallel port printing failure/ paper queue empty error
             (Windows hosts only)
 * NAT: fixed crash on alias-less DNS responses when host-resolver is used
 * Storage: fixed hang under rare circumstances

With bug IDs: https://www.virtualbox.org/wiki/Changelog

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-12-03 11:10:17 +01:00
Eelco Dolstra
79725bb5bc Mark some packages as low priority and disambiguate some others 2012-11-29 15:26:13 +01:00
Peter Simons
e5a68f8a67 Merge pull request #157 from ecarreras/virtualbox-icons
Make virtualbox icons available
2012-10-23 10:42:28 -07:00
aszlig
78342bde93
virtualbox-guest: Update to version 4.2.2.
This should fix a few issues with charon and VMs crashing starting at an amount
of at least 4 running VMs in parallel.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-10-22 19:57:36 +02:00
aszlig
19bffad329
virtualbox: Update to version 4.2.2.
This time, we need to patch, because the upstream tarball got messed up
somehow[TM]. You can find some details about the issue here:

https://www.virtualbox.org/pipermail/vbox-dev/2012-October/005408.html

Our patch is removing the language file, as it seems that even in SVN trunk it
isn't available anymore. So, let's hope we can remove this patch in the next
upstream release.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-10-22 19:57:35 +02:00