commit:     8d8302677aeb2906313ea1214b7c3b46f18f187c
Author:     Denis Reva <denis7774 <AT> gmail <DOT> com>
AuthorDate: Sat Apr 11 08:19:27 2020 +0000
Commit:     Denis Reva <denis7774 <AT> gmail <DOT> com>
CommitDate: Sat Apr 11 08:20:21 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8d830267

media-libs/amdvlk:

new ebuild from Github's pull request
Signed-off-by: Denis Reva <denis7774 <AT> gmail.com>
All Unquoted variables is needed for fetching

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Reva Denis <denis7774 <AT> gmail.com>

 media-libs/amdvlk/Manifest               |   8 ++
 media-libs/amdvlk/amdvlk-2020.1.4.ebuild | 125 +++++++++++++++++++++++++++++++
 media-libs/amdvlk/metadata.xml           |  16 ++++
 3 files changed, 149 insertions(+)

diff --git a/media-libs/amdvlk/Manifest b/media-libs/amdvlk/Manifest
new file mode 100644
index 0000000..22a1c38
--- /dev/null
+++ b/media-libs/amdvlk/Manifest
@@ -0,0 +1,8 @@
+DIST AMDVLK-v-2020.Q1.4.tar.gz 30348 BLAKE2B 
fc3e4f03d52c064f8b028b1afd2aad6aab3196811d2d6e9535399f39619dc88317e3fb94e1faa9048fc6a3cbe64b1ee6ddc66a759fd38f5408e9cf8b9f535caa
 SHA512 
53fd24eee13c38360b9f962a5d28a1598cdb180357a1ba8ba7c4460d6cd43f909fac25b8cb3231ec29ee172d85ff23faaa135970683072aa468bd15a5505353f
+DIST CWPack-b601c88aeca7a7b08becb3d32709de383c8ee428.tar.gz 24538 BLAKE2B 
b30ddc4cf6e307864c77308faeb5a41a8ed9e708b668dac25989cfbe528422d70ffc17b54109c52abdf5da5c426a3d143cd19b4a3577459d5cce72a85e71284d
 SHA512 
cc544f361ced841525041d6d31678698946362338cbd49ccfda6836f2dcfa4ce495d09b7ce191699364fd5101c671a6734aa4fb3ce447b9e8f1e75f7ea13c766
+DIST MetroHash-2b6fee002db6cc92345b02aeee963ebaaf4c0e2f.tar.gz 11762 BLAKE2B 
4210468564233b0d49572bef5046479123e7597fa69d5a62d8e2b39b3898e89ae044ea2e58cce21f5034fd06c6178b9dbbee25d8f5ad5f3da18ac762b54400cb
 SHA512 
565f98cb44af81c43096eabeaba269ea9cdc3ecfb06868fedf663a0d6f88f3c49251192de43cb30a5172b2ac60580f58fc2bacbd4cbefbc42283efccdfa8a87f
+DIST llpc-7686a2ddba683f7a361460f3806b0d45e615ca76.tar.gz 1955263 BLAKE2B 
f9c6ad489f4998ede751d0b35b129a27d91d0e9d0e86a6d05652adb016eaae9ae40f3756c12ad2139040ab7543aeb1399988f28bda70417f480f42b0a8980ae9
 SHA512 
dc737957da89f6af4fdb85df2113857d8b9418df4396e7e362d029c696a11cf691b5aaff1ce14ab8ad0c1301d10af5f689394a76351eb965cba6be0e0194cb5d
+DIST llvm-project-5c958c70bc6366298296dc778e903f65528c3b0f.tar.gz 116288565 
BLAKE2B 
438a04e6f3394e94bcfdcf97ecb240216050e723e1685ba05b10333061e7c8a6a79023071f35547509c88ed55541ed4e51988e06a89013201154dd89240b6f94
 SHA512 
57da73edda674e10ed799a06fa16f3dc5d241307bc28b463ab1cf4f359daa07c186fd64e242053fc4a3869efa604176c92a7850fc6005b1333e5aa92f6bf0bdd
+DIST pal-bb7398b1c7509a30ba4f7d947b5ad5549a4d58db.tar.gz 7340860 BLAKE2B 
66c0055ecff085b4ad762cba70f5c8448c448bcdebc2ebffd368a8a953cf40eb6e114e3c97cdd772b0c8c98982288f04915f647d247d21bd4dc7135491f98d28
 SHA512 
ed5cecd0243322f6c9885203677faabf4245b7af88b0eac2b0a736af971491690ce123b243b1d76af06249f0549aa2a724b67120ac413c6f4f6de0651d8c6b60
+DIST spvgen-d16fddddf22a1eb3a3f4ce05cbcb95a337f708b1.tar.gz 17745 BLAKE2B 
b4244e0eb7e2967b692569090481e21cf87ee2124f9e9c0bc550be5e9c26baa08a6be33785cb15c05b54d57805cb1489f7f9abcc3490ed1f374f7c2a4b7dee61
 SHA512 
