diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /app-emulation/open-vm-tools | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'app-emulation/open-vm-tools')
12 files changed, 532 insertions, 0 deletions
diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest new file mode 100644 index 000000000000..3830a9d6a9b0 --- /dev/null +++ b/app-emulation/open-vm-tools/Manifest @@ -0,0 +1 @@ +DIST open-vm-tools-13.0.10-25056151.tar.gz 4341374 BLAKE2B e1198567f598ebae28a0a165b4bccc079db43e53ffd707368f2d16cef35a938fbe9c36ba0363f2315252bc1409bc2544b8ed29aa88e3a8a860a233fb6b7ad6b2 SHA512 c332fd2efb3bc16f2fbb77b7b0d0f4a5bb251b5b4828260bb6cbd96903a38d492f90727dad54ef95e442cf3dcc043032e5581e64e3aee4afb55b9db568a29259 diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-Werror.patch b/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-Werror.patch new file mode 100644 index 000000000000..2593ddb80e5f --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-Werror.patch @@ -0,0 +1,24 @@ +From fdf599994d58ef47b73dc94d21d3556a2ec5d9da Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Sat, 26 Nov 2016 11:54:33 -0500 +Subject: [PATCH] build: drop -Werror + +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 8d4604e8..4d925f22 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1137,7 +1137,6 @@ AC_C_VOLATILE + + ### General flags / actions + CFLAGS="$CFLAGS -Wall" +-CFLAGS="$CFLAGS -Werror" + + # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' + # in Xlib.h on OpenSolaris. +-- +2.11.0.rc2 + diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-icu.patch b/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-icu.patch new file mode 100644 index 000000000000..ff2731de9481 --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-12.4.5-icu.patch @@ -0,0 +1,26 @@ +From 08caf83eaa0e66cee8f3e49479cd201a10bb3919 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Sat, 25 Sep 2021 21:14:25 -0400 +Subject: [PATCH] lib/unicode: add ICU_LIBS to LDADD + +--- + lib/unicode/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/unicode/Makefile.am b/lib/unicode/Makefile.am +index 4284c51c..40261fba 100644 +--- a/lib/unicode/Makefile.am ++++ b/lib/unicode/Makefile.am +@@ -25,7 +25,9 @@ libUnicode_la_SOURCES += unicodeSimpleTypes.c + libUnicode_la_SOURCES += unicodeSimpleOperations.c + libUnicode_la_SOURCES += unicodeSimpleTransforms.c + libUnicode_la_SOURCES += unicodeStatic.c ++libUnicode_la_LIBADD = + + if HAVE_ICU + libUnicode_la_SOURCES += unicodeICU.c ++libUnicode_la_LIBADD += @ICU_LIBS@ + endif +-- +2.33.0 + diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glib-with-glibc-2.43-c23.patch b/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glib-with-glibc-2.43-c23.patch new file mode 100644 index 000000000000..f49d9248f13a --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glib-with-glibc-2.43-c23.patch @@ -0,0 +1,37 @@ +glib changes how it provides g_free depending on the glibc version. + +https://bugs.gentoo.org/969697 +https://github.com/vmware/open-vm-tools/pull/779 + +From bfd12cf73d81919843383598e4a9e64c6e5fd97a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 21 Nov 2025 00:29:10 -0800 +Subject: [PATCH] glib_stubs: avoid GLib g_free macro redefinition error + +glib 2.78+ defines g_free as an object-size checking macro. +open-vm-tools overrides g_free(), leading to preprocessor expansion +inside the function signature and breaking the build. + +Undefine the macro before defining the stub. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + open-vm-tools/lib/rpcChannel/glib_stubs.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/rpcChannel/glib_stubs.c b/lib/rpcChannel/glib_stubs.c +index c32deb073..cb89c6a87 100644 +--- a/lib/rpcChannel/glib_stubs.c ++++ b/lib/rpcChannel/glib_stubs.c +@@ -35,6 +35,9 @@ + + void *g_malloc0(size_t s) { return Util_SafeCalloc(1, s); } + void *g_malloc0_n(size_t n, size_t s) { return Util_SafeCalloc(n, s); } ++/* GLib defines g_free as a macro, so undefine it before providing ++ * our own stub implementation. */ ++#undef g_free + void g_free(void *p) { free(p); } + + void g_mutex_init(GMutex *mutex) { } + diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glibc-2.43-c23.patch b/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glibc-2.43-c23.patch new file mode 100644 index 000000000000..89589d9e45cf --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-13.0.10-glibc-2.43-c23.patch @@ -0,0 +1,145 @@ +https://bugs.gentoo.org/969697 +https://github.com/vmware/open-vm-tools/pull/779 + +From b309f5d40619f033bbddef5c95682beed31659ac Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum <rudi@heitbaum.com> +Date: Mon, 26 Jan 2026 11:55:03 +0000 +Subject: [PATCH] fix initialization discards 'const' qualifier from pointer + target type + +Since glibc-2.43: + +For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr, +strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return +pointers into their input arrays now have definitions as macros that +return a pointer to a const-qualified type when the input argument is +a pointer to a const-qualified type. + +https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html + +Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com> +--- + open-vm-tools/lib/hgfs/hgfsEscape.c | 6 +++--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 2 +- + open-vm-tools/lib/misc/strutil.c | 7 ++++--- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 2 +- + open-vm-tools/libvmtools/i18n.c | 2 +- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 6 files changed, 11 insertions(+), 10 deletions(-) + +diff --git a/lib/hgfs/hgfsEscape.c b/lib/hgfs/hgfsEscape.c +index c4d39b12d..212ea1c79 100644 +--- a/lib/hgfs/hgfsEscape.c ++++ b/lib/hgfs/hgfsEscape.c +@@ -175,7 +175,7 @@ HgfsAddEscapeCharacter(char const * bufIn, // IN: input name + HgfsEscapeContext *escapeContext = (HgfsEscapeContext *)context; + uint32 charactersToCopy; + uint32 outputSpace; +- char* illegal; ++ const char* illegal; + Bool result = TRUE; + + ASSERT(offset >= escapeContext->processedOffset); // Scanning forward +@@ -573,7 +573,7 @@ HgfsIsEscapeSequence(char const *bufIn, // IN: input name + uint32 length) // IN: length of the name in characters + { + if (bufIn[offset] == HGFS_ESCAPE_CHAR && offset > 0) { +- char *substitute; ++ const char *substitute; + if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR && offset > 1) { + /* + * Possibly a valid sequence, check it must be preceded with a substitute +@@ -887,7 +887,7 @@ HgfsEscapeUndoComponent(char *bufIn, // IN: Characters to be unesc + size_t offset = escapePointer - bufIn; + + if (HgfsIsEscapeSequence(bufIn, offset, sizeIn)) { +- char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]); ++ const char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]); + if (substitute != NULL) { + bufIn[offset - 1] = HGFS_ILLEGAL_CHARS[substitute - HGFS_SUBSTITUTE_CHARS]; + } else if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR) { +diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c +index 4a0bc9378..fd1db4a29 100644 +--- a/lib/hgfsServer/hgfsServerLinux.c ++++ b/lib/hgfsServer/hgfsServerLinux.c +@@ -1364,7 +1364,7 @@ static void + HgfsGetHiddenAttr(char const *fileName, // IN: Input filename + HgfsFileAttrInfo *attr) // OUT: Struct to copy into + { +- char *baseName; ++ const char *baseName; + + ASSERT(fileName); + ASSERT(attr); +diff --git a/lib/misc/strutil.c b/lib/misc/strutil.c +index 4fc6502e4..4be63b7b8 100644 +--- a/lib/misc/strutil.c ++++ b/lib/misc/strutil.c +@@ -1454,6 +1454,7 @@ StrUtil_ReplaceAll(const char *orig, // IN + char *result; + const char *current; + char *tmp; ++ const char *tmp2; + size_t lenWhat; + size_t lenWith; + size_t occurrences = 0; +@@ -1467,8 +1468,8 @@ StrUtil_ReplaceAll(const char *orig, // IN + lenWith = strlen(with); + + current = orig; +- while ((tmp = strstr(current, what)) != NULL) { +- current = tmp + lenWhat; ++ while ((tmp2 = strstr(current, what)) != NULL) { ++ current = tmp2 + lenWhat; + ++occurrences; + } + +@@ -1695,7 +1696,7 @@ StrUtilHasListItem(char const *list, // IN: + char const *item, // IN: + int (*ncmp)(char const *, char const*, size_t)) // IN: + { +- char *foundDelim; ++ const char *foundDelim; + int itemLen = strlen(item); + + if (list == NULL) { +diff --git a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c +index 0135e6a09..922b4efe2 100644 +--- a/lib/nicInfo/nicInfoPosix.c ++++ b/lib/nicInfo/nicInfoPosix.c +@@ -263,7 +263,7 @@ static Bool + IpEntryMatchesDevice(const char *devName, + const char *label) + { +- char *p; ++ const char *p; + size_t n; + + if ((p = strchr(label, ':')) != NULL) { +diff --git a/libvmtools/i18n.c b/libvmtools/i18n.c +index 3085f72d7..f61406d14 100644 +--- a/libvmtools/i18n.c ++++ b/libvmtools/i18n.c +@@ -698,7 +698,7 @@ VMTools_BindTextDomain(const char *domain, + * If we couldn't find the catalog file for the user's language, see if + * we can find a more generic language (e.g., for "en_US", also try "en"). + */ +- char *sep = Str_Strrchr(lang, '_'); ++ const char *sep = Str_Strrchr(lang, '_'); + if (sep != NULL) { + if (usrlang == NULL) { + usrlang = Util_SafeStrdup(lang); +diff --git a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c +index 654512c5e..5c79ca12a 100644 +--- a/services/plugins/vix/vixTools.c ++++ b/services/plugins/vix/vixTools.c +@@ -930,7 +930,7 @@ VixToolsBuildUserEnvironmentTable(const char * const *envp) // IN: optional + for (; NULL != *envp; envp++) { + char *name; + char *value; +- char *whereToSplit; ++ const char *whereToSplit; + size_t nameLen; + + whereToSplit = strchr(*envp, '='); + diff --git a/app-emulation/open-vm-tools/files/open-vm-tools.confd b/app-emulation/open-vm-tools/files/open-vm-tools.confd new file mode 100644 index 000000000000..4414fabdb46e --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools.confd @@ -0,0 +1,2 @@ +# Set this to no to disable drag and drop (and vmblock) loading. +VM_DRAG_AND_DROP="yes" diff --git a/app-emulation/open-vm-tools/files/open-vm-tools.initd b/app-emulation/open-vm-tools/files/open-vm-tools.initd new file mode 100644 index 000000000000..8b91e4fb4c0a --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools.initd @@ -0,0 +1,59 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/run/vmtoolsd.pid" +command="/usr/bin/vmtoolsd" +command_args="-b ${pidfile}" + +vmblockmntpt="/proc/fs/vmblock/mountPoint" +vmblockfusemntpt="/run/vmblock-fuse" + +depend() { + before checkfs fsck net X +} + +start_vmblock() { + checkpath -d -m 1777 /tmp/VMwareDnD + if command -v vmware-vmblock-fuse > /dev/null; then + modprobe fuse > /dev/null 2>&1 + checkpath -d "${vmblockfusemntpt}" + ebegin "Mounting vmblock-fuse" + vmware-vmblock-fuse \ + -o subtype=vmware-vmblock,default_permissions,allow_other \ + "${vmblockfusemntpt}" + eend $? + else + modprobe vmblock > /dev/null 2>&1 + checkpath -d "${vmblockmntpt}" + ebegin "Mounting vmblock" + mount -t vmblock vmblock "${vmblockmntpt}" + eend $? + fi +} + +stop_vmblock() { + if [ -d "${vmblockfusemntpt}" ]; then + ebegin "Unmounting vmblock-fuse" + umount "${vmblockfusemntpt}" + eend $? + else + ebegin "Unmounting vmblock" + umount "${vmblockmntpt}" + eend $? + fi +} + +start_pre() { + if [ x"${VM_DRAG_AND_DROP}" = xyes ]; then + start_vmblock + fi + return 0 +} + +stop_post() { + if [ x"${VM_DRAG_AND_DROP}" = xyes ]; then + stop_vmblock + fi + return 0 +} 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 000000000000..db27bd56ef51 --- /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 new file mode 100644 index 000000000000..1226291bc8da --- /dev/null +++ b/app-emulation/open-vm-tools/files/vmtoolsd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Service for virtual machines hosted on VMware +Documentation=https://github.com/vmware/open-vm-tools +ConditionVirtualization=vmware + +[Service] +ExecStart=/usr/bin/vmtoolsd +TimeoutStopSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service new file mode 100644 index 000000000000..1cb6e00ecf51 --- /dev/null +++ b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service @@ -0,0 +1,14 @@ +[Unit] +Description=Service for virtual machines hosted on VMware +Documentation=https://github.com/vmware/open-vm-tools +ConditionVirtualization=vmware +Requires=vgauthd.service +After=vgauthd.service + +[Service] +ExecStart=/usr/bin/vmtoolsd +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 new file mode 100644 index 000000000000..85076593c086 --- /dev/null +++ b/app-emulation/open-vm-tools/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>soap@gentoo.org</email> + <name>David Seifert</name> + </maintainer> + <longdescription> + The Open Virtual Machine Tools (open-vm-tools) are the open source + implementation of VMware Tools. They are a set of guest operating system + virtualization components that enhance performance and user experience + of virtual machines. + </longdescription> + <use> + <flag name="deploypkg">Build deploypkg plugin</flag> + <flag name="dnet">Enable support for nicinfo</flag> + <flag name="doc">Generate API documentation</flag> + <flag name="fuse">Enable vmblock-fuse/vmhgfs-fuse</flag> + <flag name="gtkmm">Compile with Gtkmm and sigc++ (Recommended)</flag> + <flag name="multimon">Enable multimon (Requires X)</flag> + <flag name="resolutionkms">Build the linux/unix resolutionkms module</flag> + <flag name="vgauth">Build vgauth</flag> + </use> + <upstream> + <remote-id type="github">vmware/open-vm-tools</remote-id> + <remote-id type="cpe">cpe:/a:vmware:tools</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/open-vm-tools/open-vm-tools-13.0.10-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-13.0.10-r1.ebuild new file mode 100644 index 000000000000..919662c83de1 --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-13.0.10-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 2007-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info pam systemd udev + +MY_P="${P}-25056151" + +DESCRIPTION="Tools for VMware guests" +HOMEPAGE="https://github.com/vmware/open-vm-tools" +SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 arm64 x86" +IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms selinux +ssl +vgauth" +REQUIRED_USE=" + multimon? ( X ) + vgauth? ( ssl )" + +RDEPEND=" + dev-libs/glib + net-libs/libtirpc + deploypkg? ( dev-libs/libmspack ) + fuse? ( sys-fs/fuse:3= ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + ssl? ( dev-libs/openssl:= ) + vgauth? ( + dev-libs/libxml2:= + dev-libs/xmlsec:= + ) + X? ( + x11-libs/gtk+:3[X] + x11-libs/libSM + x11-libs/libXcomposite + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + gtkmm? ( + dev-cpp/gtkmm:3.0 + dev-libs/libsigc++:2 + ) + multimon? ( x11-libs/libXinerama ) + ) + dnet? ( dev-libs/libdnet ) + icu? ( dev-libs/icu:= ) + resolutionkms? ( + virtual/libudev + || ( + ( + >=media-libs/mesa-25.2[-video_cards_vmware] + x11-base/xorg-server[xorg] + x11-libs/libdrm[-video_cards_vmware] + ) + ( + <media-libs/mesa-25.2[video_cards_vmware,xa] + x11-libs/libdrm[video_cards_vmware] + ) + ) + )" +DEPEND="${RDEPEND} + net-libs/rpcsvc-proto" +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig + doc? ( app-text/doxygen )" +RDEPEND+=" selinux? ( sec-policy/selinux-vmware )" + +PATCHES=( + "${FILESDIR}"/${PN}-12.4.5-Werror.patch + "${FILESDIR}"/${PN}-12.4.5-icu.patch + "${FILESDIR}"/${PN}-13.0.10-glibc-2.43-c23.patch + "${FILESDIR}"/${PN}-13.0.10-glib-with-glibc-2.43-c23.patch +) + +pkg_setup() { + local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3 ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS ~FUSE_FS" + use X && CONFIG_CHECK+=" ~DRM_VMWGFX" + kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" + linux-info_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-glibc-check + --disable-tests + --without-root-privileges + $(use_enable multimon) + $(use_with X x) + $(use_with X gtk3) + $(use_with gtkmm gtkmm3) + $(use_enable doc docs) + $(use_enable resolutionkms) + $(use_enable deploypkg) + $(use_with pam) + $(use_enable vgauth) + $(use_with dnet) + $(use_with icu) + --with-udev-rules-dir="$(get_udevdir)"/rules.d + $(use_with fuse fuse 3) + # Disable it explicitly, we do not yet list the + # containerinfo dependencies in the ebuild + --disable-containerinfo + # Disable it explicitly, gtk2 is obsolete + --without-gtk2 + # Possibly add a separate USE flag for the utility, or + # merge it into resolutionkms + --disable-vmwgfxctrl + ) + # Avoid a bug in configure.ac + use ssl || myeconfargs+=( --without-ssl ) + + # Avoid relying on dnet-config script, which breaks cross-compiling. This + # library has no pkg-config file. + export CUSTOM_DNET_LIBS="-ldnet" + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -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 + + # vmhgfs-fuse is built only when fuse is enabled + if use fuse; then + # Make fstype = vmhgfs-fuse work in fstab + dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse + fi + + if use X; then + fperms 4711 /usr/bin/vmware-user-suid-wrapper + dobin scripts/common/vmware-xdg-detect-de + fi +} + +pkg_postinst() { + udev_reload + + if has_version ">=media-libs/mesa-25.2" && has_version "x11-drivers/xf86-video-vmware"; then + elog "You need to remove x11-drivers/xf86-video-vmware to use the modesetting video driver." + fi +} + +pkg_postrm() { + udev_reload +} |
