commit:     27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c
Author:     Xiami <i <AT> f2light <DOT> com>
AuthorDate: Wed Jul  4 09:54:00 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Jul  4 14:56:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27cf8b83

app-emulation/open-vm-tools: Bump to 10.2.5 and update the ebuild

- Update LICENSE
- According to configure.ac:
  - Introducing more features
  - Update IUSE, REQUIRED_USE and DEPENDs
- Patches for migrate to libtirpc (and keep -Werror)

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/9039
Closes: https://bugs.gentoo.org/658086

 app-emulation/open-vm-tools/Manifest               |   1 +
 .../open-vm-tools/files/10.2.5-libtirpc.patch      |  45 ++++++
 app-emulation/open-vm-tools/files/vgauthd.service  |  14 ++
 app-emulation/open-vm-tools/files/vmtoolsd.service |   2 +-
 .../{vmtoolsd.service => vmtoolsd.vgauth.service}  |   5 +-
 app-emulation/open-vm-tools/metadata.xml           |  16 +-
 .../open-vm-tools/open-vm-tools-10.2.5.ebuild      | 172 +++++++++++++++++++++
 7 files changed, 250 insertions(+), 5 deletions(-)

diff --git a/app-emulation/open-vm-tools/Manifest 
b/app-emulation/open-vm-tools/Manifest
index a8bf132586f..09a1e723dfe 100644
--- a/app-emulation/open-vm-tools/Manifest
+++ b/app-emulation/open-vm-tools/Manifest
@@ -1,2 +1,3 @@
 DIST open-vm-tools-10.1.10-6082533.tar.gz 5111726 BLAKE2B 
22e2e901c542ae14b7537bc26ff848359f30bde6824a16968b70070dd6e57c92fbf76dca0d02e35ef45bda257725e207632b0602a4336bd2d9c97d10fb094967
 SHA512 
60c52a24509cb0630f2ad649fe6717fefff624fc2a5c736ced35cbdb8f639264d482e063e8140eedb39216adfb1231d58232bfef0233ebc477ba4f9a732c5965
 DIST open-vm-tools-10.1.15-6677369.tar.gz 5153995 BLAKE2B 
03c6b359df8f42f1ba65331dcac67e8ce86b0fce9a572c1665d3f385cae14f1757611d3948d30bb5b2e40bb2b4673bb244c45f56098faf09d6de515bb937ea3f
 SHA512 
fe3699a7f704bdadc4c274c963d177f4700067e7436074554b7cf113ffa341ad0e4753016214f947418fd5a7cb4a6f2c0342acf074b6b414b3fd18fd2ea2bc58
+DIST open-vm-tools-10.2.5-8068406.tar.gz 4818035 BLAKE2B 
87e3edc42afceaf9efe69ae8cbd1abfbbf959fe09a721dbe4737ca30c6b57dcf1d8bff23bb3ed3d2236c31e7f3e6fd4d10a689b40b3b725eb580609a68bb7090
 SHA512 
da2f26b4b22e195af111cc16d5819aeb963f0dfa18b5d2677d897549836ec8679808315646f7f86ae36862df9e623bbcb5d553dae97a68b3ef928a5c07ea2e68

diff --git a/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch 
b/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch
new file mode 100644
index 00000000000..a9dfb42b2fc
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch
@@ -0,0 +1,45 @@
+From 75505fed193fc3779560b57c1b0d6d4209b05bf9 Mon Sep 17 00:00:00 2001
+From: Xiami <i...@f2light.com>
+Date: Thu, 14 Jun 2018 16:23:00 +0800
+Subject: [PATCH] lib/dynxdr: for libtirpc
+
+glibc-2.26 do not provide RPC support by default.
+This workaround only works for Gentoo as ebuild forces libtirpc.
+---
+ open-vm-tools/lib/dynxdr/dynxdr.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/open-vm-tools/lib/dynxdr/dynxdr.c 
b/open-vm-tools/lib/dynxdr/dynxdr.c
+index 95fdc7e2..d3182733 100644
+--- a/open-vm-tools/lib/dynxdr/dynxdr.c
++++ b/open-vm-tools/lib/dynxdr/dynxdr.c
+@@ -55,7 +55,7 @@ typedef struct DynXdrData {
+  * Mac OS X, FreeBSD and Solaris don't take a const parameter to the
+  * "x_getpostn" function.
+  */
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun) || 
defined(_TIRPC_XDR_H)
+ #  define DYNXDR_GETPOS_CONST
+ #else
+ #  define DYNXDR_GETPOS_CONST const
+@@ -172,7 +172,7 @@ DynXdrSetPos(XDR *xdrs, // IN
+ }
+ 
+ 
+-#if defined(__GLIBC__) || (defined(sun) && (defined(_LP64) || 
defined(_KERNEL)))
++#if (defined(__GLIBC__) && !defined(_TIRPC_XDR_H)) || (defined(sun) && 
(defined(_LP64) || defined(_KERNEL)))
+ /*
+  
*-----------------------------------------------------------------------------
+  *
+@@ -322,7 +322,7 @@ DynXdr_Create(XDR *in)  // IN
+       DynXdrSetPos,     /* x_setpostn */
+       DynXdrInline,     /* x_inline */
+       NULL,             /* x_destroy */
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) && !defined(_TIRPC_XDR_H)
+       NULL,             /* x_getint32 */
+       DynXdrPutInt32,   /* x_putint32 */
+ #elif defined(__APPLE__)
+-- 
+2.16.4
+

