commit: 8e560ce88c2dd2859a1ab9774ea82dade86bb95e Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri May 23 03:26:40 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri May 23 03:26:40 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e560ce8
app-emulation/open-vm-tools: fix build w/ c23 Closes: https://bugs.gentoo.org/944238 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/open-vm-tools-12.5.0-c23.patch | 27 ++++ .../open-vm-tools/open-vm-tools-12.5.0-r2.ebuild | 157 +++++++++++++++++++++ 2 files changed, 184 insertions(+) diff --git a/app-emulation/open-vm-tools/files/open-vm-tools-12.5.0-c23.patch b/app-emulation/open-vm-tools/files/open-vm-tools-12.5.0-c23.patch new file mode 100644 index 000000000000..71f6a55f5f65 --- /dev/null +++ b/app-emulation/open-vm-tools/files/open-vm-tools-12.5.0-c23.patch @@ -0,0 +1,27 @@ +https://bugs.gentoo.org/944238 +https://github.com/vmware/open-vm-tools/pull/751 + +From 129d87bd5fd5f2436a467d4b7d43e0d102a867da Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum <[email protected]> +Date: Wed, 20 Nov 2024 10:40:03 +1100 +Subject: [PATCH] Fix build when compiling with -std=c23 + +Fixes the build when using gcc 15 +--- + open-vm-tools/lib/lock/ul.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/open-vm-tools/lib/lock/ul.c b/open-vm-tools/lib/lock/ul.c +index d376a98af..fc9fdb714 100644 +--- a/lib/lock/ul.c ++++ b/lib/lock/ul.c +@@ -29,7 +29,7 @@ + static Bool mxInPanic = FALSE; // track when involved in a panic + static Bool mxUserCollectLockingTree = FALSE; + +-Bool (*MXUserTryAcquireForceFail)() = NULL; ++Bool (*MXUserTryAcquireForceFail)(const char *) = NULL; + + static MX_Rank (*MXUserMxCheckRank)(void) = NULL; + static void (*MXUserMxLockLister)(void) = NULL; + diff --git a/app-emulation/open-vm-tools/open-vm-tools-12.5.0-r2.ebuild b/app-emulation/open-vm-tools/open-vm-tools-12.5.0-r2.ebuild new file mode 100644 index 000000000000..9006329b0e50 --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-12.5.0-r2.ebuild @@ -0,0 +1,157 @@ +# Copyright 2007-2025 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}-24276846" + +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 +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/gdk-pixbuf-xlib + x11-libs/gtk+:3 + 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? ( + x11-libs/libdrm[video_cards_vmware] + virtual/libudev + )" +DEPEND="${RDEPEND} + net-libs/rpcsvc-proto" +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig + doc? ( app-text/doxygen )" + +PATCHES=( + "${FILESDIR}"/${PN}-12.4.5-Werror.patch + "${FILESDIR}"/${PN}-12.4.5-icu.patch + "${FILESDIR}"/${PN}-12.4.5-xmlsec1-pc.patch + "${FILESDIR}"/${PN}-12.5.0-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 +} + +pkg_postrm() { + udev_reload +}
