From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community-testing/cdfs/PKGBUILD | 32 ++++ community-testing/cdfs/cdfs.install | 11 ++ community-testing/gcc-avr/PKGBUILD | 57 ++++++ .../inputattach/0001-Add-w8001-flag.patch | 27 +++ .../0002-Allow-for-custom-baud-rates.patch | 70 +++++++ community-testing/inputattach/PKGBUILD | 43 +++++ community-testing/inputattach/inputattach.conf.d | 10 + community-testing/inputattach/inputattach.install | 18 ++ community-testing/inputattach/inputattach.rc.d | 40 ++++ community-testing/llvm/PKGBUILD | 190 +++++++++++++++++++ community-testing/llvm/clang-2.8-alignOf.patch | 199 +++++++++++++++++++ .../llvm/clang-2.8-cindexer-clang-path.patch | 13 ++ .../llvm/clang-plugin-loader-registry.patch | 11 ++ community-testing/llvm/cpp-headers.patch | 17 ++ community-testing/llvm/llvm-2.8-alignOf.patch | 59 ++++++ community-testing/open-vm-tools-modules/PKGBUILD | 40 ++++ .../open-vm-tools-modules.install | 35 ++++ community-testing/open-vm-tools/PKGBUILD | 67 +++++++ .../open-vm-tools/open-vm-tools-X11Bool.patch | 15 ++ .../open-vm-tools/open-vm-tools.conf.d | 6 + .../open-vm-tools/open-vm-tools.install | 10 + community-testing/open-vm-tools/open-vm-tools.rc.d | 101 ++++++++++ .../open-vm-tools/scripts-network-FS19541.patch | 40 ++++ .../open-vm-tools/scripts-network.patch | 63 +++++++ community-testing/open-vm-tools/tools.conf | 1 + community-testing/open-vm-tools/vmware-guestd | 6 + community-testing/open-vm-tools/xautostart.conf | 6 + community-testing/pysfml/PKGBUILD | 39 ++++ community-testing/systemd/PKGBUILD | 66 +++++++ community-testing/systemd/os-release | 4 + community-testing/systemd/systemd.install | 50 +++++ community-testing/virtualbox/10-vboxdrv.rules | 5 + community-testing/virtualbox/60-vboxguest.rules | 2 + community-testing/virtualbox/LocalConfig.kmk | 17 ++ community-testing/virtualbox/PKGBUILD | 210 +++++++++++++++++++++ .../virtualbox/vboxdrv-reference.patch | 43 +++++ community-testing/virtualbox/vboxdrv.sh | 80 ++++++++ .../virtualbox/virtualbox-4-makeself-check.patch | 10 + .../virtualbox/virtualbox-4-mkisofs-check.patch | 10 + .../virtualbox/virtualbox-guest-modules.install | 24 +++ community-testing/virtualbox/virtualbox.install | 65 +++++++ 41 files changed, 1812 insertions(+) create mode 100644 community-testing/cdfs/PKGBUILD create mode 100644 community-testing/cdfs/cdfs.install create mode 100644 community-testing/gcc-avr/PKGBUILD create mode 100644 community-testing/inputattach/0001-Add-w8001-flag.patch create mode 100644 community-testing/inputattach/0002-Allow-for-custom-baud-rates.patch create mode 100644 community-testing/inputattach/PKGBUILD create mode 100644 community-testing/inputattach/inputattach.conf.d create mode 100644 community-testing/inputattach/inputattach.install create mode 100644 community-testing/inputattach/inputattach.rc.d create mode 100644 community-testing/llvm/PKGBUILD create mode 100644 community-testing/llvm/clang-2.8-alignOf.patch create mode 100644 community-testing/llvm/clang-2.8-cindexer-clang-path.patch create mode 100644 community-testing/llvm/clang-plugin-loader-registry.patch create mode 100644 community-testing/llvm/cpp-headers.patch create mode 100644 community-testing/llvm/llvm-2.8-alignOf.patch create mode 100644 community-testing/open-vm-tools-modules/PKGBUILD create mode 100644 community-testing/open-vm-tools-modules/open-vm-tools-modules.install create mode 100644 community-testing/open-vm-tools/PKGBUILD create mode 100644 community-testing/open-vm-tools/open-vm-tools-X11Bool.patch create mode 100644 community-testing/open-vm-tools/open-vm-tools.conf.d create mode 100644 community-testing/open-vm-tools/open-vm-tools.install create mode 100644 community-testing/open-vm-tools/open-vm-tools.rc.d create mode 100644 community-testing/open-vm-tools/scripts-network-FS19541.patch create mode 100644 community-testing/open-vm-tools/scripts-network.patch create mode 100644 community-testing/open-vm-tools/tools.conf create mode 100644 community-testing/open-vm-tools/vmware-guestd create mode 100644 community-testing/open-vm-tools/xautostart.conf create mode 100644 community-testing/pysfml/PKGBUILD create mode 100644 community-testing/systemd/PKGBUILD create mode 100644 community-testing/systemd/os-release create mode 100644 community-testing/systemd/systemd.install create mode 100644 community-testing/virtualbox/10-vboxdrv.rules create mode 100644 community-testing/virtualbox/60-vboxguest.rules create mode 100644 community-testing/virtualbox/LocalConfig.kmk create mode 100644 community-testing/virtualbox/PKGBUILD create mode 100644 community-testing/virtualbox/vboxdrv-reference.patch create mode 100755 community-testing/virtualbox/vboxdrv.sh create mode 100644 community-testing/virtualbox/virtualbox-4-makeself-check.patch create mode 100644 community-testing/virtualbox/virtualbox-4-mkisofs-check.patch create mode 100644 community-testing/virtualbox/virtualbox-guest-modules.install create mode 100644 community-testing/virtualbox/virtualbox.install (limited to 'community-testing') 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 +# Contributor: J. Santiago Hirschfeld + +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 < // .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 +# Contributor: Corrado Primier +# Contributor: danst0 + +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 +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 +--- + 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 +Date: Wed, 21 Jul 2010 14:41:04 +1000 +Subject: [PATCH 3/3] Allow for custom baud rates. + +Signed-off-by: Peter Hutterer +--- + 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] "); ++ puts("Usage: inputattach [--daemon] [--baud ] "); + 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 + +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 </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 +# Contributor: Sebastian Nowicki +# Contributor: Devin Cofer +# Contributor: Tobias Kieslich +# Contributor: Geoffroy Carrier +# Contributor: Tomas Lindquist Olsen +# Contributor: Roberto Alsina +# Contributor: Gerardo Exequiel Pozzi + +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()); ++ llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(size, llvm::alignOf()); + UnresolvedLookupExpr *E = new (Mem) UnresolvedLookupExpr(EmptyShell()); + E->HasExplicitTemplateArgs = NumTemplateArgs != 0; + return E; +@@ -261,7 +261,7 @@ + if (NumResults) { + Results = static_cast( + C.Allocate(sizeof(DeclAccessPair) * NumResults, +- llvm::alignof())); ++ llvm::alignOf())); + memcpy(Results, &*Begin.getIterator(), + NumResults * sizeof(DeclAccessPair)); + } +@@ -737,7 +737,7 @@ + if (TemplateArgs) + size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs); + +- void *Mem = C.Allocate(size, llvm::alignof()); ++ void *Mem = C.Allocate(size, llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(size, llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(size, llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(size, llvm::alignOf()); + 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()); ++ llvm::alignOf()); + 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()); ++ void *Mem = Context.Allocate(Size, llvm::alignOf()); + 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()); ++ void *Mem = Context.Allocate(Size, llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(Size, llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(Size, llvm::alignOf()); + 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()); ++ void *Mem = Context.Allocate(Size, llvm::alignOf()); + 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()); ++ void *Mem = Context.Allocate(Size, llvm::alignOf()); + 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()); ++ llvm::alignOf()); + 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()); ++ llvm::alignOf()); + 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()); ++ void *Mem = C.Allocate(Size, llvm::alignOf()); + 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()); ++ llvm::alignOf()); + 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(Alloc.Allocate(sizeof(Token)*ResultToks.size(), +- llvm::alignof())); ++ llvm::alignOf())); + 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(sizeof(StringMapEntry))+ + KeyLength+1; +- unsigned Alignment = alignof(); ++ unsigned Alignment = alignOf(); + + StringMapEntry *NewItem = + static_cast(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() returns the alignment of an int. ++/// alignOf() returns the alignment of an int. + template +-static inline unsigned alignof() { return AlignOf::Alignment; } ++static inline unsigned alignOf() { return AlignOf::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()); ++ Ptr = Allocator.AlignPtr(Ptr, alignOf()); + if (Ptr + sizeof(T) <= End) + reinterpret_cast(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( + ileAllocator.Allocate(sizeof(IndexListEntry), +- alignof())); ++ alignOf())); + + 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 +# Contributor: Krzysztof Raczkowski + +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 +# Contributor: Krzysztof Raczkowski + +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 +# Contributor: scj + +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 + +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 +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

" +- " '/etc/init.d/vboxdrv setup'

" +- "as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS " +- "package first. This package keeps track of Linux kernel changes and " ++ " '/etc/rc.d/vboxdrv setup'

" ++ "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

" +- " '/etc/init.d/vboxdrv setup'

" ++ " '/etc/rc.d/vboxdrv setup'

" + "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 +} -- cgit v1.2.3-54-g00ecf