diff --git a/app-emulation/open-vm-tools/files/vgauthd.service 
b/app-emulation/open-vm-tools/files/vgauthd.service
new file mode 100644
index 00000000000..db27bd56ef5
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/vgauthd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=VGAuth Service for open-vm-tools
+Documentation=https://github.com/vmware/open-vm-tools
+ConditionVirtualization=vmware
+PartOf=vmtoolsd.service
+
+[Service]
+# For dev-libs/xerces-c[iconv,-icu]
+EnvironmentFile=-/etc/env.d/50xerces-c
+ExecStart=/usr/bin/VGAuthService -s
+TimeoutStopSec=5
+
+[Install]
+RequiredBy=vmtoolsd.service

diff --git a/app-emulation/open-vm-tools/files/vmtoolsd.service 
b/app-emulation/open-vm-tools/files/vmtoolsd.service
index 426d4fbd993..1226291bc8d 100644
--- a/app-emulation/open-vm-tools/files/vmtoolsd.service
+++ b/app-emulation/open-vm-tools/files/vmtoolsd.service
@@ -1,6 +1,6 @@
 [Unit]
 Description=Service for virtual machines hosted on VMware
-Documentation=http://open-vm-tools.sourceforge.net/about.php
+Documentation=https://github.com/vmware/open-vm-tools
 ConditionVirtualization=vmware
 
 [Service]

diff --git a/app-emulation/open-vm-tools/files/vmtoolsd.service 
b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service
similarity index 60%
copy from app-emulation/open-vm-tools/files/vmtoolsd.service
copy to app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service
index 426d4fbd993..1cb6e00ecf5 100644
--- a/app-emulation/open-vm-tools/files/vmtoolsd.service
+++ b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service
@@ -1,7 +1,9 @@
 [Unit]
 Description=Service for virtual machines hosted on VMware
-Documentation=http://open-vm-tools.sourceforge.net/about.php
+Documentation=https://github.com/vmware/open-vm-tools
 ConditionVirtualization=vmware
+Requires=vgauthd.service
+After=vgauthd.service
 
 [Service]
 ExecStart=/usr/bin/vmtoolsd
@@ -9,3 +11,4 @@ TimeoutStopSec=5
 
 [Install]
 WantedBy=multi-user.target
+Also=vgauthd.service

diff --git a/app-emulation/open-vm-tools/metadata.xml 
b/app-emulation/open-vm-tools/metadata.xml
index 53c18420cae..e493eb3e04b 100644
--- a/app-emulation/open-vm-tools/metadata.xml
+++ b/app-emulation/open-vm-tools/metadata.xml
@@ -16,13 +16,23 @@
                of virtual machines.
        </longdescription>
        <use>
+               <flag name="caf">Build Common Agent Framework</flag>
+               <flag name="deploypkg">Build deploypkg plugin</flag>
+               <flag name="dnet">Enable support for nicinfo</flag>
                <flag name="doc">Generate API documentation</flag>
-               <flag name="grabbitmqproxy">Enable grabbitmqproxy</flag>
+               <flag name="fuse">Enable vmblock-fuse/vmhgfs-fuse</flag>
+               <flag name="grabbitmqproxy">Build grabbitmqproxy plugin</flag>
+               <flag name="gtk2">Compile with GTK+ 2</flag>
+               <flag name="gtk3">Compile with GTK+ 3 (Recommended)</flag>
+               <flag name="gtkmm">Compile with Gtkmm and sigc++ 
(Recommended)</flag>
+               <flag name="multimon">Enable multimon (Requires X)</flag>
                <flag name="pic">Force shared libraries to be built as 
PIC</flag>
-               <flag name="vgauth">Enable vgauth</flag>
+               <flag name="resolutionkms">Build the linux/unix resolutionkms 
module</flag>
+               <flag name="vgauth">Build vgauth</flag>
+               <flag name="xml-security-c">Build vgauth with xml-security-c 
instead of xmlsec1</flag>
+               <flag name="xmlsec">Build vgauth with xmlsec1 instead of 
xml-security-c</flag>
        </use>
        <upstream>
                <remote-id type="github">vmware/open-vm-tools</remote-id>
-               <remote-id type="sourceforge">open-vm-tools</remote-id>
        </upstream>
 </pkgmetadata>

