diff options
Diffstat (limited to 'app-emulation/vmware-player')
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 |