summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Teran <evan.teran@gmail.com>2015-09-08 21:55:38 +0200
committerAndreas K. Huettel (dilfridge) <dilfridge@gentoo.org>2015-09-08 22:00:48 +0200
commit29a36f24c5b4039cfe5a99292a581ab3ab4a9ce2 (patch)
tree4989323c80e8b989a87e98467e9ed0a12baf36ce /app-emulation
parentnet-fs/samba: Bump to version 4.2.4 (diff)
downloadgentoo-29a36f24c5b4039cfe5a99292a581ab3ab4a9ce2.tar.gz
gentoo-29a36f24c5b4039cfe5a99292a581ab3ab4a9ce2.tar.bz2
gentoo-29a36f24c5b4039cfe5a99292a581ab3ab4a9ce2.zip
app-emulation/vmware-player: Support ovftool installation, add library dir symlink
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/vmware-player/files/vmware-network.service17
-rw-r--r--app-emulation/vmware-player/files/vmware-usbarbitrator.service11
-rw-r--r--app-emulation/vmware-player/metadata.xml1
-rw-r--r--app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild27
-rw-r--r--app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild27
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 000000000000..abc6648f3156
--- /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 000000000000..16a0fb81bfc9
--- /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 fac5e87d9b3b..47a08130e10d 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 78e405be3128..112860289931 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 78e405be3128..112860289931 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