commit:     29a36f24c5b4039cfe5a99292a581ab3ab4a9ce2
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Tue Sep  8 19:55:38 2015 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Tue Sep  8 20:00:48 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29a36f24

app-emulation/vmware-player: Support ovftool installation, add library dir 
symlink

 .../vmware-player/files/vmware-network.service     | 17 ++++++++++++++
 .../files/vmware-usbarbitrator.service             | 11 +++++++++
 app-emulation/vmware-player/metadata.xml           |  1 +
 .../vmware-player-7.1.0.2496824.ebuild             | 27 ++++++++++++++++++----
 .../vmware-player-7.1.2.2780323.ebuild             | 27 ++++++++++++++++++----
 5 files changed, 75 insertions(+), 8 deletions(-)

diff --git a/app-emulation/vmware-player/files/vmware-network.service 
b/app-emulation/vmware-player/files/vmware-network.service
new file mode 100644
index 0000000..abc6648
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-network.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=VMware Network
+Requires=local-fs.target
+Wants=network.target vmware-usbarbitrator.service
+After=local-fs.target network.target vmware-usbarbitrator.service
+
+[Service]
+Type=simple
+ExecStartPre=/sbin/modprobe -av vmci vmmon vsock vmblock vmnet
+ExecStart=/opt/vmware/bin/vmware-networks --start 
+ExecStop=/opt/vmware/bin/vmware-networks --stop
+ExecStopPost=/sbin/modprobe -rv vmmon vsock vmblock vmnet vmci
+TimeoutSec=0
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target

diff --git a/app-emulation/vmware-player/files/vmware-usbarbitrator.service 
b/app-emulation/vmware-player/files/vmware-usbarbitrator.service
new file mode 100644
index 0000000..16a0fb8
--- /dev/null
+++ b/app-emulation/vmware-player/files/vmware-usbarbitrator.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=VMware USB Arbitrator
+Requires=local-fs.target
+Before=vmware-network.service
+
+[Service]
+Type=forking
+ExecStart=/opt/vmware/bin/vmware-usbarbitrator
+
+[Install]
+WantedBy=multi-user.target

diff --git a/app-emulation/vmware-player/metadata.xml 
b/app-emulation/vmware-player/metadata.xml
index fac5e87..47a0813 100644
--- a/app-emulation/vmware-player/metadata.xml
+++ b/app-emulation/vmware-player/metadata.xml
@@ -3,6 +3,7 @@
 <pkgmetadata>
        <herd>vmware</herd>
        <use>
+               <flag name='ovftool'>Install OVF tool for importing and 
exporting appliance files</flag>
                <flag name="vmware-tools">Install VMware Tools images</flag>
        </use>
 </pkgmetadata>

diff --git a/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild 
b/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
index 78e405b..1128602 100644
--- a/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
+++ b/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
+inherit eutils versionator fdo-mime gnome2-utils pax-utils systemd 
vmware-bundle
 
 MY_PN="VMware-Player"
 MY_PV=$(get_version_component_range 1-3)
@@ -22,7 +22,7 @@ SRC_URI="
 LICENSE="vmware GPL-2"
 SLOT="0"
 KEYWORDS="-* ~amd64"
-IUSE="cups doc +vmware-tools"
+IUSE="cups doc ovftool +vmware-tools"
 RESTRICT="strip"
 
 # vmware-workstation should not use virtual/libc as this is a