48ba6708eae2409af54165eb8577eded0f3adc228963807ef4a49496c954e1ee256c00b243fa1caa070cbc4931c1d8b6dcbc702620d6361bd3ab0a1a3414bce3
+DIST xgl-2db4177e78133c868e2c6b4dcc46aeb2f512163a.tar.gz 841923 BLAKE2B 
e67ae03976a806ed1eaddfd694270ea58d18a0d9cb60a8fe4ac67cbddf765df958127258aa28d8d824c5267fbcd3066abb3ffdb0fb2064c580cbdc4d7daf638b
 SHA512 
26fdf2003c32d63792b80942d59bdda56c26e809a26031f77c0f31383df280c8b76ef7c9d321d193e2512075f197461b27db356f8170887c25fda01c85b9f5ed

diff --git a/media-libs/amdvlk/amdvlk-2020.1.4.ebuild 
b/media-libs/amdvlk/amdvlk-2020.1.4.ebuild
new file mode 100644
index 0000000..f8b5424
--- /dev/null
+++ b/media-libs/amdvlk/amdvlk-2020.1.4.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit multilib-minimal check-reqs
+
+#cmake-multilib and cmake-utils build doesn't support 
https://github.com/GPUOpen-Drivers/AMDVLK/issues/151
+DESCRIPTION="AMD Open Source Driver for Vulkan"
+HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug wayland"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
+###DEPENDS
+BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
+DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+       ${BUNDLED_LLVM_DEPEND}
+       >=dev-util/vulkan-headers-1.2.133"
+BDEPEND="${BUNDLED_LLVM_DEPEND}
+       dev-util/cmake"
+RDEPEND=" ${DEPEND}
+       x11-libs/libdrm[${MULTILIB_USEDEP}]
+       x11-libs/libXrandr[${MULTILIB_USEDEP}]
+       x11-libs/libxcb[${MULTILIB_USEDEP}]
+       x11-libs/libxshmfence[${MULTILIB_USEDEP}]
+       >=media-libs/vulkan-loader-1.2.133[${MULTILIB_USEDEP}]"
+
+CHECKREQS_MEMORY="4G"
+CHECKREQS_DISK_BUILD="2G"
+S="${WORKDIR}"
+CMAKE_USE_DIR="${S}/xgl"
+
+###SOURCE CODE VARIABLES
+FETCH_URI="https://github.com/GPUOpen-Drivers";
+CORRECT_AMDVLK_PV="v-$(ver_rs 1 '.Q')" #Works only for amdvlk source code: 
transforming version 2019.2.2 to v-2019.Q2.2. Any other commits should be 
updated manually
+##For those who wants update ebuild: check 
https://github.com/GPUOpen-Drivers/AMDVLK/blob/master/default.xml
+##and place commits in the desired variables
+## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
+## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip 
..."
+XGL_COMMIT="2db4177e78133c868e2c6b4dcc46aeb2f512163a"
+PAL_COMMIT="bb7398b1c7509a30ba4f7d947b5ad5549a4d58db"
+LLPC_COMMIT="7686a2ddba683f7a361460f3806b0d45e615ca76"
+SPVGEN_COMMIT="d16fddddf22a1eb3a3f4ce05cbcb95a337f708b1"
+LLVM_PROJECT_COMMIT="5c958c70bc6366298296dc778e903f65528c3b0f"
+METROHASH_COMMIT="2b6fee002db6cc92345b02aeee963ebaaf4c0e2f"
+CWPACK_COMMIT="b601c88aeca7a7b08becb3d32709de383c8ee428"
+## SRC_URI
+SRC_URI=" ${FETCH_URI}/AMDVLK/archive/${CORRECT_AMDVLK_PV}.tar.gz -> 
AMDVLK-${CORRECT_AMDVLK_PV}.tar.gz
+${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> xgl-${XGL_COMMIT}.tar.gz
+${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> pal-${PAL_COMMIT}.tar.gz
+${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> llpc-${LLPC_COMMIT}.tar.gz
+${FETCH_URI}/spvgen/archive/${SPVGEN_COMMIT}.tar.gz -> 
spvgen-${SPVGEN_COMMIT}.tar.gz
+${FETCH_URI}/llvm-project/archive/${LLVM_PROJECT_COMMIT}.tar.gz -> 
llvm-project-${LLVM_PROJECT_COMMIT}.tar.gz
+${FETCH_URI}/MetroHash/archive/${METROHASH_COMMIT}.tar.gz -> 
MetroHash-${METROHASH_COMMIT}.tar.gz
+${FETCH_URI}/CWPack/archive/${CWPACK_COMMIT}.tar.gz -> 
CWPack-${CWPACK_COMMIT}.tar.gz"
+
+###EBUILD FUNCTIONS
+src_prepare() {
+       ##moving src to proper directories
+       mkdir -p ${S}
+       mkdir -p ${S}/third_party
+       mv AMDVLK-${CORRECT_AMDVLK_PV}/ ${S}/AMDVLK
+       mv xgl-${XGL_COMMIT}/ ${S}/xgl
+       mv pal-${PAL_COMMIT}/ ${S}/pal
+       mv llpc-${LLPC_COMMIT}/ ${S}/llpc
+       mv spvgen-${SPVGEN_COMMIT}/ ${S}/spvgen
+       mv llvm-project-${LLVM_PROJECT_COMMIT}/ ${S}/llvm-project
+       mv MetroHash-${METROHASH_COMMIT}/ ${S}/third_party/metrohash
+       mv CWPack-${CWPACK_COMMIT}/ ${S}/third_party/cwpack
+       ##Installing rule
+       cat << EOF > "${T}/10-amdvlk-dri3.conf" || die
+Section "Device"
+Identifier "AMDgpu"
+Option  "DRI" "3"
+EndSection
+EOF
+       cd ${S}/xgl
+       default
+}
+
+multilib_src_configure() {
+       local mycmakeargs=( \
+                       -DBUILD_WAYLAND_SUPPORT=$(usex wayland ) \
+                       -DCMAKE_BUILD_TYPE="$(usex debug "Debug" "Release")" \
+                       -B${BUILD_DIR} )
+       cd ${S}/xgl
+       cmake -H. "${mycmakeargs[@]}"
+}
+
+multilib_src_install() {
+       if use abi_x86_64 && multilib_is_native_abi; then
+               mkdir -p ${D}/usr/lib64/
+               mv "${BUILD_DIR}/icd/amdvlk64.so" ${D}/usr/lib64/
+               insinto /usr/share/vulkan/icd.d
+               doins ${S}/AMDVLK/json/Redhat/amd_icd64.json
+       else
+               mkdir -p ${D}/usr/lib/
+               mv "${BUILD_DIR}/icd/amdvlk32.so" ${D}/usr/lib/
+               insinto /usr/share/vulkan/icd.d
+               doins ${S}/AMDVLK/json/Redhat/amd_icd32.json
+       fi
+}
+
+multilib_src_install_all() {
+       insinto /usr/share/X11/xorg.conf.d/
+       doins ${T}/10-amdvlk-dri3.conf
+       einfo "AMDVLK requires DRI3 mode so config file is istalled in 
/usr/share/X11/xorg.conf.d/10-amdvlk-dri3.conf"
+       einfo "It's safe to double xorg configuration files if you have already 
had ones"
+}
+
+pkg_postinst() {
+       elog "More information about the configuration can be found here:"
+       elog " https://github.com/GPUOpen-Drivers/AMDVLK";
+       ewarn "Make sure the following line is NOT included in the any Xorg 
configuration section:"
+       ewarn "Driver      \"modesetting\""
+       ewarn "Else AMDVLK breaks things"
+       ewarn "With some games AMDVLK is still not stable. Use it at you own 
risk"
+       elog "You may want to disable default vulkan mesa provider in 
package.use \"media-libs/mesa -vulkan\""
+       elog "or perform export in /etc/env.d/ variable 
VK_ICD_FILENAMES=vulkanprovidername:vulkanprovidername2 "
+       elog "exampe| 
VK_ICD_FILENAMES=\"/usr/share/vulkan/icd.d/amd_icd64.json:/usr/share/vulkan/icd.d/amd_icd64.json\""
+}

diff --git a/media-libs/amdvlk/metadata.xml b/media-libs/amdvlk/metadata.xml
new file mode 100644
index 0000000..d986303
--- /dev/null
+++ b/media-libs/amdvlk/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>denis7...@gmail.com</email>
+               <name>Reva Denis aka RarogCmex</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-ma...@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <longdescription>
+               The AMD Open Source Driver for Vulkan® is an open-source Vulkan 
driver for AMD Radeon™ graphics adapters on Linux®. It is built on top of AMD’s 
Platform Abstraction Library (PAL), a shared component that is designed to 
encapsulate certain hardware and OS-specific programming details for many of 
AMD’s 3D and compute drivers. Leveraging PAL can help provide a consistent 
experience across platforms, including support for recently released GPUs and 
compatibility with AMD developer tools.
+               Shaders that compose a particular VkPipeline object are 
compiled as a single entity using the LLVM-Based Pipeline Compiler (LLPC) 
library. LLPC builds on LLVM’s existing shader compilation infrastructure for 
AMD GPUs to generate code objects compatible with PAL’s pipeline ABI.
+       </longdescription>
+</pkgmetadata>

Reply via email to