| # 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-1.0.0.25 |
| 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 |
| } |