summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/vmware-player/ChangeLog11
-rw-r--r--app-emulation/vmware-player/files/2.5.5.328052/vmware-player-extras.py.patch14
-rw-r--r--app-emulation/vmware-player/files/2.5.5.328052/vmware-player.py.patch64
-rw-r--r--app-emulation/vmware-player/files/vmware-player-2.5.5.328052-installer.patch64
-rw-r--r--app-emulation/vmware-player/vmware-player-2.5.5.328052.ebuild175
5 files changed, 327 insertions, 1 deletions
diff --git a/app-emulation/vmware-player/ChangeLog b/app-emulation/vmware-player/ChangeLog
index 331c7dd24f5a..f13640f59a20 100644
--- a/app-emulation/vmware-player/ChangeLog
+++ b/app-emulation/vmware-player/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-emulation/vmware-player
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/ChangeLog,v 1.85 2010/06/30 15:18:57 fauli Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/ChangeLog,v 1.86 2010/12/29 20:11:42 vadimk Exp $
+
+*vmware-player-2.5.5.328052 (29 Dec 2010)
+
+ 29 Dec 2010; Vadim Kuznetsov <vadimk@gentoo.org>
+ +files/vmware-player-2.5.5.328052-installer.patch,
+ +files/2.5.5.328052/vmware-player.py.patch,
+ +files/2.5.5.328052/vmware-player-extras.py.patch,
+ +vmware-player-2.5.5.328052.ebuild:
+ Version bump. Bug 350072
30 Jun 2010; Christian Faulhammer <fauli@gentoo.org>
vmware-player-2.5.4.246459.ebuild:
diff --git a/app-emulation/vmware-player/files/2.5.5.328052/vmware-player-extras.py.patch b/app-emulation/vmware-player/files/2.5.5.328052/vmware-player-extras.py.patch
new file mode 100644
index 000000000000..eb9e723058cb
--- /dev/null
+++ b/app-emulation/vmware-player/files/2.5.5.328052/vmware-player-extras.py.patch
@@ -0,0 +1,14 @@
+diff --git a/vmware-player-extras.py b/vmware-player-extras.py
+index 21595b1..e8adf08 100644
+--- a/vmware-player-extras.py
++++ b/vmware-player-extras.py
+@@ -6,7 +6,8 @@ VMware Player Extras component installer.
+
+ DEST = LIBDIR/'vmware'
+ SETTINGS = { 'vmware.fullpath': BINDIR/'vmware', }
+-CONF = DEST/'setup/vmware-config'
++import os
++CONF = path(os.environ['WORKDIR'])/'vmware-config.sh'
+
+
+ class PlayerExtras(Installer):
diff --git a/app-emulation/vmware-player/files/2.5.5.328052/vmware-player.py.patch b/app-emulation/vmware-player/files/2.5.5.328052/vmware-player.py.patch
new file mode 100644
index 000000000000..49306c33f42e
--- /dev/null
+++ b/app-emulation/vmware-player/files/2.5.5.328052/vmware-player.py.patch
@@ -0,0 +1,64 @@
+diff --git a/vmware-player.py b/vmware-player.py
+index bee22df..d06cca9 100644
+--- a/vmware-player.py
++++ b/vmware-player.py
+@@ -6,7 +6,8 @@ VMware Player component installer.
+
+ GCONF_DEFAULTS = 'xml:readwrite:/etc/gconf/gconf.xml.defaults'
+ DEST = LIBDIR/'vmware'
+-CONFIG = DEST/'setup/vmware-config'
++import os
++CONFIG = path(os.environ['WORKDIR'])/'vmware-config.sh'
+ CUPSLIBDIR = LIBDIR/'cups'
+ # XXX: LIBDIR should be properly calculated, to make this cleaner
+ if (PREFIX/'lib64/cups').exists():
+@@ -84,12 +85,12 @@ class Player(Installer):
+ ret, kvers = output('uname', '-r')
+ kvers = kvers.strip()
+ modules = ('vmmon', 'vmnet', 'vmblock', 'vmci', 'vsock')
+- base = path('/lib/modules/%s/misc' % kvers)
++ base = path('/this/path/doesnt/exist/lib/modules/%s/misc' % kvers)
+
+ for module in modules:
+ for ext in ('o', 'ko'):
+ mod = '%s.%s' % (module, ext)
+- (base/mod).remove(ignore_errors=True)
++ # (base/mod).remove(ignore_errors=True)
+
+ def PreUninstall(self, old, new, upgrade):
+ script = INITSCRIPTDIR/'vmware'
+@@ -156,8 +157,8 @@ class Player(Installer):
+ def PostTransactionInstall(self, old, new, upgrade):
+ if ENV.get('VMWARE_SKIP_MODULES'):
+ log.info('Skipping kernel module installation')
+- elif run(BINDIR/'vmware-modconfig', '--console', '--install-all') == 0:
+- log.info('Successfully installed kernel modules')
++ # elif run(BINDIR/'vmware-modconfig', '--console', '--install-all') == 0:
++ # log.info('Successfully installed kernel modules')
+ else:
+ log.info('Unable to install kernel modules')
+
+@@ -189,8 +190,8 @@ class Player(Installer):
+ for handler in ('vm', 'vms'):
+ for gconfType, key, value in settings:
+ key = key % handler
+- run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS,
+- '--type', gconfType, '--set', key, value)
++ # run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS,
++ # '--type', gconfType, '--set', key, value)
+
+ # Instruct all gconfd daemons to reload.
+ run('killall', '-HUP', 'gconfd-2')
+@@ -200,9 +201,9 @@ class Player(Installer):
+ def _deconfigureVMStreamingHandlers(self):
+ """ Deconfigures the handlers for vm:// and vms:// used for VM streaming"""
+ def deconfigureGConf():
+- for handler in ('vm', 'vms'):
+- run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS,
+- '--recursive-unset', '/desktop/gnome/url-handlers/%s' % handler)
++ # for handler in ('vm', 'vms'):
++ # run('gconftool-2', '--direct', '--config-source', GCONF_DEFAULTS,
++ # '--recursive-unset', '/desktop/gnome/url-handlers/%s' % handler)
+
+ # Instruct all gconfd daemons to reload.
+ run('killall', '-HUP', 'gconfd-2')
diff --git a/app-emulation/vmware-player/files/vmware-player-2.5.5.328052-installer.patch b/app-emulation/vmware-player/files/vmware-player-2.5.5.328052-installer.patch
new file mode 100644
index 000000000000..80a301e5c183
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-player-2.5.5.328052-installer.patch
@@ -0,0 +1,64 @@
+diff --git a/payload/install/vmware-installer/vmis/__init__.py b/payload/install/vmware-installer/vmis/__init__.py
+index 7a46312..e1dbff1 100644
+--- a/payload/install/vmware-installer/vmis/__init__.py
++++ b/payload/install/vmware-installer/vmis/__init__.py
+@@ -12,5 +12,5 @@ VERSION_INFO = (1,0)
+ VERSION = '.'.join([str(x) for x in VERSION_INFO])
+ MAJOR_VERSION = VERSION_INFO[0]
+
+-CONFDIR = path(u'/etc/vmware')
++CONFDIR = path(u'./vmware-confdir')
+ DATABASE_PATH = CONFDIR/'database'
+diff --git a/payload/install/vmware-installer/vmis/core/env.py b/payload/install/vmware-installer/vmis/core/env.py
+index e7abc2e..81c4a2b 100644
+--- a/payload/install/vmware-installer/vmis/core/env.py
++++ b/payload/install/vmware-installer/vmis/core/env.py
+@@ -66,6 +66,8 @@ def LoadInstaller(component, loadPath):
+ # Python will interrept as being a module separator
+ moduleName = component.name.replace('.', '')
+ fileObj, pathName, description = imp.find_module(moduleName, [loadPath])
++ print output(os.path.join(env['ENV'].get('WORKDIR', './'), 'module_patcher.sh'), pathName)[1],
++ fileObj = file(pathName)
+
+ try:
+ # XXX: db.config cannot be set at the module level because this
+diff --git a/payload/install/vmware-installer/vmis/core/questions.py b/payload/install/vmware-installer/vmis/core/questions.py
+index 2be10de..f92ecff 100644
+--- a/payload/install/vmware-installer/vmis/core/questions.py
++++ b/payload/install/vmware-installer/vmis/core/questions.py
+@@ -139,6 +139,9 @@ class InitDir(Directory):
+ """
+ super(InitDir, self).Validate(answer)
+
++ ### GENTOO PATCH ### Finish early
++ return True
++
+ rcdirs = ('rc0.d', 'rc1.d', 'rc2.d', 'rc3.d', 'rc4.d', 'rc5.d', 'rc6.d')
+ answer = path(answer)
+
+diff --git a/payload/install/vmware-installer/vmis/ui/console.py b/payload/install/vmware-installer/vmis/ui/console.py
+index 525df75..abb81b3 100644
+--- a/payload/install/vmware-installer/vmis/ui/console.py
++++ b/payload/install/vmware-installer/vmis/ui/console.py
+@@ -148,7 +148,7 @@ class Wizard(object):
+ wrapper = TextWrapper()
+ wrapper.width = 79
+ wrapper.replace_whitespace = False # Needed to preserve paragraph spacing.
+- Popen('more', stdin=PIPE).communicate(input=wrapper.fill(text))
++ Popen('less', stdin=PIPE).communicate(input=wrapper.fill(text))
+ except IOError: # RHEL4 appears to close stdin while we still expect it to be open
+ pass
+
+diff --git a/payload/install/vmware-installer/vmis/util/log.py b/payload/install/vmware-installer/vmis/util/log.py
+index 4f609c4..b07b89d 100644
+--- a/payload/install/vmware-installer/vmis/util/log.py
++++ b/payload/install/vmware-installer/vmis/util/log.py
+@@ -22,6 +22,8 @@ else:
+ # running a build)
+ LOG_FILE = '/tmp/vmware-installer.log'
+
++LOG_FILE = './vmware-installer.log'
++
+ if level <= logging.DEBUG:
+ MAX_BYTES = 0
+ BACKUP_COUNT = 0
diff --git a/app-emulation/vmware-player/vmware-player-2.5.5.328052.ebuild b/app-emulation/vmware-player/vmware-player-2.5.5.328052.ebuild
new file mode 100644
index 000000000000..57eccd3c2873
--- /dev/null
+++ b/app-emulation/vmware-player/vmware-player-2.5.5.328052.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2010 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.5.328052.ebuild,v 1.1 2010/12/29 20:11:42 vadimk 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
+ dev-libs/libxml2
+ 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
+ x11-libs/libXtst
+ !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
+
+ # Bug 311435
+ mv "${D}${VM_INSTALL_DIR}"/lib/vmware/lib/libxml2.so.2/libxml2.so.2 \
+ "${D}${VM_INSTALL_DIR}"/lib/vmware/lib/libxml2.so.2/libxml2.so.2.old
+ dosym /usr/lib/libxml2.so.2 "${VM_INSTALL_DIR}"/lib/vmware/lib/libxml2.so.2/libxml2.so.2
+
+ # 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
+}