summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kuznetsov <vadimk@gentoo.org>2011-03-27 15:40:08 +0000
committerVadim Kuznetsov <vadimk@gentoo.org>2011-03-27 15:40:08 +0000
commitd08770f7bf47f786cae020a66f834e942f325a95 (patch)
tree37be8df92301df638506ea283c8cc4e62b09598c
parentRename USE="iphone" to USE="ios" wrt #344763. (diff)
downloadhistorical-d08770f7bf47f786cae020a66f834e942f325a95.tar.gz
historical-d08770f7bf47f786cae020a66f834e942f325a95.tar.bz2
historical-d08770f7bf47f786cae020a66f834e942f325a95.zip
vmware kernel modules for vmware server 2 host
Package-Manager: portage-2.1.9.44/cvs/Linux x86_64
-rw-r--r--app-emulation/vmware-modules/ChangeLog9
-rw-r--r--app-emulation/vmware-modules/Manifest13
-rw-r--r--app-emulation/vmware-modules/files/208-sema.patch83
-rw-r--r--app-emulation/vmware-modules/files/208-sk_sleep.patch74
-rw-r--r--app-emulation/vmware-modules/files/208-unlocked_ioctl.patch33
-rw-r--r--app-emulation/vmware-modules/vmware-modules-208.2.ebuild73
6 files changed, 280 insertions, 5 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog
index 33b49f53c2a1..a90aeb6609ac 100644
--- a/app-emulation/vmware-modules/ChangeLog
+++ b/app-emulation/vmware-modules/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-emulation/vmware-modules
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.73 2011/03/27 15:20:08 vadimk Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.74 2011/03/27 15:40:08 vadimk Exp $
+
+*vmware-modules-208.2 (27 Mar 2011)
+
+ 27 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/208-sema.patch,
+ +files/208-sk_sleep.patch, +files/208-unlocked_ioctl.patch,
+ +vmware-modules-208.2.ebuild:
+ vmware kernel modules for vmware server 2 host
*vmware-modules-238.3-r8 (27 Mar 2011)
diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest
index 1579a2fd9936..79682bcf1e2c 100644
--- a/app-emulation/vmware-modules/Manifest
+++ b/app-emulation/vmware-modules/Manifest
@@ -15,6 +15,9 @@ AUX 1.0.0.25-makefile-kernel-dir.patch 2129 RMD160 885b638c78cb0663d0d55682bafd4
AUX 1.0.0.25-sema.patch 3756 RMD160 b182d2aa998c61afc28c68e2b859fbb894ccd550 SHA1 9cb8bcee24e294ed8dbd5f27c8160186c8c6d1fe SHA256 2fe6190be73b29b29f99e8a0c74f2b34213cd394a11aef5866a957851cc37b03
AUX 1.0.0.25-sk_sleep.patch 2953 RMD160 39e0ae852ab54f84d40bdd9bfc343e3ae3742882 SHA1 875e4195420f52784605ad013dd77da59b0c3511 SHA256 0c318c8f54b55f6adaade2cdd805ccf8cb04a9ce279bce2382e7e4d1fd78d33f
AUX 1.0.0.25-unlocked_ioctl.patch 1136 RMD160 a5ae0ebd54acac07144ab1510a04ebb7cabc0598 SHA1 177c3cf965d2c83084696f8132f6c7cd6ab82a2d SHA256 0bad0f0848772ec64d40a15a48c8f9d37212dd93b243e4cc5f1172371e7fbf14
+AUX 208-sema.patch 3621 RMD160 c1710c17094f21bdc31190975a29421055cb85a8 SHA1 960475b3c91a2850554170afbb810ff0d23ef08b SHA256 b56a5b6aa655f830f93424ec23cedd7dde7304f214357cde05bc89574600cbe0
+AUX 208-sk_sleep.patch 2968 RMD160 c3ef68d37bfcd877f3de0f8e9dea849e18804435 SHA1 0c52cf788c707e47fdf8ff0925c69fdca5c10155 SHA256 00ca100a8b4da48e26b663c4302a4b8f8d561c084e0bd5cee27a5874e03115f6
+AUX 208-unlocked_ioctl.patch 1136 RMD160 129bf2d0d6d4580b5c25f116d9108f4dc51e08cf SHA1 570eb32de37822c8c2b06f1075306fec3df1d257 SHA256 51f9cf2eb91fd25f784ef611ef3fd1f611bb5627a32e9e9fc5c48e3b0e9aef15
AUX 238-jobserver.patch 2899 RMD160 0a90332d966245e11f1ecee5a60e47779a746ccb SHA1 b6b36a98cf626f3fb5c7044b1c72f4ac917c5bd1 SHA256 131c606fdafe80f10151c667796270101f3b06ee70a1b872862e15bcfb4ee46d
AUX 238-makefile-include.patch 2791 RMD160 8665507d2b565931dc13a5f49eec6e33205d42fb SHA1 d48ca9316e65d536e50d07dfe945a6ff195be7cd SHA256 ac676433ca499268bd6a1f0d7d904a44095bb1a777ad31d055e8c4990eea586c
AUX 238-makefile-kernel-dir.patch 2201 RMD160 22b81e2c3c347ac6bad3afef15eea31250c34f2a SHA1 033160ded8fda76e6f016040cc4bb3f4ca0dd603 SHA256 780b79fcc6e8e836632f4542ac6c3da2d475b3ad1e2e88e1c51aea849a5172c7
@@ -26,16 +29,18 @@ DIST vmware-modules-1.0.0.24.amd64.tar.bz2 486925 RMD160 64e81b90f9e838100bdc4e9
DIST vmware-modules-1.0.0.24.x86.tar.bz2 487178 RMD160 9dd4aa6ecabe1ff1621e0a7a9c573479ab92df3c SHA1 e861a6c2d33193a57226a9be562e9e7a1926e45f SHA256 0021b2eefdfb2de3d352d70f84f1e9ec3d375e1073c5f960435208cf3ee2409e
DIST vmware-modules-1.0.0.25.amd64.tar.bz2 488816 RMD160 deb03d08b8cf1cad03967b3e1b0e98fc2649fd90 SHA1 00adbde24d72455837b5b81db49bc6a6390973d8 SHA256 f4c0baf981151ad3dbdbae104952983d44d83121048ecd7b88b8b34368dd05b7
DIST vmware-modules-1.0.0.25.x86.tar.bz2 488848 RMD160 4511e6f7a389ed3affe7e058814597d4cfa2ca27 SHA1 155bccf1f27e6aecc765980443b6351e6ae15028 SHA256 ee794a0b714173a91bb523290a579306845f7af9696e5a274745d45c37f1f0e8
+DIST vmware-modules-208.2.patch.bz2 7239 RMD160 f66781709bb18dc370717c32fa72b2907f0e2b11 SHA1 4fece02cd13f8bafdc62562d2f8e2a4cc66c75a1 SHA256 7b1d16163626b2ea2c1bba82a537368e2f758356580044480994b1fbe0073b47
EBUILD vmware-modules-1.0.0.24-r3.ebuild 2299 RMD160 508a2a9420f203912e53ddf2ea766d229de7d0c5 SHA1 0d9b5a93aaa26fc25c308c8f2557f681418ad938 SHA256 220aff5eb5acad0247059a2bec788494bc7dc4327bd35bf0c3eea92a68efadb2
EBUILD vmware-modules-1.0.0.25-r3.ebuild 2227 RMD160 eee9311501d439b63d1b657f064000c106d4e9c2 SHA1 1e3da5f429c8f04d1b3e46cb7a98171cec30d490 SHA256 3124c8b65f4245069305d5c541da8b1dd318e621f752ec8963fc285a4cae84ea
EBUILD vmware-modules-1.0.0.25-r4.ebuild 2242 RMD160 4815c0ce9280c6bb71ed8d18df9da5a5a7a2e1b9 SHA1 eccd85cb86a6cd45aa254cbada7a65557f3a72fb SHA256 f492d54e11193dfa54a0e712e3742c984c3a30f7a2a6eb68e0c82881ba55d342
+EBUILD vmware-modules-208.2.ebuild 1855 RMD160 a42bdef87a95590f779272fe8037d528d9bb6a5c SHA1 83d002b0c1432baab071dcd44a41907dfeb52c70 SHA256 e8452a07897634bbb71bae4afec2c28982223727ec9246b30882705f6ce08f43
EBUILD vmware-modules-238.3-r8.ebuild 2003 RMD160 54ebdf4d11c0059d89a34c1a3b2f6646aacf31c8 SHA1 ca4bdac450b1e90f0cbb5827787d46e86bc22017 SHA256 2585f5fc1de6fb1e2c50fa2a61dd538b43dc5b9af1f9b5133b8b8ef1bafecf45
-MISC ChangeLog 16756 RMD160 7664e2caabdd6b209fda093d7e35af1658b63b38 SHA1 eeb47e76e08ffe4ee087106cd9596ed68f37bf1b SHA256 3856a3d5d481f8c5bd7a8fe78f3001b5ae6e3de4ecebda74a4180c3b7a10ab1f
+MISC ChangeLog 17011 RMD160 a5587cfe76383acc648a1ad3346e7bd5fcd4c315 SHA1 ef6d6899ca75b2a19f1d27e490a0a0a072ab7513 SHA256 58f9657976d19aa48ea10585ad515040a2568ad9f35b33948ea1be92bab6ae2a
MISC metadata.xml 288 RMD160 da2ee1499dd87693b63592a337d8352494cb9652 SHA1 e1b50a587afb7878e21828a957a6838e7d08e4e8 SHA256 100017b3059be218965923798780ab195dafaa893f98088592fb5b299e686c37
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk2PVjwACgkQiLKviuHfItUhvQCgyEs7jarC4Ac6+B6lNFLILvSD
-g9EAn2Jeoh9q84jj6xWcFRzavhXosea+
-=F02F
+iEYEARECAAYFAk2PWuYACgkQiLKviuHfItXndQCaAg6tGofvcmxb1b4/nfLtPN3X
+r9sAnRRaavlOryeoW3douGZuMKxu2S3A
+=q8gD
-----END PGP SIGNATURE-----
diff --git a/app-emulation/vmware-modules/files/208-sema.patch b/app-emulation/vmware-modules/files/208-sema.patch
new file mode 100644
index 000000000000..1ebdab7ee009
--- /dev/null
+++ b/app-emulation/vmware-modules/files/208-sema.patch
@@ -0,0 +1,83 @@
+diff -ru original//vmci-only/include/compat_semaphore.h patched//vmci-only/include/compat_semaphore.h
+--- original//vmci-only/include/compat_semaphore.h 2010-11-11 15:37:25.000000000 -0500
++++ patched//vmci-only/include/compat_semaphore.h 2010-11-20 10:11:56.000000000 -0500
+@@ -28,7 +28,7 @@
+ #endif
+
+
+-#if defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
++#if (defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) || LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ /*
+ * The -rt patch series changes the name of semaphore/mutex initialization
+ * routines (across the entire kernel). Probably to identify locations that
+@@ -41,7 +41,7 @@
+ #define DECLARE_MUTEX(_m) DEFINE_SEMAPHORE(_m)
+ #endif
+ #ifndef init_MUTEX
+- #define init_MUTEX(_m) semaphore_init(_m)
++ #define init_MUTEX(_m) sema_init(_m,1)
+ #endif
+ #endif
+
+diff -ru original//vmmon-only/linux/driver.c patched//vmmon-only/linux/driver.c
+--- original//vmmon-only/linux/driver.c 2010-11-11 15:37:22.000000000 -0500
++++ patched//vmmon-only/linux/driver.c 2010-11-29 23:09:16.000000000 -0500
+@@ -145,7 +145,7 @@
+ #endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && \
+ (defined(CONFIG_SMP) || defined(CONFIG_PREEMPT))
+-# define kernel_locked_by_current() kernel_locked()
++# define kernel_locked_by_current() (current->lock_depth >= 0)
+ #else
+ # define kernel_locked_by_current() 0
+ #endif
+@@ -170,6 +170,7 @@
+ static int LinuxDriver_Ioctl(struct inode *inode, struct file *filp,
+ u_int iocmd, unsigned long ioarg);
+ #if defined(HAVE_UNLOCKED_IOCTL) || defined(HAVE_COMPAT_IOCTL)
++#define VMW_HAVE_UNLOCKED_IOCTL
+ static long LinuxDriver_UnlockedIoctl(struct file *filp,
+ u_int iocmd, unsigned long ioarg);
+ #endif
+diff -ru original//vmnet-only/compat_semaphore.h patched//vmnet-only/compat_semaphore.h
+--- original//vmnet-only/compat_semaphore.h 2010-11-11 15:37:23.000000000 -0500
++++ patched//vmnet-only/compat_semaphore.h 2010-11-20 10:11:56.000000000 -0500
+@@ -28,7 +28,7 @@
+ #endif
+
+
+-#if defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
++#if (defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) || LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ /*
+ * The -rt patch series changes the name of semaphore/mutex initialization
+ * routines (across the entire kernel). Probably to identify locations that
+@@ -41,7 +41,7 @@
+ #define DECLARE_MUTEX(_m) DEFINE_SEMAPHORE(_m)
+ #endif
+ #ifndef init_MUTEX
+- #define init_MUTEX(_m) semaphore_init(_m)
++ #define init_MUTEX(_m) sema_init(_m,1)
+ #endif
+ #endif
+
+diff -ru original//vsock-only/shared/compat_semaphore.h patched//vsock-only/shared/compat_semaphore.h
+--- original//vsock-only/shared/compat_semaphore.h 2010-11-11 13:04:44.000000000 -0500
++++ patched//vsock-only/shared/compat_semaphore.h 2010-11-20 10:11:56.000000000 -0500
+@@ -28,7 +28,7 @@
+ #endif
+
+
+-#if defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
++#if (defined CONFIG_PREEMPT_RT && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) || LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ /*
+ * The -rt patch series changes the name of semaphore/mutex initialization
+ * routines (across the entire kernel). Probably to identify locations that
+@@ -41,7 +41,7 @@
+ #define DECLARE_MUTEX(_m) DEFINE_SEMAPHORE(_m)
+ #endif
+ #ifndef init_MUTEX
+- #define init_MUTEX(_m) semaphore_init(_m)
++ #define init_MUTEX(_m) sema_init(_m,1)
+ #endif
+ #endif
+
diff --git a/app-emulation/vmware-modules/files/208-sk_sleep.patch b/app-emulation/vmware-modules/files/208-sk_sleep.patch
new file mode 100644
index 000000000000..d92dd7c3c817
--- /dev/null
+++ b/app-emulation/vmware-modules/files/208-sk_sleep.patch
@@ -0,0 +1,74 @@
+diff --git a/vsock-only/linux/af_vsock.c b/vsock-only/linux/af_vsock.c
+index 314e5fb..bd69539 100644
+--- a/vsock-only/linux/af_vsock.c
++++ b/vsock-only/linux/af_vsock.c
+@@ -3150,5 +3150,5 @@ VSockVmciStreamConnect(struct socket *sock, // IN
+ */
+ timeout = sock_sndtimeo(sk, flags & O_NONBLOCK);
+- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE);
++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+
+ while (sk->compat_sk_state != SS_CONNECTED && sk->compat_sk_err == 0) {
+@@ -3173,5 +3173,5 @@ VSockVmciStreamConnect(struct socket *sock, // IN
+ }
+
+- compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE);
++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+ }
+
+@@ -3185,5 +3185,5 @@ VSockVmciStreamConnect(struct socket *sock, // IN
+
+ outWait:
+- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING);
++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING);
+ out:
+ release_sock(sk);
+@@ -3392,5 +3392,5 @@ VSockVmciPoll(struct file *file, // IN
+ sk = sock->sk;
+
+- poll_wait(file, sk->compat_sk_sleep, wait);
++ poll_wait(file, compat_sk_sleep(sk), wait);
+ mask = 0;
+
+@@ -3993,5 +3993,5 @@ VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED
+ */
+ timeout = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
+- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE);
++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+
+ while (totalWritten < len) {
+@@ -4032,5 +4032,5 @@ VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED
+ }
+
+- compat_cont_prepare_to_wait(sk->compat_sk_sleep,
++ compat_cont_prepare_to_wait(compat_sk_sleep(sk),
+ &wait, TASK_INTERRUPTIBLE);
+ }
+@@ -4115,5 +4115,5 @@ outWait:
+ err = totalWritten;
+ }
+- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING);
++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING);
+ out:
+ release_sock(sk);
+@@ -4338,5 +4338,5 @@ VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED
+ copied = 0;
+
+- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE);
++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+
+ while ((ready = VMCIQueue_BufReady(vsk->consumeQ,
+@@ -4381,5 +4381,5 @@ VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED
+ }
+
+- compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE);
++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+ }
+
+@@ -4473,5 +4473,5 @@ VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED
+
+ outWait:
+- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING);
++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING);
+ out:
+ release_sock(sk);
diff --git a/app-emulation/vmware-modules/files/208-unlocked_ioctl.patch b/app-emulation/vmware-modules/files/208-unlocked_ioctl.patch
new file mode 100644
index 000000000000..62ae5e86b86b
--- /dev/null
+++ b/app-emulation/vmware-modules/files/208-unlocked_ioctl.patch
@@ -0,0 +1,33 @@
+diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
+index bf93446..022e856 100644
+--- a/vmmon-only/linux/driver.c
++++ b/vmmon-only/linux/driver.c
+@@ -169,6 +169,7 @@ static int LinuxDriver_Open(struct inode *inode, struct file *filp);
+ static int LinuxDriver_Ioctl(struct inode *inode, struct file *filp,
+ u_int iocmd, unsigned long ioarg);
+ #if defined(HAVE_UNLOCKED_IOCTL) || defined(HAVE_COMPAT_IOCTL)
++#define VMW_HAVE_UNLOCKED_IOCTL
+ static long LinuxDriver_UnlockedIoctl(struct file *filp,
+ u_int iocmd, unsigned long ioarg);
+ #endif
+diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
+index 8104878..02bb71c 100644
+--- a/vmmon-only/linux/hostif.c
++++ b/vmmon-only/linux/hostif.c
+@@ -3411,7 +3411,7 @@ HostIFDoIoctl(struct file *filp,
+ if (filp->f_op->unlocked_ioctl) {
+ return filp->f_op->unlocked_ioctl(filp, iocmd, ioarg);
+ }
+-#endif
++#else
+ if (filp->f_op->ioctl) {
+ long err;
+
+@@ -3420,6 +3420,7 @@ HostIFDoIoctl(struct file *filp,
+ unlock_kernel();
+ return err;
+ }
++#endif
+ return -ENOIOCTLCMD;
+ }
+
diff --git a/app-emulation/vmware-modules/vmware-modules-208.2.ebuild b/app-emulation/vmware-modules/vmware-modules-208.2.ebuild
new file mode 100644
index 000000000000..6c0d6bcc0d57
--- /dev/null
+++ b/app-emulation/vmware-modules/vmware-modules-208.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-208.2.ebuild,v 1.1 2011/03/27 15:40:08 vadimk Exp $
+
+EAPI="2"
+
+inherit eutils flag-o-matic linux-mod versionator
+
+PV_MAJOR=$(get_major_version)
+PV_MINOR=$(get_version_component_range 2)
+
+DESCRIPTION="VMware kernel modules"
+HOMEPAGE="http://www.vmware.com/"
+
+SRC_URI="mirror://gentoo/${P}.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ =app-emulation/vmware-server-2.0.${PV_MINOR}*"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ VMWARE_VER="VME_V65" # THIS VALUE IS JUST A PLACE HOLDER
+ VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+
+ VMWARE_MODULE_LIST="vmci vmmon vmnet vsock"
+ VMWARE_MOD_DIR="${PN}-${PVR}"
+
+ BUILD_TARGETS="auto-build VMWARE_VER=${VMWARE_VER} KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
+
+ enewgroup "${VMWARE_GROUP}"
+ filter-flags -mfpmath=sse
+
+ for mod in ${VMWARE_MODULE_LIST}; do
+ MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
+ done
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ for mod in ${VMWARE_MODULE_LIST}; do
+ tar -xf /opt/vmware/server/lib/modules/source/${mod}.tar
+ done
+
+}
+
+src_prepare() {
+ epatch "${S}/${P}.patch"
+ kernel_is ge 2 6 35 && epatch "${FILESDIR}/${PV_MAJOR}-sk_sleep.patch"
+ kernel_is ge 2 6 36 && epatch "${FILESDIR}/${PV_MAJOR}-unlocked_ioctl.patch"
+ kernel_is ge 2 6 37 && epatch "${FILESDIR}/${PV_MAJOR}-sema.patch"
+}
+
+src_install() {
+ linux-mod_src_install
+ local udevrules="${T}/60-vmware.rules"
+ cat > "${udevrules}" <<-EOF
+ KERNEL=="vmci", GROUP="${VMWARE_GROUP}", MODE=660
+ KERNEL=="vmmon", GROUP="${VMWARE_GROUP}", MODE=660
+ KERNEL=="vsock", GROUP="${VMWARE_GROUP}", MODE=660
+ EOF
+ insinto /etc/udev/rules.d/
+ doins "${udevrules}"
+}