app-emulation/vmware-player: Support ovftool installation, add library dir symlink
authorEvan Teran <evan.teran@gmail.com>
Tue, 8 Sep 2015 19:55:38 +0000 (21:55 +0200)
committerAndreas K. Huettel (dilfridge) <dilfridge@gentoo.org>
Tue, 8 Sep 2015 20:00:48 +0000 (22:00 +0200)
app-emulation/vmware-player/files/vmware-network.service [new file with mode: 0644]
app-emulation/vmware-player/files/vmware-usbarbitrator.service [new file with mode: 0644]
app-emulation/vmware-player/metadata.xml
app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild

diff --git a/app-emulation/vmware-player/files/vmware-network.service b/app-emulation/vmware-player/files/vmware-network.service
new file mode 100644 (file)
index 0000000..abc6648
--- /dev/null
@@ -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 (file)
index 0000000..16a0fb8
--- /dev/null
@@ -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
index fac5e87d9b3bfc7d51b0f64adc0c64230dbae9b3..47a08130e10d08bbf28327f8a1a1cff7e031038a 100644 (file)
@@ -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>
index 78e405be3128c5258a81ef8b3967476e62fe9dc3..1128602899310570a03394c48c15370cf7565df6 100644 (file)
@@ -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
index 78e405be3128c5258a81ef8b3967476e62fe9dc3..1128602899310570a03394c48c15370cf7565df6 100644 (file)
@@ -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