Merge branch 'master' into gnome-team

Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
This commit is contained in:
Liliana Marie Prikler 2023-10-23 21:09:49 +02:00
commit e38d6a9c2f
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
195 changed files with 14271 additions and 50096 deletions

View file

@ -30,6 +30,7 @@
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -65,6 +66,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages containers)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@ -79,8 +81,8 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -113,17 +115,17 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sdl)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages spice)
#:use-module (gnu packages ssh)
@ -135,6 +137,7 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@ -142,9 +145,8 @@
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
@ -1722,6 +1724,156 @@ manages Xen and LXC (Linux containers). It presents a summary view of running
domains, their live performance and resource utilization statistics.")
(license license:gpl2+)))
(define-public vmware-open-vm-tools
(package
(name "vmware-open-vm-tools")
(version "12.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vmware/open-vm-tools")
(commit (string-append "stable-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hbimhady0v1kd45azknl1lgzgldhgdjd7bj540rn3y4cai5cnk1"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--with-fuse=fuse3"
"--without-kernel-modules"
"--without-x"
(string-append
"--with-udev-rules-dir=" #$output "/lib/udev/rules.d"))
;; TODO: Add iproute2 dbus which commands wrap.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "open-vm-tools")))
(replace 'bootstrap
(lambda _
(system* "autoreconf" "-if")))
(add-after 'bootstrap 'patch-paths
(lambda _
(substitute* "Makefile.am"
(("/etc/vmware-tools/")
(string-append #$output "/etc/vmware-tools/")))
(substitute* "scripts/Makefile.am"
(("/etc/vmware-tools")
(string-append #$output "/etc/vmware-tools"))
(("/usr/bin")
(string-append #$output "/bin")))
(substitute* "services/vmtoolsd/Makefile.am"
(("/etc/vmware-tools")
(string-append #$output "/etc/vmware-tools"))
(("\\$\\(PAM_PREFIX\\)")
(string-append #$output "/$(PAM_PREFIX)")))
(substitute* "vgauth/service/Makefile.am"
(("/etc/vmware-tools/vgauth/schemas")
(string-append #$output "/etc/vmware-tools/vgauth/schemas"))
(("etc/vmware-tools/vgauth.conf")
(string-append #$output "/etc/vmware-tools/vgauth.conf")))
(substitute* "vmhgfs-fuse/config.c"
(("/bin/fusermount3")
(string-append
#$(this-package-input "fuse") "/bin/fusermount3")))
;; XXX: This part might need more testing with shutdown and halt
;; commands provided by Shepherd.
(substitute* "lib/system/systemLinux.c"
(("/sbin/shutdown")
(string-append
#$(this-package-input "shepherd") "/sbin/shutdown"))
(("/bin/reboot")
(string-append
#$(this-package-input "shepherd") "/sbin/reboot")))
(substitute* "services/plugins/vix/foundryToolsDaemon.c"
(("/bin/mount")
(string-append
#$(this-package-input "util-linux") "/bin/mount"))
(("/usr/bin/vmhgfs-fuse")
(string-append #$output "/bin/vmhgfs-fuse"))))))))
(native-inputs
(list `(,glib "bin") ; for glib-genmarshal
autoconf
automake
libltdl
libtool
pkg-config))
(inputs
(list eudev
fuse
glib
xmlsec
libmspack
;; libdnet ; Not packed
libtirpc
libxcrypt
libxml2
linux-pam
openssl
procps
rpcsvc-proto
shepherd ;for 'halt' and 'reboot', invoked from VMWare host.
util-linux
xmlsec))
(home-page "https://github.com/vmware/open-vm-tools")
(synopsis "Tools for VMWare guest VM to enhance host-guest integration")
(description
"@code{open-vm-tools} is a set of services and modules that enable several
features in VMware products for better management of, and seamless user
interactions with, guests.
@code{open-vm-tools} enables the following features in VMware products:
@itemize
@item The ability to perform virtual machine power operations gracefully.
@item Execution of VMware provided or user configured scripts in guests during
various power operations.
@item The ability to run programs, commands and file system operation in guests
to enhance guest automation.
@item Authentication for guest operations.
@item Periodic collection of network, disk, and memory usage information from
the guest.
@item Generation of heartbeat from guests to hosts so VMware's HA solution can
determine guests' availability.
@item Clock synchronization between guests and hosts or client desktops.
@item Quiescing guest file systems to allow hosts to capture
file-system-consistent guest snapshots.
@item Execution of pre-freeze and post-thaw scripts while quiescing guest file
systems.
@item The ability to customize guest operating systems immediately after
powering on virtual machines.
@item Enabling shared folders between host and guest file systems on VMware
Workstation and VMware Fusion.
@item Copying and pasting text, graphics, and files between guests and hosts or
client desktops.
@end itemize")
(license license:gpl2)))
(define-public vmware-open-vm-tools-gtk
(package/inherit vmware-open-vm-tools
(name "vmware-open-vm-tools-gtk")
(inputs
(modify-inputs (package-inputs vmware-open-vm-tools)
(prepend gdk-pixbuf-xlib
gtk+
gtkmm-3
libdrm
libx11
libxext
libxi
libxinerama
libxrandr
libxrender
libxtst)))
(arguments
(substitute-keyword-arguments (package-arguments vmware-open-vm-tools)
((#:configure-flags flags)
#~(delete "--without-x" #$flags))))
(description "This package provides a GTK+ support for @code{open-vm-tools}.")))
(define-public criu
(package
(name "criu")