diff --git a/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild 
b/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild
new file mode 100644
index 00000000000..9efaa12f538
--- /dev/null
+++ b/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic linux-info pam systemd toolchain-funcs user
+
+DESCRIPTION="Opensourced tools for VMware guests"
+HOMEPAGE="https://github.com/vmware/open-vm-tools";
+MY_P="${P}-8068406"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X caf +deploypkg +dnet doc +fuse +grabbitmqproxy gtk2 gtk3 gtkmm +icu 
multimon pam +resolutionkms +ssl static-libs test +vgauth +xml-security-c 
xmlsec"
+REQUIRED_USE="
+       X? ( ^^ ( gtk2 gtk3 ) )
+       gtk2? ( X )
+       gtk3? ( X )
+       gtkmm? ( || ( gtk2 gtk3 ) )
+       multimon? ( X )
+       vgauth? (
+               ^^ ( xmlsec xml-security-c )
+               ssl
+       )
+       caf? ( vgauth ssl )
+       grabbitmqproxy? ( ssl )
+"
+
+RDEPEND="
+       dev-libs/glib
+       net-libs/libtirpc
+       deploypkg? ( dev-libs/libmspack )
+       fuse? ( sys-fs/fuse:0 )
+       pam? ( virtual/pam )
+       ssl? ( dev-libs/openssl:0 )
+       vgauth? (
+               xml-security-c? ( dev-libs/xerces-c dev-libs/xml-security-c )
+               xmlsec? ( dev-libs/libxml2 dev-libs/xmlsec )
+       )
+       X? (
+               x11-libs/libXext
+               multimon? ( x11-libs/libXinerama )
+               x11-libs/libXi
+               x11-libs/libXrender
+               x11-libs/libXrandr
+               x11-libs/libXtst
+               x11-libs/libSM
+               x11-libs/libXcomposite
+               x11-libs/gdk-pixbuf:2
+               gtk3? (
+                       x11-libs/gtk+:3
+                       gtkmm? ( dev-cpp/gtkmm:3.0 )
+               )
+               gtk2? (
+                       x11-libs/gtk+:2
+                       gtkmm? ( dev-cpp/gtkmm:2.4 )
+               )
+               gtkmm? ( dev-libs/libsigc++:2 )
+       )
+       dnet? ( dev-libs/libdnet )
+       icu? ( dev-libs/icu:= )
+       caf? (
+               dev-libs/log4cpp
+               net-libs/rabbitmq-c
+       )
+       resolutionkms? (
+               x11-libs/libdrm
+               virtual/libudev
+       )
+"
+
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       net-libs/rpcsvc-proto
+       doc? ( app-doc/doxygen )
+       test? ( dev-util/cunit )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}/10.1.0-mount.vmhgfs.patch"
+       "${FILESDIR}/10.2.5-libtirpc.patch"
+)
+
+pkg_setup() {
+       local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3"
+       use X && CONFIG_CHECK+=" ~DRM_VMWGFX"
+       kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS"
+       kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS"
+       linux-info_pkg_setup
+}
+
+src_prepare() {
+       eapply -p2 "${PATCHES[@]}"
+       eapply_user
+       eautoreconf
+}
+
+src_configure() {
+       # On >=sys-libs/glibc-2.26, SunRPC no longer provided
+       # Use libtirpc and rpcsvc-proto instead
+       append-cppflags "$($(tc-getPKG_CONFIG) --cflags libtirpc)"
+       export LIBVMTOOLS_LIBADD="$($(tc-getPKG_CONFIG) --libs libtirpc)"
+       local myeconfargs=(
+               --without-root-privileges
+               $(use_enable multimon)
+               $(use_with X x)
+               $(use_with gtk3)
+               $(use_with gtk2)
+               $(use gtk3 && use_with gtkmm gtkmm3)
+               $(use gtk2 && use_with gtkmm)
+               $(use_enable doc docs)
+               $(use_enable test tests)
+               $(use_enable resolutionkms)
+               $(use_enable static-libs static)
+               $(use_enable deploypkg)
+               $(use_enable grabbitmqproxy)
+               $(use_with pam)
+               $(use_enable vgauth)
+               $(use vgauth && use_enable xmlsec xmlsec1)
+               $(use vgauth && use_enable xml-security-c xmlsecurity)
+               $(use_enable caf)
+               $(use_with dnet)
+               $(use_with icu)
+       )
+       # Avoid a bug in configure.ac
+       use ssl || myeconfargs+=( --without-ssl )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+
+       if use pam; then
+               rm "${ED%/}"/etc/pam.d/vmtoolsd || die
+               pamd_mimic_system vmtoolsd auth account
+       fi
+
+       newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools
+       newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools
+
+       if use vgauth; then
+               systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service 
vmtoolsd.service
+               systemd_dounit "${FILESDIR}"/vgauthd.service
+       else
+               systemd_dounit "${FILESDIR}"/vmtoolsd.service
+       fi
+
+       # Replace mount.vmhgfs with a wrapper
+       mv "${ED%/}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die
+       dosbin "${FILESDIR}/mount.vmhgfs"
+
+       # Make fstype = vmhgfs-fuse work in fstab
+       dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse
+
+       if use X; then
+               fperms 4711 /usr/bin/vmware-user-suid-wrapper
+               dobin scripts/common/vmware-xdg-detect-de
+
+               elog "To be able to use the drag'n'drop feature of VMware for 
file"
+               elog "exchange, please add the users to the 'vmware' group."
+       fi
+}
+
+pkg_postinst() {
+       enewgroup vmware
+}

Reply via email to