@@ -93,10 +93,12 @@ src_unpack() {
                        vmware-usbarbitrator \
                        vmware-network-editor \
                        vmware-player-setup
-                       #vmware-ovftool
        do
                vmware-bundle_extract-bundle-component "${bundle}" 
"${component}" "${S}"
        done
+
+       use ovftool && \
+               vmware-bundle_extract-bundle-component "${bundle}" 
vmware-ovftool
 }
 
 src_prepare() {
@@ -134,6 +136,9 @@ src_install() {
        dosym 
"${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
                
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
 
+       # https://github.com/gentoo/vmware/issues/7
+       dosym "${VM_INSTALL_DIR}"/lib/vmware/ /usr/$(get_libdir)/vmware
+
        # install the ancillaries
        insinto /usr
        doins -r share
@@ -154,6 +159,17 @@ src_install() {
        exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
        doexe vmware-config
 
+       # install ovftool
+       if use ovftool; then
+               cd "${S}"
+
+               insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
+               doins -r vmware-ovftool/*
+
+               chmod 0755 
"${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
+               dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool 
"${VM_INSTALL_DIR}"/bin/ovftool
+       fi
+
        # create symlinks for the various tools
        local tool ; for tool in thnuclnt vmplayer{,-daemon} \
                        
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
@@ -203,9 +219,12 @@ src_install() {
        local initscript="${T}/vmware.rc"
 
        sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
-               "${FILESDIR}/vmware-11.0.rc" > "${initscript}" || die
+               "${FILESDIR}/vmware-11.${PV_MINOR}.rc" > "${initscript}" || die
        newinitd "${initscript}" vmware || die
 
+       systemd_dounit "${FILESDIR}/vmware-usbarbitrator.service"
+       systemd_dounit "${FILESDIR}/vmware-network.service"
+
        # fill in variable placeholders
        sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
                -i 
"${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
 || die

diff --git a/app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild 
b/app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild
index 78e405b..1128602 100644
--- a/app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild
+++ b/app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
+inherit eutils versionator fdo-mime gnome2-utils pax-utils systemd 
vmware-bundle
 
 MY_PN="VMware-Player"
 MY_PV=$(get_version_component_range 1-3)
@@ -22,7 +22,7 @@ SRC_URI="
 LICENSE="vmware GPL-2"
 SLOT="0"
 KEYWORDS="-* ~amd64"
-IUSE="cups doc +vmware-tools"
+IUSE="cups doc ovftool +vmware-tools"
 RESTRICT="strip"
 
 # vmware-workstation should not use virtual/libc as this is a
@@ -93,10 +93,12 @@ src_unpack() {
                        vmware-usbarbitrator \
                        vmware-network-editor \
                        vmware-player-setup
-                       #vmware-ovftool
        do
                vmware-bundle_extract-bundle-component "${bundle}" 
"${component}" "${S}"
        done
+
+       use ovftool && \
+               vmware-bundle_extract-bundle-component "${bundle}" 
vmware-ovftool
 }
 
 src_prepare() {
@@ -134,6 +136,9 @@ src_install() {
        dosym 
"${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
                
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
 
+       # https://github.com/gentoo/vmware/issues/7
+       dosym "${VM_INSTALL_DIR}"/lib/vmware/ /usr/$(get_libdir)/vmware
+
        # install the ancillaries
        insinto /usr
        doins -r share
@@ -154,6 +159,17 @@ src_install() {
        exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
        doexe vmware-config
 
+       # install ovftool
+       if use ovftool; then
+               cd "${S}"
+
+               insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
+               doins -r vmware-ovftool/*
+
+               chmod 0755 
"${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
+               dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool 
"${VM_INSTALL_DIR}"/bin/ovftool
+       fi
+
        # create symlinks for the various tools
        local tool ; for tool in thnuclnt vmplayer{,-daemon} \
                        
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
@@ -203,9 +219,12 @@ src_install() {
        local initscript="${T}/vmware.rc"
 
        sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
-               "${FILESDIR}/vmware-11.0.rc" > "${initscript}" || die
+               "${FILESDIR}/vmware-11.${PV_MINOR}.rc" > "${initscript}" || die
        newinitd "${initscript}" vmware || die
 
+       systemd_dounit "${FILESDIR}/vmware-usbarbitrator.service"
+       systemd_dounit "${FILESDIR}/vmware-network.service"
+
        # fill in variable placeholders
        sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
                -i 
"${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
 || die

Reply via email to