summaryrefslogtreecommitdiff
blob: 1d4398929ac95e7748ef4b357353301f53c8c4d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="2"

inherit eutils flag-o-matic linux-mod versionator

DESCRIPTION="VMware kernel modules for vmware server 1.0.x"
HOMEPAGE="http://www.vmware.com/"

MY_PV=$(get_version_component_range 1-2 "${PV}")
MY_P=${PN}-${MY_PV}
GENPATCHES_VER=$(get_version_component_range 3 "${PV}")
MY_SV=$(get_version_component_range 2 "${PV}")
SRC_URI="http://ftp.disconnected-by-peer.at/vmware/${MY_P}-genpatches-${GENPATCHES_VER}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

RDEPEND=""
DEPEND="${RDEPEND}
	=app-emulation/vmware-server-1.0.${MY_SV}*"

S=${WORKDIR}

pkg_setup() {
	linux-mod_pkg_setup

	VMWARE_GROUP=${VMWARE_GROUP:-vmware}

	VMWARE_MODULE_LIST="vmmon vmnet"
	VMWARE_MOD_DIR="${PF}"

	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_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${WORKDIR}/patches" epatch
	sed -i -e '/\smake\s/s/make/$(MAKE)/g' {vmmon,vmnet}-only/Makefile || die "Sed failed."

}

src_install() {
	# this adds udev rules for vmmon*
	if echo ${VMWARE_MODULE_LIST} | grep -q vmmon ; then
		dodir /etc/udev/rules.d
		echo 'KERNEL=="vmmon*", GROUP="'${VMWARE_GROUP}'", MODE=660' >> "${D}/etc/udev/rules.d/60-vmware.rules" || die
		echo 'KERNEL=="vmnet*", GROUP="'${VMWARE_GROUP}'", MODE=660' >> "${D}/etc/udev/rules.d/60-vmware.rules" || die
	fi

	linux-mod_src_install
}