# $Id$ PNAME="vmware-workstation" PVER="6.5.2.156735" PBUILD="r1" PCATEGORIE="app-emulation" STATE="unstable" DESCRIPTION="VMWare-Workstation, a powerful PC Emulation software." HOMEPAGE="http://vmware.com/products/ws/" DEPEND=">= virtual/glibc >= x11-libs/libXrandr-1 >= x11-libs/libXcursor-1 >= x11-libs/libXinerama-1 >= x11-libs/libXi-1 >= x11-libs/libXft-2 >= dev-cpp/libsexymm-0.1.9 >= dev-cpp/cairomm-1.8 >= virtual/kernel-sources >= sys-apps/pciutils-3.1 >= sys-fs/fuse-2.7" # >= x11-libs/libgksu # >= x11-libs/libview- # >= dev-cpp/libgnomecanvasmm SDEPEND=">= dev-lang/python-2.6 >= dev-python/lxm" # fetch it at http://download3.vmware.com/software/wkst/ SRCFILE_x86="VMware-Workstation-${PVER:0:5}-${PVER##*.}.i386.bundle" SRCFILE_x86_64="VMware-Workstation-${PVER:0:5}-${PVER##*.}.x86_64.bundle" SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" SRCDIR="${BUILDDIR}/vmware-distrib" # include gnomes post/preinstall to rebuild icon cache etc sminclude mtools gnome2 SRC_URI=( http://download2.vmware.com/software/wkst/${SRCFILE_x86} http://download2.vmware.com/software/wkst/${SRCFILE_x86_64} mirror://${PNAME}/${SRCFILE_x86} mirror://${PNAME}/${SRCFILE_x86_64} mirror://${PNAME}/vmware.rc6 mirror://${PNAME}/vmware.envd mirror://${PNAME}/unbundle.sh mirror://${PNAME}/${PNAME}-${PVER}-installer.patch ) src_prepare() { install -d ${SRCDIR} || die cd ${SRCDIR} sh ${SOURCEDIR}/${PNAME}/unbundle.sh ${SOURCEDIR}/${PNAME}/${SRCFILE} || die # patch the installer mpatch ${PNAME}-${PVER}-installer.patch || die # needed direcory by the patch install -d ${SRCDIR}/vmware-confdir || die } # fake (gnome2 include has a standart src_compile) src_compile() { return 0; } src_install() { cd ${SRCDIR} # needed directories minstalldir /etc/rc.d/init.d || die local installer_dir="${SRCDIR}/payload/install/vmware-installer" local python_opts="-W ignore::DeprecationWarning" export VMWARE_SKIP_NETWORKING="true" python ${python_opts} ${installer_dir}/vmware-installer.py \ --set-setting vmware-installer.libconf ${installer_dir}/lib/libconf \ --set-setting initdir ${SRCDIR} \ --set-setting initscriptdir ${BINDIR}/etc/rc.d/init.d \ --set-setting prefix ${BINDIR}/opt/vmware \ --set-setting sysconfdir ${BINDIR}/etc \ --install-component ${installer_dir} \ --install-bundle ${SOURCEDIR}/${PNAME}/${SRCFILE} \ --console --required \ || die # remove precompiled kernel modules (none of them matches our kernels) rm -rf ${BINDIR}/opt/vmware/lib/vmware/modules/binary || die # needed!!! if [ ! -e ${SRCDIR}/vmware-confdir/bootstrap ] then echo "VMware installation seems to have rolled back." echo "Please include the contents of ${SRCDIR}/vmware-installer.log" echo "in any bug reports you file." die "VMware installation rolled back." fi # remove ${BINDIR} from pathes sed -i "s:${BINDIR}::" ${SRCDIR}/vmware-confdir/bootstrap || die # move icons/mime/desktop handles to a proper location minstalldir /usr/share || die mv ${BINDIR}/opt/vmware/share/applications ${BINDIR}/usr/share/ || die rm -f ${BINDIR}/opt/vmware/share/icons/hicolor/{icon-theme.cache,index.theme} || die mv ${BINDIR}/opt/vmware/share/icons ${BINDIR}/usr/share/ || die minstalldir /usr/share/mime || die mv ${BINDIR}/opt/vmware/share/mime/packages ${BINDIR}/usr/share/mime || die sed -i "s:${BINDIR}::" ${BINDIR}/usr/share/applications/*.desktop || die # install vmware config from temporary vmware-confdir minstalldir /etc/vmware/init.d || die cp -r ${SRCDIR}/vmware-confdir/* ${BINDIR}/etc/vmware || die mv ${BINDIR}/etc/init.d/* ${BINDIR}/etc/vmware/init.d # fix lsmod path sed -i "s:/sbin/lsmod:/bin/lsmod:" ${BINDIR}/etc/vmware/init.d/vmware || die memptyfile ${BINDIR}/etc/vmware/networking || die # install our initscript minstallrc vmware.rc6 vmware || die # vmware enviroment minstallenv vmware.envd 90vmware || die # remove ${BINDIR} 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 "s:${BINDIR}::" ${BINDIR}/opt/vmware/lib/vmware/libconf${i} || die ${i} sed -i "s:${BINDIR}::" ${BINDIR}/opt/vmware/lib/vmware/installer/lib/libconf${i} || die ${i} done }