blob: 3dc8a044f6b40597e2bdfebb1ab7f82ebae287de (
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit eutils versionator vmware-bundle
MY_PN="VMware-VIX"
MY_PV="$(replace_version_separator 3 - $PV)"
MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="VMware VIX API for Linux"
HOMEPAGE="http://www.vmware.com/support/developer/vix-api/"
SRC_URI="
x86? ( ${MY_P}.i386.bundle )
amd64? ( ${MY_P}.x86_64.bundle )
"
LICENSE="vmware"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="doc"
RESTRICT="binchecks fetch mirror strip"
# vmware-workstation should not use virtual/libc as this is a
# precompiled binary package thats linked to glibc.
RDEPEND="
dev-libs/glib:2
dev-libs/libxml2
=dev-libs/openssl-0.9.8*
net-misc/curl
sys-libs/glibc
sys-libs/zlib
!app-emulation/vmware-workstation"
S=${WORKDIR}
VM_INSTALL_DIR="/opt/vmware"
pkg_nofetch() {
local bundle
if use x86; then
bundle="${MY_P}.i386.bundle"
elif use amd64; then
bundle="${MY_P}.x86_64.bundle"
fi
einfo "Please download ${bundle}"
einfo "from ${HOMEPAGE}"
einfo "and place it in ${DISTDIR}"
}
src_unpack() {
vmware-bundle_extract-bundle-component "${DISTDIR}/${A}" vmware-vix
}
src_prepare() {
# remove superfluous libraries
ebegin 'Removing superfluous libraries'
#cd vmware-player-app/lib/lib || die
# exclude OpenSSL from unbundling until the AES-NI patch gets into the tree
# see http://forums.gentoo.org/viewtopic-t-835867.html
#ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | fgrep -vx 'libcrypto.so.0.9.8 libssl.so.0.9.8' | xargs -d'\n' -r rm -rf
#cd ../../../vmware-workstation/lib/lib || die
#ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | fgrep -vx 'libcrypto.so.0.9.8 libssl.so.0.9.8' | xargs -d'\n' -r rm -rf
eend
}
src_install() {
# install vmware-vix
cd "${S}"/vmware-vix
# install the binary
into "${VM_INSTALL_DIR}"
dobin bin/*
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
doins -r lib/*
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
# install headers
insinto /usr/include/vmware-vix
doins include/*
if use doc; then
dohtml -r doc/*
fi
# fix up permissions
chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-vix/setup/*
# create the environment
local envd="${T}/90${PN}"
cat > "${envd}" <<-EOF
PATH='${VM_INSTALL_DIR}/bin'
ROOTPATH='${VM_INSTALL_DIR}/bin'
EOF
doenvd "${envd}"
# create the configuration
dodir /etc/vmware
local vmconfig="${T}/config"
if [[ -e ${ROOT}/etc/vmware/config ]]
then
cp -a "${ROOT}"/etc/vmware/config "${vmconfig}"
sed -i -e "/vmware.fullpath/d" "${vmconfig}"
sed -i -e "/vix.libdir/d" "${vmconfig}"
sed -i -e "/vix.config.version/d" "${vmconfig}"
fi
cat >> "${vmconfig}" <<-EOF
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
vix.config.version = "1"
EOF
insinto /etc/vmware/
doins "${vmconfig}"
}
pkg_config() {
:;
}
pkg_postinst() {
ewarn "/etc/env.d was updated. Please run:"
ewarn "env-update && source /etc/profile"
ewarn ""
ewarn "Before you can use ${PN}, you must configure a default network setup."
ewarn "You can do this by running 'emerge --config ${PN}'."
}
pkg_prerm() {
sed -i -e "/vix.libdir/d" "${ROOT}"/etc/vmware/config
}
|