171 lines
4.8 KiB
Bash
171 lines
4.8 KiB
Bash
|
# Copyright 1999-2009 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/vmware-player-2.5.3.185404.ebuild,v 1.4 2009/09/25 10:37:05 maekke Exp $
|
||
|
|
||
|
EAPI="2"
|
||
|
|
||
|
inherit eutils versionator fdo-mime gnome2-utils
|
||
|
|
||
|
MY_PN="VMware-Player-$(replace_version_separator 3 - $PV)"
|
||
|
|
||
|
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||
|
HOMEPAGE="http://www.vmware.com/products/desktop/ws_features.html"
|
||
|
SRC_URI="
|
||
|
x86? ( mirror://vmware/software/vmplayer/${MY_PN}.i386.bundle )
|
||
|
amd64? ( mirror://vmware/software/vmplayer/${MY_PN}.x86_64.bundle )
|
||
|
"
|
||
|
|
||
|
LICENSE="vmware"
|
||
|
SLOT="0"
|
||
|
KEYWORDS="-* amd64 x86"
|
||
|
IUSE=""
|
||
|
RESTRICT="strip binchecks"
|
||
|
|
||
|
# vmware-workstation should not use virtual/libc as this is a
|
||
|
# precompiled binary package thats linked to glibc.
|
||
|
DEPEND=">=dev-lang/python-2.5[sqlite,ncurses]
|
||
|
dev-python/lxml"
|
||
|
RDEPEND="
|
||
|
~app-emulation/vmware-modules-209.3
|
||
|
!>app-emulation/vmware-modules-209.3
|
||
|
!<app-emulation/vmware-modules-209.3
|
||
|
dev-cpp/cairomm
|
||
|
dev-cpp/libgnomecanvasmm
|
||
|
dev-cpp/libsexymm
|
||
|
sys-libs/glibc
|
||
|
sys-apps/pciutils
|
||
|
>=x11-libs/libview-0.6.2
|
||
|
x11-libs/libXcursor
|
||
|
x11-libs/libXft
|
||
|
x11-libs/libXi
|
||
|
x11-libs/libXinerama
|
||
|
x11-libs/libXrandr
|
||
|
!app-emulation/vmware-server
|
||
|
!app-emulation/vmware-workstation
|
||
|
"
|
||
|
|
||
|
S=${WORKDIR}/vmware-distrib
|
||
|
VM_INSTALL_DIR="/opt/vmware/player"
|
||
|
|
||
|
pkg_setup() {
|
||
|
if use x86; then
|
||
|
MY_P="${MY_PN}.i386"
|
||
|
elif use amd64; then
|
||
|
MY_P="${MY_PN}.x86_64"
|
||
|
fi
|
||
|
|
||
|
if [ "$(python -c "import curses; curses.setupterm(); print curses.tigetstr('hpa')")" == "None" ]; then
|
||
|
die "Please emerge this package using a different terminal (e.g. not within screen)."
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
pkg_nofetch() {
|
||
|
if use x86; then
|
||
|
MY_P="${MY_PN}.i386"
|
||
|
elif use amd64; then
|
||
|
MY_P="${MY_PN}.x86_64"
|
||
|
fi
|
||
|
|
||
|
einfo "Please download the ${MY_P}.bundle from ${HOMEPAGE}"
|
||
|
}
|
||
|
|
||
|
src_unpack() {
|
||
|
# Unbundle the bundle
|
||
|
cp "${FILESDIR}"/helpers/* "${WORKDIR}"
|
||
|
chmod a+x "${WORKDIR}"/*.sh
|
||
|
"${WORKDIR}"/unbundler.sh "${DISTDIR}/${MY_P}".bundle
|
||
|
}
|
||
|
|
||
|
src_prepare() {
|
||
|
# Patch up the installer
|
||
|
epatch "${FILESDIR}/${P}-installer.patch"
|
||
|
|
||
|
mkdir "${WORKDIR}/vmware-confdir"
|
||
|
}
|
||
|
|
||
|
src_install() {
|
||
|
dodir /etc/init.d
|
||
|
|
||
|
#Run the installer
|
||
|
local INSTALLER="${WORKDIR}/payload/install/vmware-installer"
|
||
|
local PYOPTS="-W ignore::DeprecationWarning"
|
||
|
export VMWARE_SKIP_NETWORKING="true"
|
||
|
python ${PYOPTS} "${INSTALLER}/vmware-installer.py" \
|
||
|
--set-setting vmware-installer.libconf "${INSTALLER}/lib/libconf" \
|
||
|
--set-setting initdir "${T}" \
|
||
|
--set-setting initscriptdir "${D}/etc/init.d" \
|
||
|
--set-setting prefix "${D}${VM_INSTALL_DIR}" \
|
||
|
--set-setting sysconfdir "${D}/etc" \
|
||
|
--install-component "${INSTALLER}" \
|
||
|
--install-bundle "${DISTDIR}/${MY_P}.bundle" \
|
||
|
--console --required
|
||
|
|
||
|
rm -fr "${D}${VM_INSTALL_DIR}/lib/vmware/modules/binary"
|
||
|
|
||
|
if [ ! -e "${WORKDIR}"/vmware-confdir/bootstrap ]; then
|
||
|
eerror "VMware installation seems to have rolled back."
|
||
|
eerror "Please include the contents of ${WORKDIR}/vmware-installer.log"
|
||
|
eerror "in any bug reports you file."
|
||
|
die "VMware installation rolled back."
|
||
|
fi
|
||
|
|
||
|
# Redirect all the ${D} paths to / paths"
|
||
|
sed -i -e "s:${D}::" "${WORKDIR}"/vmware-confdir/bootstrap
|
||
|
|
||
|
# Fix up icons/mime/desktop handlers
|
||
|
dodir /usr/share/
|
||
|
mv "${D}${VM_INSTALL_DIR}"/share/applications "${D}"/usr/share/
|
||
|
rm -f "${D}${VM_INSTALL_DIR}"/share/icons/hicolor/{icon-theme.cache,index.theme}
|
||
|
mv "${D}${VM_INSTALL_DIR}"/share/icons "${D}"/usr/share/
|
||
|
dodir /usr/share/mime
|
||
|
mv "${D}${VM_INSTALL_DIR}"/share/mime/packages "${D}"/usr/share/mime
|
||
|
sed -i -e "s:${D}::" "${D}"/usr/share/applications/*.desktop
|
||
|
|
||
|
# Copy across the temporary /etc/vmware directory
|
||
|
dodir /etc/vmware/init.d
|
||
|
cp -r "${WORKDIR}"/vmware-confdir/* "${D}/etc/vmware"
|
||
|
mv "${D}"/etc/init.d/* "${D}/etc/vmware/init.d"
|
||
|
sed -i -e "s:/sbin/lsmod:/bin/lsmod:" "${D}"/etc/vmware/init.d/vmware
|
||
|
newinitd "${FILESDIR}/${PN}"-2.5.rc vmware
|
||
|
touch "${D}"/etc/vmware/networking
|
||
|
|
||
|
# Setup the path environment
|
||
|
insinto /etc/env.d
|
||
|
doins "${FILESDIR}/90${PN}"
|
||
|
|
||
|
# Fix some paths to allow included gtk to work
|
||
|
for i in "/etc/pango/pangorc" \
|
||
|
"/etc/pango/pango.modules" \
|
||
|
"/etc/gtk-2.0/gtk.immodules" \
|
||
|
"/etc/gtk-2.0/gdk-pixbuf.loaders" ; do
|
||
|
sed -i -e "s:${D}::" "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf${i} ;
|
||
|
sed -i -e "s:${D}::" "${D}${VM_INSTALL_DIR}"/lib/vmware/installer/lib/libconf${i} ;
|
||
|
done
|
||
|
}
|
||
|
|
||
|
pkg_config() {
|
||
|
${VM_INSTALL_DIR}/bin/vmware-networks --postinstall ${PN},old,new
|
||
|
}
|
||
|
|
||
|
pkg_preinst() {
|
||
|
gnome2_icon_savelist
|
||
|
}
|
||
|
|
||
|
pkg_postinst() {
|
||
|
fdo-mime_desktop_database_update
|
||
|
gnome2_icon_cache_update
|
||
|
|
||
|
ewarn "Before you can use vmware-player, you must configure a default network setup."
|
||
|
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||
|
}
|
||
|
|
||
|
pkg_prerm() {
|
||
|
einfo "Stopping ${product_name} for safe unmerge"
|
||
|
/etc/init.d/vmware stop
|
||
|
}
|
||
|
|
||
|
pkg_postrm() {
|
||
|
fdo-mime_desktop_database_update
|
||
|
gnome2_icon_cache_update
|
||
|
}
|