Add =app-emulation/vmware-workstation-14.1.3.9474260

This commit is contained in:
Sergey Morozov
2018-09-23 17:38:05 +03:00
parent 4495f8ac31
commit b816279f45
4 changed files with 835 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
AUX 329-00-vmmon-quick-workaround-for-objtool-warnings.patch 1555 BLAKE2B dd4a58e78634aed9d5fb64bcb02b999d55be6b87e496c8daf640f7027aba3942f4e415125ba8fb847fa832336560d4bdbb0f539fefea3b4d2c175f2cbb33a9d7 SHA512 892bde81c721c18264e154cdfadd6b560af37260c9a457ec321fdf6bdf78b1704df57532b0919ed7dbc5c1036230b95f0cbacb7acbfd15da2145e3445da795f7
AUX 329-01-vmmon-fix-always_inline-attribute-usage.patch 1204 BLAKE2B faa201beb42ac4a04f660aa99d9cad76c12f47048b49f3c48f6932ec367ffebb9e94c5f06fd0957fb8451c183e6bf21954ce88c04910969f80370c2c85e1024b SHA512 b3ab5a62936bc1bed997f84401df998097062ca2b7425dcc2d01191c9b49ddafcee36e859b1bcd60de0d532c1c597aba2b406d6f90062674d5fe54c1534e3235
AUX 329-02-vmmon-fix-indirect-call-with-retpoline-build.patch 1829 BLAKE2B 6b2efbd868cd3ecf9bbd5e9781d9e85fa733b5919b66040e9c6cdf9f65bf5c5aabb43e52af9cd224481fc60943df546b2812ae17a65bbb476651ec399194ac4f SHA512 6ea044d1b9096b48fa3825f474a758aa67698753646e62dd83d427bfbf8ebd2168c9d0130a35b4ee81391c3ce4d4459cee39f0354469d0485d30118b50f3463c
AUX 329-03-vmmon-compatibility-with-eventpoll-switch-to-poll_ma.patch 2400 BLAKE2B c66c6e524166c030aef95024ed560bc1c1ecbfa0f7acaeb7d3e08371c9f6d37dca58539d58e1d2a1d1b815413cd5a0adea6afb62b52181cd93abfa89dcd88c68 SHA512 0c6e346fb92fa9039d0364eefda23f95d686c4b7a1efef7b406b229877210724e177a1f7c264c7fc6e8adc4c01eb349bf8c3d313bd0536d7ffe81078dd6df031
AUX 329-4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch 1169 BLAKE2B 4e5a74961ff512748375bd1d90a6670fc519c2c4c0be94f89d14fdf39e4922b057ae2baa38d07d34aca9ec897b012c4b9326dfd51a44235418919708b789895e SHA512 727fb97a63399d7c19238ae864a38cf2297adccb466fc2deba2a72f0592eb655f653d3c8e45dac06bbd0e09fc71a59a8bfea491b7580b37d41d0729f6adc023d
AUX 329-4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch 1131 BLAKE2B 1e07b4a15ff1180349348d84efb606c223f5cfa4accdcc0e1a41c8a0de52fb186bddd3c6cd3f5f48041c52ad2c29110726197f1d9352bd87caf4e646c4c4c001 SHA512 192d6a9a14757706f1c9345ff45592a559729619627a32c9f0a1d7203e60881312a4d0fc92ff750c8ff5b5350cf1a2b55238c16973e9c7eb4c2cfe2966abe7d1
AUX 329-4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch 1603 BLAKE2B 4eea61a743cb443e4a4c22a02a03410adbae66339ac7ed1c1aafe54e447135c1ed976ce3c97f22db9984926de9b9a09b1820e253978f457c0c2b9d22f8e4c59b SHA512 4413cd5e791dd19c4b47ba2178e386160912882b0e1a549151eafcceae484b5e48f527ee45b14584c98e06c11e28ee5bfef34b318e46b45704fbcf93a7b52b56
@@ -11,3 +12,4 @@ AUX 329-vmblock.patch 15016 BLAKE2B 887159b5c526eea4fcc7d49664a4c7233ab9c73440be
AUX 329-vmci.patch 9474 BLAKE2B 9e833fcafc39c4279a9d86c96c0d4b012d6f653d42a76ba7d7d65355876da469c0dcb746a6eab4be795c5c29f1d11ace5cbf705e066d12fff20df758b8ade901 SHA512 b8b46a3df7ee2f906dd474add6c0ec3d76566f1c643278e3a7faeb68c829c78926351359bd78e12ad744bb946a31324ee347bb67413c4d670e7a091379160e2e
AUX 329-vsock.patch 10068 BLAKE2B d84f22a1623e2303c6aa2ea3624857fb2cf2dbb31b4747582285fc506ae208c1fb4b2a5925b02e6473b43ba178d871276584800d06cd2cdfb06273743814cc24 SHA512 73df6466b1df7be6ae40751596834d967b46d48218267afe5244abcdcacf5e263a78ed3bd3c4e6f2a5d81dd9c0c9e9042fc52fa9f1d4d000098ad20f19509001
EBUILD vmware-modules-329.1.2.ebuild 3669 BLAKE2B 08c3d416e5eb5ce415e85cf6467f3846ec6506294677782c102f72dcb5bd928e62ace4733fda8041f1d12e27dfc130ea9ff6a7f3264d20b0bfe801e1d839bec2 SHA512 9317c9124ca131581fdb71351d5e4255fcf8989daa4199b19f56936d8bc75df8752990f8748d14238e671a534758b4b193ce4e32ee83c94ebd9d89532d6e8188
EBUILD vmware-modules-329.1.3.ebuild 3765 BLAKE2B dddfe3d1f5a9bcd1245ceea3333ea13c33ceb52471efef9853fe3af8d5686949be72a282120c3c53328486739b93c8c37eb6900defbec8ce26bb12c549d150e7 SHA512 449bd7875dd96babb22fcbbb0ea69b5be2193746e73d856fd86c19796af6988c590061114795b30b3ebe4f2dd5cb311cfbcbc9b70bf4812575b4b041fe4b31c3

