All checks were successful
Build package / build-package (push) Successful in 5m11s
452 lines
18 KiB
Bash
452 lines
18 KiB
Bash
# Maintainer: Julian Xhokaxhiu <https://julianxhokaxhiu.com>
|
|
# Contributor: Jean-Marc Lenoir <archlinux "at" jihemel "dot" com>
|
|
# Contributor: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
|
|
|
|
# To enable macOS guests support, uncomment the line below:
|
|
#_enable_macOS_guests=y
|
|
# CAUTION: Running macOS on VMware Workstation on non Apple computer is forbidden by
|
|
# Apple and VMware EULAs.
|
|
|
|
# vmware-keymaps dependency is needed to avoid some conflicts when you install
|
|
# this package with vmware-horizon-client. If you don't plan to install
|
|
# vmware-horizon-client and don't want to add this dependency, you can
|
|
# uncomment the line below:
|
|
#_remove_vmware_keymaps_dependency=y
|
|
|
|
#PKGEXT=.pkg.tar
|
|
pkgname=vmware-workstation
|
|
pkgver=17.6.3
|
|
_buildver=24583834
|
|
_pkgver=${pkgver}_${_buildver}
|
|
pkgrel=9
|
|
_tools_version=12.5.0-24276846
|
|
_legacy_ver=17.5.2
|
|
_legacy_buildver=23775571
|
|
_legacy_tools_version=12.4.0_23259341
|
|
pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC.'
|
|
arch=(x86_64)
|
|
url='https://www.vmware.com/products/workstation-for-linux.html'
|
|
license=(custom)
|
|
install="vmware-workstation.install"
|
|
conflicts=(
|
|
vmware-modules-dkms
|
|
vmware-ovftool
|
|
vmware-patch
|
|
vmware-systemd-services
|
|
)
|
|
provides=(
|
|
vmware-ovftool
|
|
)
|
|
depends=(
|
|
dkms
|
|
fuse2
|
|
gtkmm3
|
|
libcanberra
|
|
libaio
|
|
pcsclite
|
|
hicolor-icon-theme
|
|
libxcrypt-compat # needed for ovftool
|
|
libxml2-legacy # needed for vmrun
|
|
# needed to use Arch GTK3 library (for theme integration)
|
|
gtk3
|
|
gcr
|
|
)
|
|
optdepends=(
|
|
'linux-headers: build modules against Arch kernel'
|
|
)
|
|
makedepends=(
|
|
sqlite
|
|
)
|
|
backup=(
|
|
'etc/vmware/config'
|
|
'etc/conf.d/vmware'
|
|
)
|
|
|
|
DLAGENTS=("https::/usr/bin/curl -fLC - --connect-to softwareupdate-prod.broadcom.com:443:softwareupdate-prod.broadcom.com.cdn.cloudflare.net:443 --retry 3 --retry-delay 3 -o %o %u")
|
|
|
|
source=(
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${pkgver}/${_buildver}/linux/core/VMware-Workstation-${_pkgver/_/-}.${CARCH}.bundle.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-linux-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-linuxPreGlibc25-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-netware-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-solaris-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
"vmware-tools-windows-${_tools_version/_/-}-${pkgver}.${CARCH}.component.tar::https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${pkgver}/${_buildver}/linux/packages/vmware-tools-windows-${_tools_version/_/-}.${CARCH}.component.tar"
|
|
"vmware-tools-windows-x86-${_tools_version/_/-}-${pkgver}.${CARCH}.component.tar::https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${pkgver}/${_buildver}/linux/packages/vmware-tools-windows-x86-${_tools_version/_/-}.${CARCH}.component.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-winPre2k-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
"https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/ws/${_legacy_ver}/${_legacy_buildver}/linux/packages/vmware-tools-winPreVista-${_legacy_tools_version/_/-}.${CARCH}.component.tar"
|
|
|
|
"winVistaSP1.iso::https://packages-prod.broadcom.com/tools/frozen/windows/WindowsToolsVista/SP1/windows.iso"
|
|
"winVistaSP2.iso::https://packages-prod.broadcom.com/tools/frozen/windows/WindowsToolsVista/SP2/windows.iso"
|
|
|
|
'vmware-bootstrap'
|
|
'vmware-vix-bootstrap'
|
|
'config'
|
|
'configure-initscript.sh'
|
|
'vmware-environment.sh'
|
|
|
|
'vmware-networks-configuration.service'
|
|
'vmware-networks.service'
|
|
'vmware-usbarbitrator.service'
|
|
'vmware-networks.path'
|
|
'vmware-usbarbitrator.path'
|
|
|
|
'dkms.conf.in'
|
|
'Makefile'
|
|
'vmmon.patch'
|
|
'vmnet.patch'
|
|
'linux6_15.patch'
|
|
)
|
|
sha256sums=('4f3b643068bbd6e4c864e1b434cfef080faa18382b988d012dc4738094a73e74'
|
|
'd862be0d12796134b40e5ffc7534a5e6161b8898355fe32ca8f705a3806cbfe4'
|
|
'd79f79f17e5f37399046d16be3967e0cff3c9474e2cb6ea3f2c3ebea3ff68cea'
|
|
'4643fff3ed4f8af5a56a1c4c2084fa7327d78e58ee9b0687b98390a4b4a1ac14'
|
|
'196c842f758b813afb202b0db2d09d457fccafac212ca41ef3277dfe9ceaf9ec'
|
|
'81b63fd7f3a7f9f7b24cddb8712a592b4b3c9f269338a8897c55146c9766a18b'
|
|
'5078060e520cf1491d1585d9b85a311bfcde1da080fc527512840d44040eb137'
|
|
'd4e9884f5f11cef4e261023d895eba5b57a8a80623bff0de8b3f1c47154b2a11'
|
|
'20abd21da43ac31741f8bb26db1ae7d8f4ef4c5082c9a2cc3ae5da494f1b9529'
|
|
'3b8f9d6e43f5d1dff0576cb93d008c14e0434d7233872f6c63988513d2bda5d1'
|
|
'8f1cc3181055891b98672f715e0ca7bbe4018960eae945d7a4b9f640c44c3d79'
|
|
'12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e'
|
|
'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141'
|
|
'ac81b0470feebba36482fbb2a9f641fef98924711bf761c0e6fdec67178194de'
|
|
'48d203450db426e8780f3696a2cf85ee08db004e93f8aca50a9aa24129b1e839'
|
|
'b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f'
|
|
'9b4fbe0ba83f761a2eb9ecd05d48428f8b0a5b3abd8404ccbd928408e682f02b'
|
|
'c0a5aea785db06921fb350d36d5e0fd9a14f5eee0c835686ec6fea1af8c92245'
|
|
'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d'
|
|
'16a73931894a65d43da489ff25d07647c0ecddf60d443b103bceca63504910fe'
|
|
'fe1b1be8297f4170406f97dd1f8b385d911faf45afe19cbc0c26b8092b3ddf8d'
|
|
'7ba8cbdb1981a9a714b4068e651cc7a20ab358dddf6cab68519d9f324ea800b3'
|
|
'273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac'
|
|
'32ae0ba7836c2212b819e3e7ec3f96667c1ac6d5083003eab1e794f0c032f640'
|
|
'74453f184ff57390ea0696144f0fc767cc875635595c964d5d5e7924a01c82d8'
|
|
'2411268a37a2aac03ea1e8b38e2da3fc31a232161f92cad824d98d9873b2586d')
|
|
options=(!strip emptydirs !debug)
|
|
|
|
if [ -z "$_remove_vmware_keymaps_dependency" ]; then
|
|
depends+=(
|
|
vmware-keymaps
|
|
)
|
|
fi
|
|
|
|
|
|
_isoimages=(linux linuxPreGlibc25 netware solaris windows windows-x86 winPre2k winPreVista)
|
|
|
|
if [ -n "$_enable_macOS_guests" ]; then
|
|
|
|
_vmware_fusion_ver=13.5.2
|
|
_vmware_fusion_buildver=23775688
|
|
_vmware_fusion_ver_full=${_vmware_fusion_ver}_${_vmware_fusion_buildver}
|
|
# List of VMware Fusion versions: https://softwareupdate-prod.broadcom.com/cds/vmw-desktop/fusion/index.html
|
|
|
|
makedepends+=(
|
|
python
|
|
7zip
|
|
uefitool
|
|
)
|
|
|
|
source+=(
|
|
"https://packages-prod.broadcom.com/tools/frozen/darwin/darwin.iso"
|
|
"https://packages-prod.broadcom.com/tools/frozen/darwin/darwinPre15.iso"
|
|
"unlocker.py"
|
|
"efi-patches.txt"
|
|
)
|
|
|
|
sha256sums+=(
|
|
'e0c96286f376b30e2c2362bd991709f0f6bc6ebd911be4056a58da8698c49236'
|
|
'ef33fc5d152fd9db27cac0b1f21160226dfa5e5b7a501ffa25818682f3b4aaa0'
|
|
'8a61e03d0edbbf60c1c84a43aa87a6e950f82d2c71b968888f019345c2f684f3'
|
|
'392c1effcdec516000e9f8ffc97f2586524d8953d3e7d6f2c5f93f2acd809d91'
|
|
)
|
|
|
|
_fusion_isoimages=(darwin darwinPre15)
|
|
fi
|
|
|
|
|
|
_create_database_file() {
|
|
# Create a database which contains the list of guest tools (necessary to avoid that vmware try to download them)
|
|
local database_filename="$pkgdir/etc/vmware-installer/database"
|
|
echo -n "" > "$database_filename"
|
|
|
|
sqlite3 "$database_filename" "CREATE TABLE settings(key VARCHAR PRIMARY KEY, value VARCHAR NOT NULL, component_name VARCHAR NOT NULL);"
|
|
sqlite3 "$database_filename" "INSERT INTO settings(key,value,component_name) VALUES('db.schemaVersion','2','vmware-installer');"
|
|
sqlite3 "$database_filename" "CREATE TABLE components(id INTEGER PRIMARY KEY, name VARCHAR NOT NULL, version VARCHAR NOT NULL, buildNumber INTEGER NOT NULL, component_core_id INTEGER NOT NULL, longName VARCHAR NOT NULL, description VARCHAR, type INTEGER NOT NULL);"
|
|
|
|
for isoimage in ${_isoimages[@]}
|
|
do
|
|
local version=$(cat "$srcdir/extracted/vmware-tools-$isoimage/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
|
|
sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES('vmware-tools-$isoimage','$version',${_pkgver#*_},1,'$isoimage','$isoimage',1);"
|
|
done
|
|
|
|
if [ -n "$_enable_macOS_guests" ]; then
|
|
for isoimage in ${_fusion_isoimages[@]}
|
|
do
|
|
sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES('vmware-tools-$isoimage','1',${_vmware_fusion_ver_full#*_},1,'$isoimage','$isoimage',1);"
|
|
done
|
|
fi
|
|
}
|
|
|
|
prepare() {
|
|
extracted_dir="$srcdir/extracted"
|
|
[[ -d "$extracted_dir" ]] && rm -r "$extracted_dir"
|
|
|
|
bash \
|
|
"$(readlink -f "$srcdir/VMware-Workstation-${_pkgver/_/-}.${CARCH}.bundle")" \
|
|
--install-component "vmware-tools-linux-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-linuxPreGlibc25-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-netware-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-solaris-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-windows-${_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-windows-x86-${_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-winPre2k-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--install-component "vmware-tools-winPreVista-${_legacy_tools_version/_/-}.${CARCH}.component" \
|
|
--extract "$extracted_dir"
|
|
|
|
if [ -n "$_enable_macOS_guests" ]; then
|
|
sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker.py"
|
|
fi
|
|
}
|
|
|
|
package() {
|
|
local vmware_installer_version=$(cat "$srcdir/extracted/vmware-installer/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
|
|
|
|
# Make directories and copy files.
|
|
|
|
mkdir -p \
|
|
"$pkgdir/etc"/{pam.d,modprobe.d,vmware} \
|
|
"$pkgdir/usr"/{share,bin} \
|
|
"$pkgdir/usr/include/vmware-vix" \
|
|
"$pkgdir/usr/lib"/{vmware/setup,vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",modules-load.d} \
|
|
"$pkgdir/usr/share"/{doc/vmware-vix,licenses/"$pkgname"} \
|
|
"$pkgdir/var/lib/vmware/Shared VMs"
|
|
|
|
cd "$srcdir/extracted"
|
|
|
|
cp -r \
|
|
vmware-workstation/share/* \
|
|
vmware-workstation/man \
|
|
vmware-network-editor-ui/share/* \
|
|
vmware-player-app/share/* \
|
|
"$pkgdir/usr/share"
|
|
|
|
cp -r \
|
|
vmware-workstation/bin/* \
|
|
vmware-vmx/{,s}bin/* \
|
|
vmware-vix-core/bin/* \
|
|
vmware-vprobe/bin/* \
|
|
vmware-player-app/bin/* \
|
|
"$pkgdir/usr/bin"
|
|
|
|
cp -r \
|
|
vmware-workstation/lib/* \
|
|
vmware-player-app/lib/* \
|
|
vmware-vmx/{lib/*,roms} \
|
|
vmware-vprobe/lib/* \
|
|
vmware-usbarbitrator/bin \
|
|
vmware-network-editor/lib \
|
|
"$pkgdir/usr/lib/vmware"
|
|
|
|
cp -r \
|
|
vmware-player-setup/vmware-config \
|
|
"$pkgdir/usr/lib/vmware/setup"
|
|
|
|
cp -r \
|
|
vmware-vix-lib-Workstation1700/lib/Workstation-17.0.0 \
|
|
vmware-vix-core/{lib/*,vixwrapper-config.txt} \
|
|
"$pkgdir/usr/lib/vmware-vix"
|
|
|
|
cp -r \
|
|
vmware-vix-core/doc/* \
|
|
"$pkgdir/usr/share/doc/vmware-vix"
|
|
|
|
cp -r \
|
|
vmware-ovftool/* \
|
|
"$pkgdir/usr/lib/vmware-ovftool"
|
|
|
|
cp -r \
|
|
vmware-installer/{python,sopython,vmis,vmis-launcher,vmware-installer,vmware-installer.py} \
|
|
"$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"
|
|
|
|
cp -r \
|
|
vmware-vix-core/include/* \
|
|
"$pkgdir/usr/include/vmware-vix"
|
|
|
|
for isoimage in ${_isoimages[@]}
|
|
do
|
|
install -Dm 644 "vmware-tools-$isoimage/$isoimage.iso" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso"
|
|
done
|
|
|
|
# Add Windows Vista SP1 and SP2 ISO images
|
|
install -Dm 644 "$srcdir/winVistaSP1.iso" "$pkgdir/usr/lib/vmware/isoimages/winVistaSP1.iso"
|
|
install -Dm 644 "$srcdir/winVistaSP2.iso" "$pkgdir/usr/lib/vmware/isoimages/winVistaSP2.iso"
|
|
|
|
install -Dm 644 "vmware-workstation/doc/EULA" "$pkgdir/usr/share/doc/vmware-workstation/EULA"
|
|
ln -s "/usr/share/doc/vmware-workstation/EULA" "$pkgdir/usr/share/licenses/$pkgname/VMware Workstation - EULA.txt"
|
|
ln -s "/usr/lib/vmware-ovftool/vmware.eula" "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool - EULA.txt"
|
|
install -Dm 644 "vmware-workstation/doc"/open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware Workstation open source license.txt"
|
|
install -Dm 644 "vmware-workstation/doc"/ovftool_open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool open source license.txt"
|
|
install -Dm 644 "vmware-vix-core"/open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname/VMware VIX open source license.txt"
|
|
rm "$pkgdir/usr/lib/vmware-ovftool"/{vmware-eula.rtf,open_source_licenses.txt,manifest.xml}
|
|
|
|
install -d -m 755 "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"/{lib/lib,artwork}
|
|
install -Dm 755 "$srcdir/configure-initscript.sh" "$pkgdir/usr/lib/vmware-installer/$vmware_installer_version/bin/configure-initscript.sh"
|
|
|
|
install -Dm 644 "vmware-vmx/etc/modprobe.d/modprobe-vmware-fuse.conf" "$pkgdir/etc/modprobe.d/vmware-fuse.conf"
|
|
|
|
install -Dm 644 vmware-vmx/extra/modules.xml "$pkgdir"/usr/lib/vmware/modules/modules.xml
|
|
install -Dm 644 vmware-installer/bootstrap "$pkgdir"/etc/vmware-installer/bootstrap
|
|
install -Dm 644 "$srcdir"/vmware-vix-bootstrap "$pkgdir"/etc/vmware-vix/bootstrap
|
|
install -Dm 644 "$srcdir"/vmware-bootstrap "$pkgdir"/etc/vmware/bootstrap
|
|
install -Dm 644 "$srcdir"/config "$pkgdir"/etc/vmware/config
|
|
|
|
if [ -z "$_remove_vmware_keymaps_dependency" ]; then
|
|
rm -r "$pkgdir/usr/lib/vmware/xkeymap" # these files are provided by vmware-keymaps package
|
|
fi
|
|
|
|
echo -e "vmw_vmci\nvmmon" > "$pkgdir/usr/lib/modules-load.d/vmware.conf"
|
|
|
|
for service_file in \
|
|
vmware-networks-configuration.service \
|
|
vmware-networks.service \
|
|
vmware-usbarbitrator.service \
|
|
vmware-networks.path \
|
|
vmware-usbarbitrator.path
|
|
do
|
|
install -Dm 644 \
|
|
"$srcdir/$service_file" \
|
|
"$pkgdir/usr/lib/systemd/system/$service_file"
|
|
done
|
|
|
|
|
|
# Apply permissions where necessary.
|
|
|
|
chmod +x \
|
|
"$pkgdir/usr/bin"/* \
|
|
"$pkgdir/usr/lib/vmware/bin"/* \
|
|
"$pkgdir/usr/lib/vmware/setup"/* \
|
|
"$pkgdir/usr/lib/vmware/lib"/libvmware-gksu.so/gksu-run-helper \
|
|
"$pkgdir/usr/lib/vmware-ovftool"/{ovftool,ovftool.bin} \
|
|
"$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"/{vmware-installer,vmis-launcher} \
|
|
"$pkgdir/usr/lib/vmware-vix/setup"/*
|
|
|
|
chmod +s \
|
|
"$pkgdir/usr/bin"/vmware-authd \
|
|
"$pkgdir/usr/lib/vmware/bin"/{vmware-vmx,vmware-vmx-debug,vmware-vmx-stats}
|
|
|
|
|
|
# Add symlinks the installer would create.
|
|
|
|
for link in \
|
|
licenseTool \
|
|
vmplayer \
|
|
vmware \
|
|
vmware-app-control \
|
|
vmware-enter-serial \
|
|
vmware-fuseUI \
|
|
vmware-gksu \
|
|
vmware-modconfig \
|
|
vmware-modconfig-console \
|
|
vmware-mount \
|
|
vmware-netcfg \
|
|
vmware-setup-helper \
|
|
vmware-tray \
|
|
vmware-vmblock-fuse \
|
|
vmware-vprobe \
|
|
vmware-zenity
|
|
do
|
|
ln -s /usr/lib/vmware/bin/appLoader "$pkgdir/usr/lib/vmware/bin/$link"
|
|
done
|
|
|
|
for link in \
|
|
vmrest
|
|
do
|
|
ln -s /usr/lib/vmware/bin/appLoader "$pkgdir/usr/bin/$link"
|
|
done
|
|
|
|
for link in \
|
|
vmware-fuseUI \
|
|
vmware-mount \
|
|
vmware-netcfg \
|
|
vmware-usbarbitrator
|
|
do
|
|
ln -s /usr/lib/vmware/bin/$link "$pkgdir/usr/bin/$link"
|
|
done
|
|
|
|
ln -s /usr/lib/vmware/icu "$pkgdir/etc/vmware/icu"
|
|
ln -s /usr/lib/vmware-ovftool/ovftool "$pkgdir/usr/bin/ovftool"
|
|
ln -s /usr/lib/vmware-vix/libvixAllProducts.so "$pkgdir/usr/lib/libvixAllProducts.so"
|
|
|
|
|
|
# Replace placeholder "variables" with real paths.
|
|
|
|
for file in \
|
|
gtk-3.0/gdk-pixbuf.loaders
|
|
do
|
|
sed -i 's,@@LIBCONF_DIR@@,/usr/lib/vmware/libconf,g' "$pkgdir/usr/lib/vmware/libconf/etc/$file"
|
|
done
|
|
|
|
sed -i 's,@@BINARY@@,/usr/bin/vmware,' "$pkgdir/usr/share/applications/vmware-workstation.desktop"
|
|
sed -i 's,@@BINARY@@,/usr/bin/vmplayer,' "$pkgdir/usr/share/applications/vmware-player.desktop"
|
|
sed -i 's,@@BINARY@@,/usr/bin/vmware-netcfg,' "$pkgdir/usr/share/applications/vmware-netcfg.desktop"
|
|
|
|
sed \
|
|
-e "s/@@VERSION@@/$vmware_installer_version/" \
|
|
-e "s,@@VMWARE_INSTALLER@@,/usr/lib/vmware-installer/$vmware_installer_version," \
|
|
-i "$pkgdir/etc/vmware-installer/bootstrap"
|
|
|
|
|
|
# Patch up the VMware kernel sources and configure DKMS.
|
|
|
|
dkms_dir="$pkgdir/usr/src/$pkgname-$_pkgver"
|
|
|
|
install -Dm 644 "$srcdir/Makefile" "$dkms_dir/Makefile"
|
|
install -Dm 644 "$srcdir/dkms.conf.in" "$dkms_dir/dkms.conf"
|
|
|
|
sed \
|
|
-e "s/@PKGNAME@/$pkgname/g" \
|
|
-e "s/@PKGVER@/$_pkgver/g" \
|
|
-i "$dkms_dir/dkms.conf"
|
|
|
|
for module in vmmon vmnet; do
|
|
tar -xf "vmware-vmx/lib/modules/source/$module.tar" -C "$dkms_dir"
|
|
msg "Patching $module module for DKMS"
|
|
patch -p2 --read-only=ignore --directory="$dkms_dir/$module-only" < "$srcdir/$module.patch"
|
|
done
|
|
patch -p1 --read-only=ignore --directory="$dkms_dir/" < "$srcdir/linux6_15.patch"
|
|
|
|
rm -r "$pkgdir/usr/lib/vmware/modules/source"
|
|
|
|
if [ -n "$_enable_macOS_guests" ]; then
|
|
msg "Patching VMware to enable macOS guest support"
|
|
python3 "$srcdir/unlocker.py" > /dev/null
|
|
|
|
for isoimage in ${_fusion_isoimages[@]}
|
|
do
|
|
install -Dm 644 "$srcdir/$isoimage.iso" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso"
|
|
done
|
|
|
|
msg "Patching EFI firmwares to disable macOS server checking"
|
|
_efi_arch=("32" "64" "20-32" "20-64")
|
|
for arch in ${_efi_arch[@]}
|
|
do
|
|
uefipatch "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" "$srcdir/efi-patches.txt" -o "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" > /dev/null
|
|
done
|
|
fi
|
|
|
|
_create_database_file
|
|
|
|
# Define some environment variables for VMware and remove the tests about kernel modules
|
|
install -Dm 644 "$srcdir/vmware-environment.sh" "$pkgdir/etc/conf.d/vmware"
|
|
for program in vmware vmplayer vmware-tray; do
|
|
sed -e '/export PRODUCT_NAME/asource /etc/conf.d/vmware' \
|
|
-e 's/if "$BINDIR"\/vmware-modconfig --appname=.*/if true ||/' \
|
|
-i "$pkgdir/usr/bin/$program"
|
|
done
|
|
|
|
# Add StartupWMClass attribute to desktop files
|
|
sed -i '/^StartupNotify=.*/a StartupWMClass=vmware' "$pkgdir/usr/share/applications/vmware-workstation.desktop"
|
|
sed -i '/^StartupNotify=.*/a StartupWMClass=vmplayer' "$pkgdir/usr/share/applications/vmware-player.desktop"
|
|
sed -i '/^StartupNotify=.*/a StartupWMClass=vmware-netcfg' "$pkgdir/usr/share/applications/vmware-netcfg.desktop"
|
|
}
|