summaryrefslogtreecommitdiff
path: root/community-testing
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /community-testing
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community-testing')
-rw-r--r--community-testing/cdfs/PKGBUILD32
-rw-r--r--community-testing/cdfs/cdfs.install11
-rw-r--r--community-testing/gcc-avr/PKGBUILD57
-rw-r--r--community-testing/inputattach/0001-Add-w8001-flag.patch27
-rw-r--r--community-testing/inputattach/0002-Allow-for-custom-baud-rates.patch70
-rw-r--r--community-testing/inputattach/PKGBUILD43
-rw-r--r--community-testing/inputattach/inputattach.conf.d10
-rw-r--r--community-testing/inputattach/inputattach.install18
-rw-r--r--community-testing/inputattach/inputattach.rc.d40
-rw-r--r--community-testing/llvm/PKGBUILD190
-rw-r--r--community-testing/llvm/clang-2.8-alignOf.patch199
-rw-r--r--community-testing/llvm/clang-2.8-cindexer-clang-path.patch13
-rw-r--r--community-testing/llvm/clang-plugin-loader-registry.patch11
-rw-r--r--community-testing/llvm/cpp-headers.patch17
-rw-r--r--community-testing/llvm/llvm-2.8-alignOf.patch59
-rw-r--r--community-testing/open-vm-tools-modules/PKGBUILD40
-rw-r--r--community-testing/open-vm-tools-modules/open-vm-tools-modules.install35
-rw-r--r--community-testing/open-vm-tools/PKGBUILD67
-rw-r--r--community-testing/open-vm-tools/open-vm-tools-X11Bool.patch15
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.conf.d6
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.install10
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.rc.d101
-rw-r--r--community-testing/open-vm-tools/scripts-network-FS19541.patch40
-rw-r--r--community-testing/open-vm-tools/scripts-network.patch63
-rw-r--r--community-testing/open-vm-tools/tools.conf1
-rw-r--r--community-testing/open-vm-tools/vmware-guestd6
-rw-r--r--community-testing/open-vm-tools/xautostart.conf6
-rw-r--r--community-testing/pysfml/PKGBUILD39
-rw-r--r--community-testing/systemd/PKGBUILD66
-rw-r--r--community-testing/systemd/os-release4
-rw-r--r--community-testing/systemd/systemd.install50
-rw-r--r--community-testing/virtualbox/10-vboxdrv.rules5
-rw-r--r--community-testing/virtualbox/60-vboxguest.rules2
-rw-r--r--community-testing/virtualbox/LocalConfig.kmk17
-rw-r--r--community-testing/virtualbox/PKGBUILD210
-rw-r--r--community-testing/virtualbox/vboxdrv-reference.patch43
-rwxr-xr-xcommunity-testing/virtualbox/vboxdrv.sh80
-rw-r--r--community-testing/virtualbox/virtualbox-4-makeself-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-4-mkisofs-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-guest-modules.install24
-rw-r--r--community-testing/virtualbox/virtualbox.install65
41 files changed, 1812 insertions, 0 deletions
diff --git a/community-testing/cdfs/PKGBUILD b/community-testing/cdfs/PKGBUILD
new file mode 100644
index 000000000..af18a5dbb
--- /dev/null
+++ b/community-testing/cdfs/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 42474 2011-03-16 21:46:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: J. Santiago Hirschfeld <jsantiagoh@yahoo.com.ar>
+
+pkgname=cdfs
+pkgver=2.6.27
+pkgrel=14
+pkgdesc="File system module that 'exports' all tracks and boot images on a CD as normal files."
+arch=(i686 x86_64)
+url="http://www.elis.UGent.be/~ronsse/cdfs/"
+license=('GPL')
+install=cdfs.install
+source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$pkgname-$pkgver.tar.bz2")
+md5sums=('ac64c014a90e3c488394832ea29605b3')
+
+build() {
+ _kernver=`pacman -Q kernel26 | cut -d . -f 3 | cut -f 1 -d -`
+ depends=("kernel26>=2.6.${_kernver}" "kernel26<2.6.`expr ${_kernver} + 1`")
+
+ cd $srcdir/$pkgname-$pkgver
+
+ patch cddata.c <<EOF
+85c85
+< .sendfile = generic_file_sendfile
+---
+> // .sendfile = generic_file_sendfile
+EOF
+
+ make
+ mkdir -p $pkgdir/lib/modules/`uname -r`/extra
+ cp cdfs.ko $pkgdir/lib/modules/`uname -r`/extra
+}
diff --git a/community-testing/cdfs/cdfs.install b/community-testing/cdfs/cdfs.install
new file mode 100644
index 000000000..3693d60ed
--- /dev/null
+++ b/community-testing/cdfs/cdfs.install
@@ -0,0 +1,11 @@
+post_install() {
+ /sbin/depmod -a
+}
+
+post_upgrade() {
+ /sbin/depmod -a
+}
+
+post_remove() {
+ /sbin/depmod -a
+}
diff --git a/community-testing/gcc-avr/PKGBUILD b/community-testing/gcc-avr/PKGBUILD
new file mode 100644
index 000000000..78e1c30c6
--- /dev/null
+++ b/community-testing/gcc-avr/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 43891 2011-03-30 19:48:35Z bfanella $
+# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: danst0 <danst0@west.de>
+
+pkgname=gcc-avr
+pkgver=4.6.0
+pkgrel=3
+pkgdesc="The GNU avr Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'custom')
+url="http://gcc.gnu.org/"
+depends=('binutils-avr>=2.21' 'cloog' 'ppl' 'gcc-libs>=4.6.0' 'libmpc')
+options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip')
+source=(http://ftp.gnu.org/gnu/gcc/${pkgname/-avr}-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2)
+md5sums=('b1957f3209080b2f55bc3756d3a62b7c'
+ 'a30090fa655d0db4c970740d353c81f1')
+
+build() {
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ cd "${srcdir}/${pkgname/-avr}-${pkgver}"
+
+ mkdir build
+ cd build
+ ../configure --disable-libssp \
+ --disable-nls \
+ --enable-languages=c,c++ \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --target=avr \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --with-as=/usr/bin/avr-as \
+ --with-ld=/usr/bin/avr-ld
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname/-avr}-${pkgver}"
+
+ cd build
+ make -j1 DESTDIR=${pkgdir} install
+
+ install -Dm644 "${srcdir}/${pkgname/-avr}-${pkgver}/COPYING.RUNTIME" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION"
+
+ rm -f ${pkgdir}/usr/lib/libiberty.a
+ rm -rf ${pkgdir}/usr/share/man/man7
+ rm -rf ${pkgdir}/usr/share/info
+}
+
diff --git a/community-testing/inputattach/0001-Add-w8001-flag.patch b/community-testing/inputattach/0001-Add-w8001-flag.patch
new file mode 100644
index 000000000..ba6f9394b
--- /dev/null
+++ b/community-testing/inputattach/0001-Add-w8001-flag.patch
@@ -0,0 +1,27 @@
+From 729257077e328e0b2fa1bba5a5509c09a743d5d0 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 13 Jul 2010 11:49:47 +1000
+Subject: [PATCH 2/3] Add w8001 flag for serial Wacom devices.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index a7de302..0382954 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -495,6 +495,9 @@ static struct input_types input_types[] = {
+ { "--dump", "-dump", "Just enable device",
+ B2400, CS8,
+ 0, 0x00, 0x00, 0, dump_init },
++{ "--w8001", "-w8001", "Wacom W8001",
++ B38400, CS8,
++ SERIO_W8001, 0x00, 0x00, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, NULL }
+ };
+
+--
+1.7.2.3
+
diff --git a/community-testing/inputattach/0002-Allow-for-custom-baud-rates.patch b/community-testing/inputattach/0002-Allow-for-custom-baud-rates.patch
new file mode 100644
index 000000000..78f5d19c8
--- /dev/null
+++ b/community-testing/inputattach/0002-Allow-for-custom-baud-rates.patch
@@ -0,0 +1,70 @@
+From 5d9373f24f1b519c030024b2f36277ba9713697c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 21 Jul 2010 14:41:04 +1000
+Subject: [PATCH 3/3] Allow for custom baud rates.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 25 ++++++++++++++++++++++++-
+ 1 files changed, 24 insertions(+), 1 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index 0382954..6806fc8 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -506,7 +506,7 @@ static void show_help(void)
+ struct input_types *type;
+
+ puts("");
+- puts("Usage: inputattach [--daemon] <mode> <device>");
++ puts("Usage: inputattach [--daemon] [--baud <baud>] <mode> <device>");
+ puts("");
+ puts("Modes:");
+
+@@ -530,6 +530,7 @@ int main(int argc, char **argv)
+ int i;
+ char c;
+ int retval;
++ int baud = -1;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcasecmp(argv[i], "--help")) {
+@@ -540,6 +541,15 @@ int main(int argc, char **argv)
+ } else if (need_device) {
+ device = argv[i];
+ need_device = 0;
++ } else if (!strcasecmp(argv[i], "--baud")) {
++ if (argc <= i + 1) {
++ show_help();
++ fprintf(stderr,
++ "inputattach: require baud rate\n");
++ return EXIT_FAILURE;
++ }
++
++ baud = atoi(argv[++i]);
+ } else {
+ if (type && type->name) {
+ fprintf(stderr,
+@@ -580,6 +590,19 @@ int main(int argc, char **argv)
+ return 1;
+ }
+
++ switch(baud) {
++ case -1: break;
++ case 2400: type->speed = B2400; break;
++ case 4800: type->speed = B4800; break;
++ case 9600: type->speed = B9600; break;
++ case 19200: type->speed = B19200; break;
++ case 38400: type->speed = B38400; break;
++ default:
++ fprintf(stderr, "inputattach: invalid baud rate '%d'\n",
++ baud);
++ return EXIT_FAILURE;
++ }
++
+ setline(fd, type->flags, type->speed);
+
+ if (type->flush)
+--
+1.7.2.3
+
diff --git a/community-testing/inputattach/PKGBUILD b/community-testing/inputattach/PKGBUILD
new file mode 100644
index 000000000..0953d0a3a
--- /dev/null
+++ b/community-testing/inputattach/PKGBUILD
@@ -0,0 +1,43 @@
+# Contributor: Mark Smith <markzzzsmith@yahoo.com.au>
+
+pkgname=inputattach
+pkgver=1.24
+pkgrel=3
+pkgdesc="Attach serial mice, keyboards and other input devices to the kernel input system"
+arch=('i686' 'x86_64')
+url="http://linuxconsole.sourceforge.net/"
+license=('GPL')
+depends=('bash')
+makedepends=('gcc')
+backup=(etc/conf.d/inputattach)
+install=inputattach.install
+source=('http://kernel.org/pub/linux/kernel/people/dtor/inputattach.c'
+ 'http://kernel.org/pub/linux/kernel/people/dtor/serio-ids.h'
+ 'inputattach.conf.d' 'inputattach.rc.d'
+ '0001-Add-w8001-flag.patch' '0002-Allow-for-custom-baud-rates.patch')
+md5sums=('eb595a766ca363edb3b14c25404596ce' '93d34d96cd3ad19ea1aeca7f68a66b4a'
+ '7ca903e54829764c8241233af5069216' '8d62f8840a2e6457a953f667df39ef99'
+ 'f1b3ddae308351357f557cbd5c6cda81' '8f76908449cae24a95adbf0bc0a17721')
+
+build() {
+ cd "$srcdir"
+
+ # Add support for serial wacom tablets
+ patch -Np1 -i "$srcdir/0001-Add-w8001-flag.patch"
+ patch -Np1 -i "$srcdir/0002-Allow-for-custom-baud-rates.patch"
+
+ cc $CFLAGS inputattach.c -o inputattach
+}
+
+package() {
+ cd "$srcdir"
+
+ install -Dm755 inputattach \
+ "$pkgdir/usr/sbin/inputattach"
+
+ install -Dm644 $srcdir/inputattach.conf.d \
+ "$pkgdir/etc/conf.d/inputattach"
+
+ install -Dm755 $srcdir/inputattach.rc.d \
+ "$pkgdir/etc/rc.d/inputattach"
+}
diff --git a/community-testing/inputattach/inputattach.conf.d b/community-testing/inputattach/inputattach.conf.d
new file mode 100644
index 000000000..ae8d1842a
--- /dev/null
+++ b/community-testing/inputattach/inputattach.conf.d
@@ -0,0 +1,10 @@
+#
+# Configuration for inputattach
+#
+# IAPARAMS is an array of inputattach arguments, see 'inputattach --help'.
+# An inputattach instance will be started for each element.
+
+IAPARAMS=(
+ "--microsoft /dev/ttyS0"
+ #"--baud 9600 --w8001 /dev/ttyS1"
+)
diff --git a/community-testing/inputattach/inputattach.install b/community-testing/inputattach/inputattach.install
new file mode 100644
index 000000000..b5381e14a
--- /dev/null
+++ b/community-testing/inputattach/inputattach.install
@@ -0,0 +1,18 @@
+## arg 1: the new package version
+
+post_upgrade() {
+ (( $(vercmp 1.24-3 $2) > 0 )) && cat <<MSG
+ATTENTION:
+ /etc/conf.d/inputattach.conf has been replaced by /etc/conf.d/inputattach
+ Make sure you adjust the new config file, which has a new format.
+MSG
+}
+
+post_install() {
+ cat << EOF
+
+The correct device mode and /dev device file will need to be set in
+/etc/conf.d/inputattach before starting /etc/rc.d/inputattach
+
+EOF
+}
diff --git a/community-testing/inputattach/inputattach.rc.d b/community-testing/inputattach/inputattach.rc.d
new file mode 100644
index 000000000..6b92827be
--- /dev/null
+++ b/community-testing/inputattach/inputattach.rc.d
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/inputattach
+
+case "$1" in
+ start)
+ stat_busy "Starting inputattach"
+ for param in ${IAPARAMS[@]}; do
+ if ! /usr/sbin/inputattach --daemon $param; then
+ stat_fail
+ exit 1
+ fi
+ done
+
+ add_daemon inputattach
+ stat_done
+ ;;
+ stop)
+ stat_busy "Stopping inputattach"
+ PID=`pidof -o %PPID /usr/sbin/inputattach`
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm_daemon inputattach
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/llvm/PKGBUILD b/community-testing/llvm/PKGBUILD
new file mode 100644
index 000000000..5021689f7
--- /dev/null
+++ b/community-testing/llvm/PKGBUILD
@@ -0,0 +1,190 @@
+# $Id: PKGBUILD 43553 2011-03-27 15:18:02Z foutrelis $
+# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
+# Contributor: Sebastian Nowicki <sebnow@gmail.com>
+# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
+pkgver=2.8
+pkgrel=7
+arch=('i686' 'x86_64')
+url="http://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('gcc-libs' 'libffi' 'python2' 'ocaml')
+source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tgz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
+ cpp-headers.patch
+ clang-plugin-loader-registry.patch
+ clang-2.8-cindexer-clang-path.patch
+ llvm-2.8-alignOf.patch
+ clang-2.8-alignOf.patch)
+md5sums=('220d361b4d17051ff4bb21c64abe05ba'
+ '10e14c901fc3728eecbd5b829e011b59'
+ '61f7b2ba70b9a0c7103b1a8be24ac1f0'
+ '02c23b4aaca3445b8bf39fddb2f9906e'
+ '338d254d6745568ebdcbe4e20b0057d5'
+ 'd923655d211191d77c4437b9c1bfa851'
+ '742a1a13cfdc1cb0a76b8bc3b19b190e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # At the present, clang must reside inside the LLVM source code tree to build
+ # See http://llvm.org/bugs/show_bug.cgi?id=4840
+ rm -rf tools/clang
+ cp -r "$srcdir/clang-$pkgver" tools/clang
+
+ # Fix symbolic links from OCaml bindings to LLVM libraries
+ sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
+
+ # Fix installation directories, ./configure doesn't seem to set them right
+ sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \
+ -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \
+ -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
+ Makefile.config.in
+
+ # Fix insecure rpath (http://bugs.archlinux.org/task/14017)
+ sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
+
+ # Update hardcoded path to C++ header files
+ patch -d tools/clang -Np1 -i "$srcdir/cpp-headers.patch"
+
+ # Get the correct list of symbols to export
+ # See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html
+ patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch"
+
+ # Fix C++0x name clashes (https://bugs.archlinux.org/task/22296)
+ patch -Np0 -i "$srcdir/llvm-2.8-alignOf.patch"
+ patch -d tools/clang -Np0 -i "$srcdir/clang-2.8-alignOf.patch"
+
+ # Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799)
+ patch -d tools/clang -Np1 -i "$srcdir/clang-2.8-cindexer-clang-path.patch"
+
+ # Apply strip option to configure
+ _optimize_flag="--enable-optimize"
+ [ "$(check_option strip)" = "n" ] && _optimize_flag="--disable-optimize"
+
+ # Include location of libffi headers in CPPFLAGS
+ export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
+
+ # Well, this is supposed to be the final release
+ sed -i 's/2.8rc/2.8/g' configure
+
+ ./configure --prefix=/usr --libdir=/usr/lib/llvm --sysconfdir=/etc \
+ --enable-shared --enable-libffi \
+ --enable-bindings=ocaml --enable-targets=all \
+ --disable-expensive-checks --disable-debug-runtime \
+ --disable-assertions --with-binutils-include=/usr/include \
+ $_optimize_flag
+ make
+}
+
+package_llvm() {
+ pkgdesc="Low Level Virtual Machine"
+ depends=('perl' 'libffi')
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # We move the clang directory out of the tree so it won't get installed and
+ # then we bring it back in for the clang package
+ mv tools/clang "$srcdir"
+ # -j1 is due to race conditions during the installation of the OCaml bindings
+ make -j1 DESTDIR="$pkgdir" install
+ mv "$srcdir/clang" tools
+
+ # OCaml bindings go to a separate package
+ rm -rf "$srcdir"/{ocaml,ocamldoc}
+ mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
+
+ # Remove duplicate files installed by the OCaml bindings
+ rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib/llvm/*.a
+
+ # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
+ sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config"
+
+ # Get rid of example Hello transformation
+ rm "$pkgdir"/usr/lib/llvm/*LLVMHello.*
+
+ # Symlink the gold plugin where clang expects it
+ ln -s "llvm/libLLVMgold.so" "$pkgdir/usr/lib/LLVMgold.so"
+
+ # Add ld.so.conf.d entry
+ install -d "$pkgdir/etc/ld.so.conf.d"
+ echo /usr/lib/llvm >"$pkgdir/etc/ld.so.conf.d/llvm.conf"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_llvm-ocaml() {
+ pkgdesc="OCaml bindings for LLVM"
+ depends=("llvm=$pkgver-$pkgrel" 'ocaml')
+
+ cd "$srcdir/llvm-$pkgver"
+
+ install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
+ cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
+ cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
+
+ # Remove execute bit from static libraries
+ chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/llvm-ocaml/LICENSE"
+}
+
+package_clang() {
+ pkgdesc="C language family frontend for LLVM"
+ url="http://clang.llvm.org/"
+ # It looks like clang still needs GCC to assemble and link object files
+ # See http://old.nabble.com/%22clang--v%22-shows-a-GCC-call-td28378453.html
+ depends=("llvm=$pkgver-$pkgrel" 'gcc=4.6.0')
+
+ # Fix installation path for clang docs
+ sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
+ "$srcdir/llvm-$pkgver/Makefile.config"
+
+ cd "$srcdir/llvm-$pkgver/tools/clang"
+ make DESTDIR="$pkgdir" install
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib/llvm/*.a
+
+ # Revert the path change in case we want to do a repackage later
+ sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
+ "$srcdir/llvm-$pkgver/Makefile.config"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang/LICENSE"
+}
+
+package_clang-analyzer() {
+ pkgdesc="A source code analysis framework"
+ url="http://clang-analyzer.llvm.org/"
+ depends=("clang=$pkgver-$pkgrel" 'python2')
+
+ cd "$srcdir/llvm-$pkgver/tools/clang"
+
+ install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
+ for tool in scan-{build,view}; do
+ cp -r tools/$tool "$pkgdir/usr/lib/clang-analyzer"
+ ln -s /usr/lib/clang-analyzer/$tool/$tool "$pkgdir/usr/bin"
+ done
+
+ # Use Python 2
+ sed -i 's/env python$/\02/' \
+ "$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
+ "$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
+
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir/usr/lib/clang-analyzer"
+ python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang-analyzer/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/llvm/clang-2.8-alignOf.patch b/community-testing/llvm/clang-2.8-alignOf.patch
new file mode 100644
index 000000000..77aa5219a
--- /dev/null
+++ b/community-testing/llvm/clang-2.8-alignOf.patch
@@ -0,0 +1,199 @@
+Index: lib/Basic/IdentifierTable.cpp
+===================================================================
+--- lib/Basic/IdentifierTable.cpp (revision 117774)
++++ lib/Basic/IdentifierTable.cpp (revision 117775)
+@@ -390,7 +390,7 @@
+ unsigned Size = sizeof(MultiKeywordSelector) + nKeys*sizeof(IdentifierInfo *);
+ MultiKeywordSelector *SI =
+ (MultiKeywordSelector*)SelTabImpl.Allocator.Allocate(Size,
+- llvm::alignof<MultiKeywordSelector>());
++ llvm::alignOf<MultiKeywordSelector>());
+ new (SI) MultiKeywordSelector(nKeys, IIV);
+ SelTabImpl.Table.InsertNode(SI, InsertPos);
+ return Selector(SI);
+Index: lib/AST/ExprCXX.cpp
+===================================================================
+--- lib/AST/ExprCXX.cpp (revision 117774)
++++ lib/AST/ExprCXX.cpp (revision 117775)
+@@ -233,7 +233,7 @@
+ if (NumTemplateArgs != 0)
+ size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
+
+- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedLookupExpr>());
++ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedLookupExpr>());
+ UnresolvedLookupExpr *E = new (Mem) UnresolvedLookupExpr(EmptyShell());
+ E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
+ return E;
+@@ -261,7 +261,7 @@
+ if (NumResults) {
+ Results = static_cast<DeclAccessPair *>(
+ C.Allocate(sizeof(DeclAccessPair) * NumResults,
+- llvm::alignof<DeclAccessPair>()));
++ llvm::alignOf<DeclAccessPair>()));
+ memcpy(Results, &*Begin.getIterator(),
+ NumResults * sizeof(DeclAccessPair));
+ }
+@@ -737,7 +737,7 @@
+ if (TemplateArgs)
+ size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
+
+- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
++ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
+ return new (Mem) CXXDependentScopeMemberExpr(C, Base, BaseType,
+ IsArrow, OperatorLoc,
+ Qualifier, QualifierRange,
+@@ -756,7 +756,7 @@
+
+ std::size_t size = sizeof(CXXDependentScopeMemberExpr) +
+ ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
+- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
++ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
+ CXXDependentScopeMemberExpr *E
+ = new (Mem) CXXDependentScopeMemberExpr(C, 0, QualType(),
+ 0, SourceLocation(), 0,
+@@ -812,7 +812,7 @@
+ if (TemplateArgs)
+ size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
+
+- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
++ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
+ return new (Mem) UnresolvedMemberExpr(C,
+ Dependent ? C.DependentTy : C.OverloadTy,
+ Dependent, HasUnresolvedUsing, Base, BaseType,
+@@ -826,7 +826,7 @@
+ if (NumTemplateArgs != 0)
+ size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
+
+- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
++ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
+ UnresolvedMemberExpr *E = new (Mem) UnresolvedMemberExpr(EmptyShell());
+ E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
+ return E;
+Index: lib/AST/DeclObjC.cpp
+===================================================================
+--- lib/AST/DeclObjC.cpp (revision 117774)
++++ lib/AST/DeclObjC.cpp (revision 117775)
+@@ -711,7 +711,7 @@
+ void ObjCClassDecl::setClassList(ASTContext &C, ObjCInterfaceDecl*const*List,
+ const SourceLocation *Locs, unsigned Num) {
+ ForwardDecls = (ObjCClassRef*) C.Allocate(sizeof(ObjCClassRef)*Num,
+- llvm::alignof<ObjCClassRef>());
++ llvm::alignOf<ObjCClassRef>());
+ for (unsigned i = 0; i < Num; ++i)
+ new (&ForwardDecls[i]) ObjCClassRef(List[i], Locs[i]);
+
+Index: lib/AST/Stmt.cpp
+===================================================================
+--- lib/AST/Stmt.cpp (revision 117774)
++++ lib/AST/Stmt.cpp (revision 117775)
+@@ -416,7 +416,7 @@
+ Stmt *atFinallyStmt) {
+ unsigned Size = sizeof(ObjCAtTryStmt) +
+ (1 + NumCatchStmts + (atFinallyStmt != 0)) * sizeof(Stmt *);
+- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
++ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
+ return new (Mem) ObjCAtTryStmt(atTryLoc, atTryStmt, CatchStmts, NumCatchStmts,
+ atFinallyStmt);
+ }
+@@ -426,7 +426,7 @@
+ bool HasFinally) {
+ unsigned Size = sizeof(ObjCAtTryStmt) +
+ (1 + NumCatchStmts + HasFinally) * sizeof(Stmt *);
+- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
++ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
+ return new (Mem) ObjCAtTryStmt(EmptyShell(), NumCatchStmts, HasFinally);
+ }
+
+@@ -448,7 +448,7 @@
+ std::size_t Size = sizeof(CXXTryStmt);
+ Size += ((numHandlers + 1) * sizeof(Stmt));
+
+- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
++ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
+ return new (Mem) CXXTryStmt(tryLoc, tryBlock, handlers, numHandlers);
+ }
+
+@@ -457,7 +457,7 @@
+ std::size_t Size = sizeof(CXXTryStmt);
+ Size += ((numHandlers + 1) * sizeof(Stmt));
+
+- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
++ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
+ return new (Mem) CXXTryStmt(Empty, numHandlers);
+ }
+
+Index: lib/AST/Expr.cpp
+===================================================================
+--- lib/AST/Expr.cpp (revision 117774)
++++ lib/AST/Expr.cpp (revision 117775)
+@@ -257,7 +257,7 @@
+ if (TemplateArgs)
+ Size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
+
+- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
++ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
+ return new (Mem) DeclRefExpr(Qualifier, QualifierRange, D, NameInfo,
+ TemplateArgs, T);
+ }
+@@ -271,7 +271,7 @@
+ if (NumTemplateArgs)
+ Size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
+
+- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
++ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
+ return new (Mem) DeclRefExpr(EmptyShell());
+ }
+
+@@ -432,7 +432,7 @@
+ // any concatenated string tokens.
+ void *Mem = C.Allocate(sizeof(StringLiteral)+
+ sizeof(SourceLocation)*(NumStrs-1),
+- llvm::alignof<StringLiteral>());
++ llvm::alignOf<StringLiteral>());
+ StringLiteral *SL = new (Mem) StringLiteral(Ty);
+
+ // OPTIMIZE: could allocate this appended to the StringLiteral.
+@@ -452,7 +452,7 @@
+ StringLiteral *StringLiteral::CreateEmpty(ASTContext &C, unsigned NumStrs) {
+ void *Mem = C.Allocate(sizeof(StringLiteral)+
+ sizeof(SourceLocation)*(NumStrs-1),
+- llvm::alignof<StringLiteral>());
++ llvm::alignOf<StringLiteral>());
+ StringLiteral *SL = new (Mem) StringLiteral(QualType());
+ SL->StrData = 0;
+ SL->ByteLength = 0;
+@@ -714,7 +714,7 @@
+ if (targs)
+ Size += ExplicitTemplateArgumentList::sizeFor(*targs);
+
+- void *Mem = C.Allocate(Size, llvm::alignof<MemberExpr>());
++ void *Mem = C.Allocate(Size, llvm::alignOf<MemberExpr>());
+ MemberExpr *E = new (Mem) MemberExpr(base, isarrow, memberdecl, nameinfo, ty);
+
+ if (hasQualOrFound) {
+Index: lib/AST/DeclCXX.cpp
+===================================================================
+--- lib/AST/DeclCXX.cpp (revision 117774)
++++ lib/AST/DeclCXX.cpp (revision 117775)
+@@ -1057,7 +1057,7 @@
+ unsigned NumIndices) {
+ void *Mem = Context.Allocate(sizeof(CXXBaseOrMemberInitializer) +
+ sizeof(VarDecl *) * NumIndices,
+- llvm::alignof<CXXBaseOrMemberInitializer>());
++ llvm::alignOf<CXXBaseOrMemberInitializer>());
+ return new (Mem) CXXBaseOrMemberInitializer(Context, Member, MemberLoc,
+ L, Init, R, Indices, NumIndices);
+ }
+Index: lib/Lex/TokenLexer.cpp
+===================================================================
+--- lib/Lex/TokenLexer.cpp (revision 117774)
++++ lib/Lex/TokenLexer.cpp (revision 117775)
+@@ -287,7 +287,7 @@
+ llvm::BumpPtrAllocator &Alloc = PP.getPreprocessorAllocator();
+ Token *Res =
+ static_cast<Token *>(Alloc.Allocate(sizeof(Token)*ResultToks.size(),
+- llvm::alignof<Token>()));
++ llvm::alignOf<Token>()));
+ if (NumTokens)
+ memcpy(Res, &ResultToks[0], NumTokens*sizeof(Token));
+ Tokens = Res;
diff --git a/community-testing/llvm/clang-2.8-cindexer-clang-path.patch b/community-testing/llvm/clang-2.8-cindexer-clang-path.patch
new file mode 100644
index 000000000..e283009e9
--- /dev/null
+++ b/community-testing/llvm/clang-2.8-cindexer-clang-path.patch
@@ -0,0 +1,13 @@
+diff -upr clang-2.8.orig/tools/libclang/CIndexer.cpp clang-2.8/tools/libclang/CIndexer.cpp
+--- clang-2.8.orig/tools/libclang/CIndexer.cpp 2010-05-27 23:16:37.000000000 +0300
++++ clang-2.8/tools/libclang/CIndexer.cpp 2011-02-11 01:14:20.000000000 +0200
+@@ -68,7 +68,8 @@ const llvm::sys::Path& CIndexer::getClan
+
+ // We now have the CIndex directory, locate clang relative to it.
+ CIndexPath.eraseComponent();
+- CIndexPath.appendComponent("..");
++ CIndexPath.eraseComponent();
++ CIndexPath.eraseComponent();
+ CIndexPath.appendComponent("bin");
+ CIndexPath.appendComponent("clang");
+ #endif
diff --git a/community-testing/llvm/clang-plugin-loader-registry.patch b/community-testing/llvm/clang-plugin-loader-registry.patch
new file mode 100644
index 000000000..f46eb9fce
--- /dev/null
+++ b/community-testing/llvm/clang-plugin-loader-registry.patch
@@ -0,0 +1,11 @@
+diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map
+--- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200
++++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300
+@@ -2,6 +2,7 @@
+ global: main;
+ __progname;
+ environ;
++ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE;
+
+ local: *;
+ };
diff --git a/community-testing/llvm/cpp-headers.patch b/community-testing/llvm/cpp-headers.patch
new file mode 100644
index 000000000..1526d1f5a
--- /dev/null
+++ b/community-testing/llvm/cpp-headers.patch
@@ -0,0 +1,17 @@
+diff -uprb clang-2.7.orig/lib/Frontend/InitHeaderSearch.cpp clang-2.7/lib/Frontend/InitHeaderSearch.cpp
+--- clang-2.7.orig/lib/Frontend/InitHeaderSearch.cpp 2010-03-06 21:38:10.000000000 +0200
++++ clang-2.7/lib/Frontend/InitHeaderSearch.cpp 2010-04-30 19:05:24.000000000 +0300
+@@ -539,10 +539,10 @@ void InitHeaderSearch::AddDefaultCPlusPl
+ "i586-suse-linux", "", "", triple);
+ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
+ "x86_64-suse-linux", "", "", triple);
+- // Arch Linux 2008-06-24
+- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
++ // Arch Linux 2010-12-17
++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6.0",
+ "i686-pc-linux-gnu", "", "", triple);
+- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
++ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6.0",
+ "x86_64-unknown-linux-gnu", "", "", triple);
+ // Gentoo x86 2009.1 stable
+ AddGnuCPlusPlusIncludePaths(
diff --git a/community-testing/llvm/llvm-2.8-alignOf.patch b/community-testing/llvm/llvm-2.8-alignOf.patch
new file mode 100644
index 000000000..d48c10cd9
--- /dev/null
+++ b/community-testing/llvm/llvm-2.8-alignOf.patch
@@ -0,0 +1,59 @@
+Index: include/llvm/ADT/StringMap.h
+===================================================================
+--- include/llvm/ADT/StringMap.h (revision 117773)
++++ include/llvm/ADT/StringMap.h (revision 117774)
+@@ -167,7 +167,7 @@
+
+ unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
+ KeyLength+1;
+- unsigned Alignment = alignof<StringMapEntry>();
++ unsigned Alignment = alignOf<StringMapEntry>();
+
+ StringMapEntry *NewItem =
+ static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
+Index: include/llvm/Support/AlignOf.h
+===================================================================
+--- include/llvm/Support/AlignOf.h (revision 117773)
++++ include/llvm/Support/AlignOf.h (revision 117774)
+@@ -49,12 +49,12 @@
+
+ };
+
+-/// alignof - A templated function that returns the mininum alignment of
++/// alignOf - A templated function that returns the mininum alignment of
+ /// of a type. This provides no extra functionality beyond the AlignOf
+ /// class besides some cosmetic cleanliness. Example usage:
+-/// alignof<int>() returns the alignment of an int.
++/// alignOf<int>() returns the alignment of an int.
+ template <typename T>
+-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
++static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
+
+ } // end namespace llvm
+ #endif
+Index: include/llvm/Support/Allocator.h
+===================================================================
+--- include/llvm/Support/Allocator.h (revision 117773)
++++ include/llvm/Support/Allocator.h (revision 117774)
+@@ -201,7 +201,7 @@
+ char *End = Slab == Allocator.CurSlab ? Allocator.CurPtr :
+ (char *)Slab + Slab->Size;
+ for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
+- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
++ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
+ if (Ptr + sizeof(T) <= End)
+ reinterpret_cast<T*>(Ptr)->~T();
+ }
+Index: include/llvm/CodeGen/SlotIndexes.h
+===================================================================
+--- include/llvm/CodeGen/SlotIndexes.h (revision 117773)
++++ include/llvm/CodeGen/SlotIndexes.h (revision 117774)
+@@ -393,7 +393,7 @@
+ IndexListEntry *entry =
+ static_cast<IndexListEntry*>(
+ ileAllocator.Allocate(sizeof(IndexListEntry),
+- alignof<IndexListEntry>()));
++ alignOf<IndexListEntry>()));
+
+ new (entry) IndexListEntry(mi, index);
+
diff --git a/community-testing/open-vm-tools-modules/PKGBUILD b/community-testing/open-vm-tools-modules/PKGBUILD
new file mode 100644
index 000000000..eb85e4e9c
--- /dev/null
+++ b/community-testing/open-vm-tools-modules/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 42477 2011-03-16 21:51:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
+
+pkgname=open-vm-tools-modules
+pkgver=2011.02.23
+_pkgsubver=368700
+pkgrel=1
+pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools."
+arch=('i686' 'x86_64')
+url="http://open-vm-tools.sourceforge.net/"
+license=('GPL')
+makedepends=('libdnet' 'icu' 'uriparser' 'kernel26-headers')
+depends=("kernel26")
+install=$pkgname.install
+source=(http://easynews.dl.sourceforge.net/sourceforge/open-vm-tools/open-vm-tools-$pkgver-${_pkgsubver}.tar.gz)
+md5sums=('488601e384daeab2c6ffd81e1a95cad7')
+
+build() {
+_kernver=`pacman -Q kernel26 | cut -d . -f 3 | cut -f 1 -d -`
+depends=("kernel26>=2.6.${_kernver}" "kernel26<2.6.`expr ${_kernver} + 1`")
+
+ KERNEL_VERSION="2.6.${_kernver}-ARCH"
+ msg "Kernel = $KERNEL_VERSION"
+
+ cd "$srcdir/open-vm-tools-${pkgver}-${_pkgsubver}"
+
+ sed -i 's#-lproc-3.2.7#-lproc-3.2.8#' configure
+
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr
+
+ (cd modules && make modules)
+
+ mkdir -p $pkgdir/lib/modules/$KERNEL_VERSION/misc/
+ for MOD in `find -type f -name '*.ko'`; do
+ install -D -m644 $MOD $pkgdir/lib/modules/$KERNEL_VERSION/misc/
+ done
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='$KERNEL_VERSION'/" $startdir/$pkgname.install
+}
diff --git a/community-testing/open-vm-tools-modules/open-vm-tools-modules.install b/community-testing/open-vm-tools-modules/open-vm-tools-modules.install
new file mode 100644
index 000000000..6ebc18c36
--- /dev/null
+++ b/community-testing/open-vm-tools-modules/open-vm-tools-modules.install
@@ -0,0 +1,35 @@
+KERNEL_VERSION='2.6.38-ARCH'
+
+post_install() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+
+ VMXNET="install pcnet32 /sbin/modprobe -q --ignore-install vmxnet;"
+ VMXNET="$VMXNET /sbin/modprobe -q --ignore-install pcnet32 $CMDLINE_OPTS;"
+ VMXNET="$VMXNET /bin/true;"
+
+ echo ">>> Enabling vmxnet driver in /etc/modprobe.d/modprobe.conf"
+ echo ">>> (this will disable pcnet32 driver)"
+ sed "$ a \\\n#VMware net driver\n$VMXNET" -i /etc/modprobe.d/modprobe.conf
+ echo
+
+ echo ">>>"
+ echo ">>> If vmxnet driver doesn't handle your NIC, you have to manually"
+ echo ">>> disable loading of pcnet32 driver by blacklisting it in /etc/rc.conf."
+ echo ">>>"
+}
+
+post_upgrade() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+post_remove() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+
+ echo ">>> Disabling vmxnet driver in /etc/modprobe.d/modprobe.conf"
+ sed "/VMware net driver/,+1 d" -i /etc/modprobe.d/modprobe.conf
+
+ echo ">>>"
+ echo ">>> Remember to un-blacklist pcnet32 driver in /etc/rc.conf."
+ echo ">>>"
+}
+
diff --git a/community-testing/open-vm-tools/PKGBUILD b/community-testing/open-vm-tools/PKGBUILD
new file mode 100644
index 000000000..8dbb03d5f
--- /dev/null
+++ b/community-testing/open-vm-tools/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 42480 2011-03-16 21:57:43Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
+
+pkgname=open-vm-tools
+pkgver=2011.02.23
+_pkgsubver=368700
+pkgrel=1
+pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools."
+arch=('i686' 'x86_64')
+url="http://open-vm-tools.sourceforge.net/"
+license=('LGPL')
+depends=('open-vm-tools-modules' 'libdnet' 'icu' 'procps' 'glib2' 'uriparser' 'libsigc++' 'libxss')
+makedepends=('chrpath' 'doxygen')
+optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm')
+options=('docs' '!libtool')
+install=$pkgname.install
+source=(http://switch.dl.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}.tar.gz
+ scripts-network.patch
+ scripts-network-FS19541.patch
+ open-vm-tools-X11Bool.patch
+ open-vm-tools.conf.d
+ open-vm-tools.rc.d
+ tools.conf
+ vmware-guestd
+ xautostart.conf)
+md5sums=('488601e384daeab2c6ffd81e1a95cad7'
+ '06f7448e274db2a911f582e276088fc9'
+ 'b183ec265200d68431a5e4eb1b0c8cf5'
+ '8c333a979578bdc0c3134c1dd6bb7353'
+ '79b0a14d86191fee70a4639da8bd7785'
+ '67cb83a9e5a4dd016c1a1da2863ca36d'
+ 'b55d15e2c4be396aad709aeca91033d3'
+ '73cc1a2665b0dd62427733d62ead8b9a'
+ '75a25d83417e683957321f97a00f8465')
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
+
+# [ $NOEXTRACT -eq 1 ] || patch -Np1 -i $srcdir/open-vm-tools-X11Bool.patch
+
+ [ $NOEXTRACT -eq 1 ] || sed -i 's#3.2.7#3.2.8#' configure
+ [ $NOEXTRACT -eq 1 ] || sed -i 's#3.2.7#3.2.8#' configure.ac
+
+ unset LDFLAGS
+
+ [ -f Makefile ] || ./configure --prefix=/usr --without-kernel-modules
+ make
+ make install DESTDIR=$pkgdir
+ install -D -m 755 scripts/common/vmware-xdg-detect-de $pkgdir/usr/bin/vmware-xdg-detect-de
+ chmod 07755 $pkgdir/usr/bin/vmware-user-suid-wrapper
+
+ cd $pkgdir
+ patch -Np1 -i $srcdir/scripts-network.patch etc/vmware-tools/scripts/vmware/network
+ patch -Np1 -i $srcdir/scripts-network-FS19541.patch etc/vmware-tools/scripts/vmware/network
+
+ ln -fs /usr/sbin/mount.vmhgfs $pkgdir/sbin/mount.vmhgfs
+
+ install -D -m 755 $srcdir/open-vm-tools.rc.d $pkgdir/etc/rc.d/open-vm-tools
+ install -D -m 644 $srcdir/open-vm-tools.conf.d $pkgdir/etc/conf.d/open-vm-tools
+ install -D -m 644 $srcdir/tools.conf $pkgdir/etc/vmware-tools/tools.conf
+ install -D -m 644 $srcdir/xautostart.conf $pkgdir/etc/vmware-tools/xautostart.conf
+ install -D -m 644 $srcdir/vmware-guestd $pkgdir/etc/pam.d/vmware-guestd
+ rm -rf $pkgdir/usr/etc
+
+ cd $pkgdir && find -type f -exec sh -c "file {} | grep ELF >/dev/null && echo {} && chrpath -d {}" \;
+}
diff --git a/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch b/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch
new file mode 100644
index 000000000..f12581807
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch
@@ -0,0 +1,15 @@
+diff -wbBur open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h
+--- open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h 2010-08-24 19:59:22.000000000 +0000
++++ open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h 2010-08-30 09:38:48.000000000 +0000
+@@ -83,8 +83,11 @@
+
+ /* STRICT ANSI means the Xserver build and X defines Bool differently. */
+ #if !defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__)
++# ifndef _XTYPEDEF_BOOL
++# define _XTYPEDEF_BOOL
+ typedef char Bool;
+ #endif
++#endif
+
+ #ifndef FALSE
+ #define FALSE 0
diff --git a/community-testing/open-vm-tools/open-vm-tools.conf.d b/community-testing/open-vm-tools/open-vm-tools.conf.d
new file mode 100644
index 000000000..83f7864e8
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.conf.d
@@ -0,0 +1,6 @@
+# Enable support for Drag'n'Drop
+VM_DRAG_AND_DROP="yes"
+
+# vmware-guestd settings
+GUESTD_BIN="/usr/sbin/vmware-guestd"
+PIDFILE="/var/run/vmware-guestd.pid"
diff --git a/community-testing/open-vm-tools/open-vm-tools.install b/community-testing/open-vm-tools/open-vm-tools.install
new file mode 100644
index 000000000..88d9b88e6
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.install
@@ -0,0 +1,10 @@
+post_install() {
+ [ ! -d "/mnt/hgfs" ] && mkdir /mnt/hgfs
+ echo ">>>"
+ echo ">>> You can mount VMware Shared Folders via:"
+ echo ">>> mount -t vmhgfs .host:/ /mnt/hgfs"
+ echo ">>>"
+ echo ">>> or by adding this line to /etc/fstab:"
+ echo ">>> .host:/ /mnt/hgfs vmhgfs defaults 0 0"
+ echo ">>>"
+}
diff --git a/community-testing/open-vm-tools/open-vm-tools.rc.d b/community-testing/open-vm-tools/open-vm-tools.rc.d
new file mode 100644
index 000000000..0c9221489
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.rc.d
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/open-vm-tools ] && . /etc/conf.d/open-vm-tools
+
+PID=`pidof -o %PPID /usr/bin/vmtoolsd`
+case "$1" in
+ start)
+ stat_busy "Starting Open Virtual Machine Tools"
+
+ if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
+ VMBLOCK=`grep -w vmblock /proc/modules`
+ [ -z "$VMBLOCK" ] && modprobe vmblock
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+
+ DND_TMPDIR="/tmp/VMwareDnD"
+ if [ ! -d "$DND_TMPDIR" ]; then
+ mkdir $DND_TMPDIR
+ chmod 1777 $DND_TMPDIR
+ fi
+
+ mount -t vmblock none /proc/fs/vmblock/mountPoint
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ fi
+
+
+ for m in vmhgfs vmsync; do
+ VMMOD=`grep -w $m /proc/modules`
+ [ -z "$VMMOD" ] && \
+ { modprobe $m
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi; }
+ done
+
+
+ [ -z "$PID" ] && /usr/bin/vmtoolsd --background $PIDFILE
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon open-vm-tools
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Open Virtual Machine Tools"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+# if [ $? -gt 0 ]; then
+# stat_fail
+# exit 1
+# fi
+
+ for m in vmhgfs vmsync vmci; do
+ VMMOD=`grep -w $m /proc/modules`
+ [ ! -z "$VMMOD" ] && rmmod $m
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 4
+ fi
+ done
+
+ if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
+ MOUNTPOINT=`grep -w "none /proc/fs/vmblock/mountPoint vmblock" /proc/modules`
+ [ -z "$MOUNTPOINT" ] && umount /proc/fs/vmblock/mountPoint
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 5
+ fi
+
+ DND_TMPDIR="/tmp/VMwareDnD"
+ rm -r $DND_TMPDIR
+
+ VMBLOCK=`grep -w vmblock /proc/modules`
+ [ ! -z "$VMBLOCK" ] && rmmod vmblock
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 6
+ fi
+ fi
+
+ rm_daemon open-vm-tools
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/open-vm-tools/scripts-network-FS19541.patch b/community-testing/open-vm-tools/scripts-network-FS19541.patch
new file mode 100644
index 000000000..1f65b9824
--- /dev/null
+++ b/community-testing/open-vm-tools/scripts-network-FS19541.patch
@@ -0,0 +1,40 @@
+--- network 2010-04-28 12:30:51.000000000 +0200
++++ network.bak 2010-05-20 12:12:50.000000000 +0200
+@@ -76,7 +76,7 @@
+ else
+ echo `date` "[rescue_nic] activating $nic ..."
+
+- ifup $nic
++ ifconfig $nic up
+ exitCode=`expr $exitCode \| $?`
+ fi
+ done < $activeList
+@@ -103,7 +103,7 @@
+ TranquilizeNetworkManager() {
+ # `which' may be a bit noisy, so we'll shush it.
+ dbusSend=`which dbus-send 2>/dev/null`
+- if [ $? -eq 0 ]; then
++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
+ # NetworkManager 0.6
+ $dbusSend --system --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+@@ -133,7 +133,7 @@
+ WakeNetworkManager() {
+ # `which' may be a bit noisy, so we'll shush it.
+ dbusSend=`which dbus-send 2>/dev/null`
+- if [ $? -eq 0 ]; then
++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
+ # NetworkManager 0.6
+ $dbusSend --system --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+@@ -165,8 +165,8 @@
+
+ # XXX Are these really necessary? If so, we should have seen customer
+ # complaints by now.
+- which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
+- which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
++# which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
++ which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
+
+ case "$1" in
+ poweron-vm)
diff --git a/community-testing/open-vm-tools/scripts-network.patch b/community-testing/open-vm-tools/scripts-network.patch
new file mode 100644
index 000000000..13ea7f565
--- /dev/null
+++ b/community-testing/open-vm-tools/scripts-network.patch
@@ -0,0 +1,63 @@
+--- network.org 2010-04-28 10:21:14.000000000 +0000
++++ network 2010-04-28 10:24:00.000000000 +0000
+@@ -34,51 +34,6 @@
+
+
+ #
+-# find_networking_script --
+-#
+-# Searches common Linux distro init/rc paths to find a singular network
+-# services script.
+-#
+-# Result:
+-# Returns a valid networking script path on success or "error" on failure.
+-#
+-# Side effects:
+-# None.
+-#
+-
+-find_networking_script() {
+- local script="error"
+- for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do
+- if [ -d "$dir/rc0.d" ] &&
+- [ -d "$dir/rc1.d" ] &&
+- [ -d "$dir/rc2.d" ] &&
+- [ -d "$dir/rc3.d" ] &&
+- [ -d "$dir/rc4.d" ] &&
+- [ -d "$dir/rc5.d" ] &&
+- [ -d "$dir/rc6.d" ]; then
+-
+- # Now find the appropriate networking script.
+- if [ -d "$dir/init.d" ]; then
+- if [ -x "$dir/init.d/network" ]; then
+- script="$dir/init.d/network"
+- elif [ -x "$dir/init.d/networking" ]; then
+- script="$dir/init.d/networking"
+- fi
+- else
+- if [ -x "$dir/network" ]; then
+- script="$dir/network"
+- elif [ -x "$dir/networking" ]; then
+- script="$dir/networking"
+- fi
+- fi
+- fi
+- done
+-
+- echo "$script"
+-}
+-
+-
+-#
+ # save_active_NIC_list --
+ #
+ # Records a list of every active NIC to /var/run/vmware-active-nics.
+@@ -205,7 +160,7 @@
+ exitCode=0
+ activeList=/var/run/vmware-active-nics
+
+- networkScript=`find_networking_script`
++ networkScript=/etc/rc.d/network
+ [ "$networkScript" != "error" ] || Panic "Cannot find system networking script."
+
+ # XXX Are these really necessary? If so, we should have seen customer
diff --git a/community-testing/open-vm-tools/tools.conf b/community-testing/open-vm-tools/tools.conf
new file mode 100644
index 000000000..0bb2681b1
--- /dev/null
+++ b/community-testing/open-vm-tools/tools.conf
@@ -0,0 +1 @@
+bindir = "/usr/bin"
diff --git a/community-testing/open-vm-tools/vmware-guestd b/community-testing/open-vm-tools/vmware-guestd
new file mode 100644
index 000000000..ac80c0385
--- /dev/null
+++ b/community-testing/open-vm-tools/vmware-guestd
@@ -0,0 +1,6 @@
+#%PAM-1.0
+
+auth sufficient /lib/security/pam_unix2.so shadow nullok
+auth required /lib/security/pam_unix_auth.so shadow nullok
+account sufficient /lib/security/pam_unix2.so
+account required /lib/security/pam_unix_acct.so
diff --git a/community-testing/open-vm-tools/xautostart.conf b/community-testing/open-vm-tools/xautostart.conf
new file mode 100644
index 000000000..829f379ce
--- /dev/null
+++ b/community-testing/open-vm-tools/xautostart.conf
@@ -0,0 +1,6 @@
+gnome-panel
+ksmserver
+startkde
+kwrapper
+panel
+xfce4-panel
diff --git a/community-testing/pysfml/PKGBUILD b/community-testing/pysfml/PKGBUILD
new file mode 100644
index 000000000..204197c1b
--- /dev/null
+++ b/community-testing/pysfml/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 29367 2010-10-13 15:58:47Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: scj <scj(at)archlinux(dot)us>
+
+pkgname=('python-pysfml' 'python2-pysfml')
+pkgbase=python-pysfml
+pkgver=1.6
+pkgrel=2
+pkgdesc="Python bindings for the SFML library"
+arch=('i686' 'x86_64')
+url="http://www.sfml-dev.org"
+makedepends=('sfml' 'python' 'python2')
+license=('zlib')
+depends=()
+replaces=('pysfml')
+source=(http://downloads.sourceforge.net/sfml/SFML-${pkgver}-python-sdk.zip)
+md5sums=('9acaf793ae9a498a51f7f6fc74307b32')
+
+build() {
+ cd "${srcdir}/SFML-${pkgver}/python"
+}
+
+package_python-pysfml() {
+ depends=('sfml' 'python')
+
+ cd "${srcdir}/SFML-${pkgver}/python"
+
+ python3 setup.py install --root=${pkgdir}
+}
+
+package_python2-pysfml() {
+ depends=('sfml' 'python2')
+
+ cd "${srcdir}/SFML-${pkgver}/python"
+
+ python2 setup.py install --root=${pkgdir}
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/systemd/PKGBUILD b/community-testing/systemd/PKGBUILD
new file mode 100644
index 000000000..6a735db90
--- /dev/null
+++ b/community-testing/systemd/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 44275 2011-04-05 00:12:36Z dreisner $
+# Maintainer: Dave Reisner <d@falconindy.com>
+
+pkgname=systemd
+pkgver=23
+pkgrel=1
+pkgdesc="Session and Startup manager"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/wiki/Software/systemd"
+license=('GPL2')
+depends=('dbus-core' 'initscripts' 'sysvinit' 'util-linux>=2.19')
+makedepends=('docbook-xsl' 'libxslt' 'cryptsetup' 'gtk2' 'libnotify')
+optdepends=('cryptsetup: required for encrypted block devices'
+ 'dbus-python: systemd-analyze'
+ 'gtk2: systemadm'
+ 'initscripts-systemd: native boot and initialization scripts'
+ 'libnotify: systemadm'
+ 'python2-cairo: systemd-analyze'
+ 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts')
+groups=('systemd')
+options=('!libtool')
+backup=(etc/systemd/system.conf
+ etc/tmpfiles.d/systemd.conf
+ etc/tmpfiles.d/x11.conf)
+install=systemd.install
+source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "os-release")
+md5sums=('24b46ce024316189653ebb39fa745ab2'
+ 'f9922299150b4adda7b89e10bca33033')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --with-rootdir=/ \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-audit \
+ --disable-tcpwrap
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
+ install -dm755 "$pkgdir/etc/modules-load.d" "$pkgdir/run"
+ printf "d /var/run/console 755 root root\n" > "$pkgdir/etc/tmpfiles.d/console.conf"
+
+ # fix systemd-analyze for python2
+ sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze"
+
+ # install target doesn't bring in plymouth units
+ install -m644 units/plymouth-* "$pkgdir/lib/systemd/system"
+
+ # rename man pages to avoid conflicts with sysvinit
+ cd "$pkgdir/usr/share/man/man8"
+ for manpage in telinit halt reboot poweroff runlevel shutdown; do
+ mv {,systemd.}"$manpage.8"
+ done
+}
+
diff --git a/community-testing/systemd/os-release b/community-testing/systemd/os-release
new file mode 100644
index 000000000..0b45d5265
--- /dev/null
+++ b/community-testing/systemd/os-release
@@ -0,0 +1,4 @@
+NAME=Arch Linux
+ID=arch
+PRETTY_NAME=Arch Linux
+ANSI_COLOR=1;36 \ No newline at end of file
diff --git a/community-testing/systemd/systemd.install b/community-testing/systemd/systemd.install
new file mode 100644
index 000000000..259d09b9e
--- /dev/null
+++ b/community-testing/systemd/systemd.install
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+checkgroups() {
+ getent group lock >/dev/null || groupadd -g 54 lock
+
+ utmpent=$(getent group utmp)
+ if [ -z $utmpent ]; then
+ getent group utmp >/dev/null || groupadd -g 32 utmp
+ elif [ $(echo $utmpent | cut -d: -f3) = '22' ]; then
+ groupmod -g 32 utmp
+ fi
+}
+
+post_install() {
+ checkgroups
+
+ [ -f /etc/machine-id ] || /bin/systemd-machine-id-setup
+
+ # Try to read default runlevel from the old inittab if it exists
+ runlevel=$(/bin/awk -F':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
+ if [ -z "$runlevel" ]; then
+ target="/lib/systemd/system/graphical.target"
+ else
+ target="/lib/systemd/system/runlevel$runlevel.target"
+ fi
+
+ # And symlink what we found to the new-style default.target
+ /bin/ln -sf "$target" /etc/systemd/system/default.target
+
+ echo "systemd has been installed to /bin/systemd. Please ensure you append"
+ echo "init=/bin/systemd to your kernel command line in your bootloader."
+}
+
+post_upgrade() {
+ checkgroups
+
+ [ -f /etc/machine-id ] || /bin/systemd-machine-id-setup
+ /bin/systemctl daemon-reexec >/dev/null || :
+}
+
+pre_remove() {
+ /bin/rm -f /etc/systemd/system/default.target
+}
+
+post_remove() {
+ getent group lock >/dev/null && groupdel lock
+ getent group utmp >/dev/null && groupdel utmp
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/virtualbox/10-vboxdrv.rules b/community-testing/virtualbox/10-vboxdrv.rules
new file mode 100644
index 000000000..37403ae2f
--- /dev/null
+++ b/community-testing/virtualbox/10-vboxdrv.rules
@@ -0,0 +1,5 @@
+KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" ENV{ACL_MANAGE}="1"
+SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/community-testing/virtualbox/60-vboxguest.rules b/community-testing/virtualbox/60-vboxguest.rules
new file mode 100644
index 000000000..6285f7249
--- /dev/null
+++ b/community-testing/virtualbox/60-vboxguest.rules
@@ -0,0 +1,2 @@
+ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
+ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
diff --git a/community-testing/virtualbox/LocalConfig.kmk b/community-testing/virtualbox/LocalConfig.kmk
new file mode 100644
index 000000000..1a17127a0
--- /dev/null
+++ b/community-testing/virtualbox/LocalConfig.kmk
@@ -0,0 +1,17 @@
+VBOX_WITH_ADDITION_DRIVERS =
+VBOX_WITH_INSTALLER = 1
+VBOX_WITH_LINUX_ADDITIONS = 1
+VBOX_WITH_X11_ADDITIONS = 1
+VBOX_WITH_TESTCASES =
+VBOX_WITH_TESTSUITE =
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS := /usr/share/virtualbox
+VBOX_WITH_REGISTRATION_REQUEST =
+VBOX_WITH_UPDATE_REQUEST =
+VBOX_WITH_VNC := 1
+VBOX_BLD_PYTHON = python2
+VBOX_JAVA_HOME = /opt/java
diff --git a/community-testing/virtualbox/PKGBUILD b/community-testing/virtualbox/PKGBUILD
new file mode 100644
index 000000000..6191165c1
--- /dev/null
+++ b/community-testing/virtualbox/PKGBUILD
@@ -0,0 +1,210 @@
+# $Id: PKGBUILD 42565 2011-03-17 13:26:20Z ibiru $
+#Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgbase=virtualbox
+pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk')
+pkgver=4.0.4
+pkgrel=3
+arch=('i686' 'x86_64')
+url='http://virtualbox.org'
+license=('GPL' 'custom')
+makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst'
+'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'kernel26-headers>=2.6.38' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk' 'gsoap' 'vde2')
+[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
+source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
+ http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf
+ virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch
+ 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh)
+_kernver=2.6.38-ARCH
+
+build() {
+ cd "$srcdir/VirtualBox-${pkgver}_OSE"
+
+ patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch"
+ patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch"
+ patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
+
+ cp "$srcdir/LocalConfig.kmk" .
+
+ ./configure --disable-docs \
+ --enable-webservice \
+ --enable-vde \
+ --with-linux=/usr/src/linux-${_kernver}
+ source ./env.sh
+ kmk all
+
+ export KERN_DIR=/usr/src/linux-${_kernver}
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo"
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
+}
+
+package_virtualbox() {
+ pkgdesc="Powerful x86 virtualization for enterprise as well as home use"
+ depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'kernel26-headers' 'gcc' 'make')
+ optdepends=('libxt: for shared clipboard'
+ 'python2: for python support'
+ 'qt: for VirtualBox GUI'
+ 'vde2: Virtual Distributed Ethernet support'
+ 'virtualbox-sdk: developer kit')
+
+ replaces=('virtualbox-ose')
+ conflicts=('virtualbox-ose')
+ install=virtualbox.install
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls}
+
+ #doc
+ install -m 0644 "$srcdir/UserManual.pdf" "$pkgdir/usr/share/virtualbox/UserManual.pdf"
+
+ #Binaries and Wrapper with Launchers
+ install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
+ ln -sf VBox "$pkgdir/usr/bin/VBoxHeadless"
+ ln -sf VBox "$pkgdir/usr/bin/vboxheadless"
+ ln -sf VBox "$pkgdir/usr/bin/VBoxManage"
+ ln -sf VBox "$pkgdir/usr/bin/vboxmanage"
+ ln -sf VBox "$pkgdir/usr/bin/VBoxSDL"
+ ln -sf VBox "$pkgdir/usr/bin/vboxsdl"
+ ln -sf VBox "$pkgdir/usr/bin/VirtualBox"
+ ln -sf VBox "$pkgdir/usr/bin/virtualbox"
+ ln -sf VBox "$pkgdir/usr/bin/vboxwebsrv"
+
+ install -m 0755 VBoxTunctl "$pkgdir/usr/bin"
+
+ #components
+ install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
+
+ #lib
+ install -m 0755 *.so "$pkgdir/usr/lib/virtualbox"
+ install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox"
+
+ #setuid root binaries
+ install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox"
+ #other binaries
+ install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox"
+
+ #language
+ install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
+
+ #useless scripts
+ install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
+
+ #icons
+ install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png"
+
+ pushd icons
+ for i in *; do
+ install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ done
+ popd
+
+ #desktop
+ install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop"
+ install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml"
+
+ #install configuration
+ mkdir -p "$pkgdir/etc/vbox"
+ echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
+
+ #udev and licence
+ install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
+ "$pkgdir/usr/share/licenses/virtualbox/LICENSE"
+ install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
+ "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
+
+ #sources for modules
+ cp -r src ${pkgdir}/usr/lib/virtualbox
+ #install compilation script
+ install -D -m 755 "${srcdir}/vboxdrv.sh" "${pkgdir}/etc/rc.d/vboxdrv"
+}
+
+package_virtualbox-sdk() {
+ pkgdesc=" VirtualBox Software Developer Kit (SDK)"
+
+ mkdir -p "$pkgdir/usr/lib/virtualbox"
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+
+ install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py"
+ #python sdk
+ pushd sdk/installer
+ VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}"
+ popd
+ rm -rf sdk/installer
+ mv sdk "$pkgdir/usr/lib/virtualbox"
+}
+package_virtualbox-guest-additions(){
+ pkgdesc="VirtualBox user-space tools for Linux guests"
+ depends=("virtualbox-guest-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr')
+ replaces=('virtualbox-ose-additions')
+ conflicts=('virtualbox-ose-additions')
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
+
+ install -d "$pkgdir/usr/bin"
+ install -d "$pkgdir/sbin"
+ install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin"
+ install -m755 mount.vboxsf "$pkgdir/sbin"
+
+ install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/50-vboxmouse.conf \
+ "$pkgdir"/etc/X11/xorg.conf.d/50-vboxmouse.conf
+ install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules \
+ "$pkgdir"/lib/udev/rules.d/70-xorg-vboxmouse.rules
+ install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ "$pkgdir"/usr/bin/VBoxClient-all
+ install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop
+ install -D vboxmouse_drv_19.so \
+ "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so"
+ install -D vboxvideo_drv_19.so \
+ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
+ install -d "$pkgdir/usr/lib/xorg/modules/dri"
+ install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
+ ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
+ install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so"
+
+}
+package_virtualbox-guest-modules(){
+ pkgdesc="VirtualBox kernel modules for Linux guests"
+ license=('GPL')
+ install=virtualbox-guest-modules.install
+ depends=('kernel26>=2.6.38' 'kernel26<2.6.39')
+ replaces=('virtualbox-ose-additions-modules')
+ conflicts=('virtualbox-ose-additions-modules')
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+
+ cd vboxguest
+ install -D -m644 vboxguest.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko"
+
+ cd ../vboxsf
+ install -D -m644 vboxsf.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko"
+
+ cd ../vboxvideo
+ install -D -m644 vboxvideo.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko"
+
+ install -D -m 0644 "$srcdir/60-vboxguest.rules" \
+ "$pkgdir/lib/udev/rules.d/60-vboxguest.rules"
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install"
+}
+md5sums=('b4770ca14d1a8cbad9b3eb0e0028ff4b'
+ 'bf8007eea0042f745b3c252bbe7586c2'
+ '44efb3c4be214daa453a317d527f1f30'
+ '32a232b43852b9a08cb11a7bcd64b347'
+ '5f85710e0b8606de967716ded7b2d351'
+ 'ed1341881437455d9735875ddf455fbe'
+ '94514e006e73cc2fa90259a4e0eec04b'
+ '0f3f273cdbc54db221f737ad4f761c11'
+ '47da2e88de582bb2bab14580a3aa47b1')
diff --git a/community-testing/virtualbox/vboxdrv-reference.patch b/community-testing/virtualbox/vboxdrv-reference.patch
new file mode 100644
index 000000000..ed5e7f377
--- /dev/null
+++ b/community-testing/virtualbox/vboxdrv-reference.patch
@@ -0,0 +1,43 @@
+--- VirtualBox-4.0.2_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp
++++ VirtualBox-4.0.2_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp
+@@ -75,9 +75,8 @@
+ "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or "
+ "there is a permission problem with /dev/vboxdrv. Please reinstall the kernel "
+ "module by executing<br/><br/>"
+- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
+- "as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS "
+- "package first. This package keeps track of Linux kernel changes and "
++ " <font color=blue>'/etc/rc.d/vboxdrv setup'</font><br/><br/>"
++ "as root. This package keeps track of Linux kernel changes and"
+ "recompiles the vboxdrv kernel module if necessary."
+ );
+
+@@ -92,7 +91,7 @@
+ "The VirtualBox kernel modules do not match this version of "
+ "VirtualBox. The installation of VirtualBox was apparently not "
+ "successful. Executing<br/><br/>"
+- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
++ " <font color=blue>'/etc/rc.d/vboxdrv setup'</font><br/><br/>"
+ "may correct this. Make sure that you do not mix the "
+ "OSE version and the PUEL version of VirtualBox."
+ );
+--- VirtualBox-4.0.2_OSE/src/VBox/Installer/linux/VBox.sh
++++ VirtualBox-4.0.2_OSE/src/VBox/Installer/linux/VBox.sh
+@@ -34,7 +34,7 @@
+ available for the current kernel (`uname -r`) or it failed to
+ load. Please recompile the kernel module and install it by
+
+- sudo /etc/init.d/vboxdrv setup
++ /etc/rc.d/vboxdrv setup
+
+ You will not be able to start VMs until this problem is fixed.
+ EOF
+@@ -42,7 +42,7 @@
+ cat << EOF
+ WARNING: The character device /dev/vboxdrv does not exist. Try
+
+- sudo /etc/init.d/vboxdrv restart
++ /etc/rc.d/vboxdrv restart
+
+ and if that is not successful, try to re-install the package.
+ \ No newline at end of file
diff --git a/community-testing/virtualbox/vboxdrv.sh b/community-testing/virtualbox/vboxdrv.sh
new file mode 100755
index 000000000..8de14b97f
--- /dev/null
+++ b/community-testing/virtualbox/vboxdrv.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/vbox/vbox.cfg
+
+MODLIST=()
+LOG="/var/log/vbox-install.log"
+
+if [ -n "$INSTALL_DIR" ]; then
+ VBOXMANAGE="$INSTALL_DIR/VBoxManage"
+ BUILDVBOXDRV="$INSTALL_DIR/src/vboxdrv/build_in_tmp"
+ BUILDVBOXNETFLT="$INSTALL_DIR/src/vboxnetflt/build_in_tmp"
+ BUILDVBOXNETADP="$INSTALL_DIR/src/vboxnetadp/build_in_tmp"
+else
+ echo "missing vbox.cfg"
+ exit 0
+fi
+
+case "$1" in
+ setup)
+ stat_busy "Unloading VirtualBox kernel modules"
+ for module in vbox{netflt,netadp,drv}; do
+ if grep -q "^${module}" /proc/modules; then
+ MODLIST+=($module)
+ modprobe -r $module
+ fi
+ done
+ stat_done
+ for p in /lib/modules/*; do
+ if [ ! -d "$p/kernel" ]; then
+ if [ -e "$p/misc/vboxdrv.ko" ]; then
+ stat_busy "Removing old VirtualBox kernel modules from $p"
+ rm -f "$p/misc/vbox"{drv,netadp,netflt}.ko 2>/dev/null
+ rmdir -p --ignore-fail-on-non-empty "$p/misc/" 2>/dev/null
+ stat_done
+ fi
+ fi
+ done
+ if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then
+ stat_busy "Removing old VirtualBox netadp kernel module"
+ find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
+ stat_busy "Removing old VirtualBox netflt kernel module"
+ find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
+ stat_busy "Removing old VirtualBox kernel module"
+ find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ stat_busy "Recompiling VirtualBox kernel modules"
+ if ! $BUILDVBOXDRV \
+ --save-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install > $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ if ! $BUILDVBOXNETFLT \
+ --use-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install >> $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ if ! $BUILDVBOXNETADP \
+ --use-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install >> $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ stat_done
+ stat_busy "Reloading VirtualBox kernel modules"
+ for module in "${MODLIST[@]}"; do
+ modprobe $module
+ done
+ stat_done
+ ;;
+ *)
+ echo "usage: $0 {setup}"
+esac
diff --git a/community-testing/virtualbox/virtualbox-4-makeself-check.patch b/community-testing/virtualbox/virtualbox-4-makeself-check.patch
new file mode 100644
index 000000000..e1fcb8c2f
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-4-makeself-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2527,7 +2527,6 @@
+ check_compiler_h
+ [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
+ # tools/common/makeself*
+- [ $OSE -ge 1 ] && check_makeself
+ fi
+
+ [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
new file mode 100644
index 000000000..8b0d59123
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2499,7 +2499,6 @@
+ # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
+ # [ "$OS" != "darwin" ] && check_yasm
+ [ "$OS" != "darwin" ] && check_xsltproc
+-[ "$OS" != "darwin" ] && check_mkisofs
+
+ # the libraries
+ [ "$OS" != "darwin" ] && check_pthread
diff --git a/community-testing/virtualbox/virtualbox-guest-modules.install b/community-testing/virtualbox/virtualbox-guest-modules.install
new file mode 100644
index 000000000..3681c28e3
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-guest-modules.install
@@ -0,0 +1,24 @@
+KERNEL_VERSION='2.6.38-ARCH'
+
+post_install() {
+ cat << EOM
+
+===> virtualbox-guest-modules post-install message:
+===>
+===> You may want to load vboxguest, vboxsf and vboxvideo
+===>
+===> To load them automatically, add them
+===> to the MODULES array in /etc/rc.conf.
+
+EOM
+
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
+
+post_remove() {
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
+
+post_upgrade() {
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
diff --git a/community-testing/virtualbox/virtualbox.install b/community-testing/virtualbox/virtualbox.install
new file mode 100644
index 000000000..e70757685
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox.install
@@ -0,0 +1,65 @@
+utils() {
+ if [ -x usr/bin/update-mime-database ]; then
+ update-mime-database usr/share/mime > /dev/null 2>&1
+ fi
+
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor > /dev/null 2>&1
+ fi
+
+ if [ -x usr/bin/update-desktop-database ]; then
+ usr/bin/update-desktop-database -q
+ fi
+}
+
+post_install() {
+ getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
+ /bin/cat << EOF
+
+===> In order to run VirtualBox, you have to be in the 'vboxusers' group.
+===>
+===> If you want to be able to install guest additions, you have to install
+===> 'virtualbox-additions' package.
+===>
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+===>
+===> You must load vboxnetflt for Host Interface Networking:
+===> # modprobe vboxnetflt
+===>
+===> You must load vboxnetadp for Host-Only networking:
+===> # modprobe vboxnetadp
+===>
+===> To load it automatically, add vboxdrv module
+===> to the MODULES array in /etc/rc.conf.
+
+*** To compile the modules do /etc/rc.d/vboxdrv setup ***
+
+EOF
+ utils
+}
+
+post_upgrade() {
+ getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
+ /bin/cat << EOF
+===> You must reload vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+===>
+===> You must reload vboxnetflt for Host Interface Networking:
+===> # modprobe vboxnetflt
+===>
+===> You must reload vboxnetadp for Host-Only networking:
+===> # modprobe vboxnetadp
+===>
+===> To load it automatically, add vboxdrv module
+===> to the MODULES array in /etc/rc.conf.
+
+*** To recompile the modules do /etc/rc.d/vboxdrv setup ***
+EOF
+ utils
+}
+
+post_remove() {
+ groupdel vboxusers >/dev/null 2>&1 || true
+ utils
+}