View File

@@ -0,0 +1,119 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils flag-o-matic linux-info linux-mod user versionator udev
PV_MAJOR=$(get_major_version)
PV_MINOR=$(get_version_component_range 2-3)
DESCRIPTION="VMware kernel modules"
HOMEPAGE="http://www.vmware.com/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND=""
DEPEND="
=app-emulation/vmware-workstation-14.${PV_MINOR}*
"
S=${WORKDIR}
pkg_setup() {
CONFIG_CHECK="~HIGH_RES_TIMERS"
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
CONFIG_CHECK="${CONFIG_CHECK} BKL"
fi
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI VMWARE_VMCI_VSOCKETS"
linux-info_pkg_setup
linux-mod_pkg_setup
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
VMWARE_MODULE_LIST="vmmon vmnet"
VMWARE_MOD_DIR="${PN}-${PVR}"
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
enewgroup "${VMWARE_GROUP}"
filter-flags -mfpmath=sse -mavx -mpclmul -maes
append-cflags -mno-sse # Found a problem similar to bug #492964
for mod in ${VMWARE_MODULE_LIST}; do
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
done
}
src_unpack() {
cd "${S}"
for mod in ${VMWARE_MODULE_LIST}; do
tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
done
}
src_prepare() {
# from https://github.com/mkubecek/vmware-host-modules/tree/workstation-14.1.1
kernel_is ge 4 9 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.09-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch"
kernel_is ge 4 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.10-00-vmnet-use-standard-definition-of-PCI_VENDOR_ID_VMWAR.patch"
kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-00-vmmon-use-standard-definition-of-MSR_MISC_FEATURES_E.patch"
kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-00-vmmon-use-standard-definition-of-CR3_PCID_MASK-if-av.patch"
epatch "${FILESDIR}/${PV_MAJOR}-00-vmmon-quick-workaround-for-objtool-warnings.patch"
kernel_is ge 4 16 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.16-00-vmmon-use-standard-definition-of-MSR_K7_HWCR_SMMLOCK.patch"
epatch "${FILESDIR}/${PV_MAJOR}-01-vmmon-fix-always_inline-attribute-usage.patch"
epatch "${FILESDIR}/${PV_MAJOR}-02-vmmon-fix-indirect-call-with-retpoline-build.patch"
epatch "${FILESDIR}/${PV_MAJOR}-03-vmmon-compatibility-with-eventpoll-switch-to-poll_ma.patch"
# decouple the kernel include dir from the running kernel version: https://github.com/stefantalpalaru/gentoo-overlay/issues/17
sed -i -e "s%HEADER_DIR = /lib/modules/\$(VM_UNAME)/build/include%HEADER_DIR = ${KERNEL_DIR}/include%" */Makefile || die "sed failed"
# Allow user patches so they can support RC kernels and whatever else
default
}
src_install() {
linux-mod_src_install
local udevrules="${T}/60-vmware.rules"
cat > "${udevrules}" <<-EOF
KERNEL=="vmci", GROUP="vmware", MODE="660"
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
KERNEL=="vmmon", GROUP="vmware", MODE="660"
KERNEL=="vsock", GROUP="vmware", MODE="660"
EOF
udev_dorules "${udevrules}"
dodir /etc/modprobe.d/
cat > "${D}"/etc/modprobe.d/vmware.conf <<-EOF
# Support for vmware vmci in kernel module
alias vmci vmw_vmci
EOF
export installed_modprobe_conf=1
dodir /etc/modprobe.d/
cat >> "${D}"/etc/modprobe.d/vmware.conf <<-EOF
# Support for vmware vsock in kernel module
alias vsock vmw_vsock_vmci_transport
EOF
export installed_modprobe_conf=1
}
pkg_postinst() {
linux-mod_pkg_postinst
if [ "${installed_modprobe_conf}"x == "x" ] ; then
if [ -f "${ROOT}/etc/modprobe.d/vmware.conf" ] ; then
ewarn "Please check the /etc/modprobe.d/vmware.conf file and"
ewarn "possible conflicts when using vmci and/or vsock modules built"
ewarn "out of kernel"
fi
fi
}