diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 63 |
1 files changed, 38 insertions, 25 deletions
@@ -16,7 +16,7 @@ pkgname=vmware-workstation14 pkgver=14.1.7 _buildver=12989993 _pkgver=${pkgver}_${_buildver} -pkgrel=6 +pkgrel=25 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' @@ -43,6 +43,11 @@ depends=( libaio pcsclite hicolor-icon-theme + libxcrypt-compat # needed for ovftool + # needed to replace internal libs: + fontconfig + freetype2 + harfbuzz ) optdepends=( 'linux-headers: build modules against Arch kernel' @@ -85,6 +90,8 @@ source=( 'vmware-networks-configuration.service' 'vmware-networks.service' 'vmware-usbarbitrator.service' + 'vmware-networks.path' + 'vmware-usbarbitrator.path' 'dkms.conf.in' 'Makefile' @@ -113,13 +120,15 @@ sha256sums=( '9b4fbe0ba83f761a2eb9ecd05d48428f8b0a5b3abd8404ccbd928408e682f02b' 'c0a5aea785db06921fb350d36d5e0fd9a14f5eee0c835686ec6fea1af8c92245' 'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d' + '16a73931894a65d43da489ff25d07647c0ecddf60d443b103bceca63504910fe' + 'fe1b1be8297f4170406f97dd1f8b385d911faf45afe19cbc0c26b8092b3ddf8d' - '05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487' - '6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d' - '7bfbabd55c4c147538e96fa89e22827c6282d1231d6958391eebb59578e6188a' - 'e712332335fde4e4846f18c3fa8c933f173336a44546f87ea02b1e1a53f15911' + '10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e' + '273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac' + '1789d14b184792db3fe0191aba0e4f733097dc058e73bf8c20a0a40cba74bfd8' + '42cd9eeca74db7ab9493ca8824b41d7aec837992ac273f1b32601a222d654388' ) -options=(!strip emptydirs) +options=(!strip emptydirs !debug) if [ -z "$_remove_vmware_keymaps_dependency" ]; then depends+=( @@ -131,28 +140,27 @@ _isoimages=(freebsd linux linuxPreGlibc25 netware solaris windows winPre2k winPr if [ -n "$_enable_macOS_guests" ]; then -_vmware_fusion_ver=10.1.6_12989998 +_vmware_fusion_ver=10.1.6 +_vmware_fusion_buildver=12989998 +_vmware_fusion_ver_full=${_vmware_fusion_ver}_${_vmware_fusion_buildver} # List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/ -_unlocker_ver=3.0.3 -_efi_unlocker_ver=1.0.0 - makedepends+=( python unzip - uefitool-git + uefitool ) source+=( - "darwinPre15-tools-${_vmware_fusion_ver}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwinPre15.zip.tar" - "darwin-tools-${_vmware_fusion_ver}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver/_//}/packages/com.vmware.fusion.tools.darwin.zip.tar" - "unlocker-${_unlocker_ver}.py::https://raw.githubusercontent.com/paolo-projects/unlocker/${_unlocker_ver}/unlocker.py" - "efi-unlocker-patch-${_efi_unlocker_ver}.txt" + "darwinPre15-tools-${_vmware_fusion_ver_full}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver_full/_//}/packages/com.vmware.fusion.tools.darwinPre15.zip.tar" + "darwin-tools-${_vmware_fusion_ver_full}.zip.tar::https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${_vmware_fusion_ver_full/_//}/packages/com.vmware.fusion.tools.darwin.zip.tar" + "unlocker.py" + "efi-patches.txt" ) sha256sums+=( '195313791f2c2cf880b0ba6c9d130e40ab6729335c0980fcc40df4209c1ed52b' 'e36fb99a56a65d2c4d82168c8adb1ed19a9a7aaf75807c667c79a79f4968740a' - '1c27547dcf6fb2f436c96ee62ae8c7f5cfd14b40d8bbd35dc385e247c4fb7e0f' + '8a61e03d0edbbf60c1c84a43aa87a6e950f82d2c71b968888f019345c2f684f3' '392c1effcdec516000e9f8ffc97f2586524d8953d3e7d6f2c5f93f2acd809d91' ) @@ -172,13 +180,13 @@ _create_database_file() { 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);" + 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#*_}\",1,\"$isoimage\",\"$isoimage\",1);" + 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 } @@ -200,7 +208,7 @@ if [ -n "$_enable_macOS_guests" ]; then rm -rf payload manifest.plist done - sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker-${_unlocker_ver}.py" + sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker.py" fi } @@ -210,7 +218,7 @@ package() { # Make directories and copy files. mkdir -p \ - "$pkgdir/etc"/{cups,pam.d,modprobe.d,profile.d,thnuclnt,vmware} \ + "$pkgdir/etc"/{cups,pam.d,modprobe.d,thnuclnt,vmware} \ "$pkgdir/usr"/{share,bin} \ "$pkgdir/usr/include/vmware-vix" \ "$pkgdir/usr/lib"/{vmware/{setup,lib/libvmware-vim-cmd.so},vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",cups/filter,modules-load.d} \ @@ -330,7 +338,9 @@ fi vmware-authd.service \ vmware-networks-configuration.service \ vmware-networks.service \ - vmware-usbarbitrator.service + vmware-usbarbitrator.service \ + vmware-networks.path \ + vmware-usbarbitrator.path do install -Dm 644 \ "$srcdir/$service_file" \ @@ -428,7 +438,7 @@ fi -e "s/@PKGVER@/$_pkgver/g" \ -i "$dkms_dir/dkms.conf" - for module in vmmon vmnet; do # vmblock vmci vsock + 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" @@ -438,7 +448,7 @@ fi if [ -n "$_enable_macOS_guests" ]; then msg "Patching VMware to enable macOS guest support" - python "$srcdir/unlocker-${_unlocker_ver}.py" > /dev/null + python3 "$srcdir/unlocker.py" > /dev/null for isoimage in ${_fusion_isoimages[@]} do @@ -447,10 +457,10 @@ if [ -n "$_enable_macOS_guests" ]; then done msg "Patching EFI firmwares to disable macOS server checking" - _efi_arch=(32 64) + _efi_arch=("32" "64") for arch in ${_efi_arch[@]} do - uefipatch "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" "$srcdir/efi-unlocker-patch-${_efi_unlocker_ver}.txt" -o "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" > /dev/null + 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 @@ -472,4 +482,7 @@ fi # use system font rendering ln -sf /usr/lib/libfreetype.so.6 "$pkgdir/usr/lib/vmware/lib/libfreetype.so.6/" ln -sf /usr/lib/libfontconfig.so.1 "$pkgdir/usr/lib/vmware/lib/libfontconfig.so.1/" + + # to solve bugs with incompatibles library versions: + ln -sf /usr/lib/libharfbuzz.so.0 "$pkgdir/usr/lib/vmware/lib/libharfbuzz.so.0/" } |