commit:     d768dde28dcc9cb2a0746c41fa22dfbe052955e5
Author:     Denis Reva <denis7774 <AT> gmail <DOT> com>
AuthorDate: Tue Oct  4 12:59:12 2022 +0000
Commit:     Denis Reva <denis7774 <AT> gmail <DOT> com>
CommitDate: Tue Oct  4 12:59:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d768dde2

media-libs/amdvlk: amdvlk updated to 2022.3.4 with refactoring

Significant changes in dependencies and in build system, it uses cmake-multilib 
to
build

Now the package depends on DirectXShaderCompiler and glslang

Changed installation directory to /usr/lib/llvm/amdvlk

Using dynamic linking instead of static build

Bug: https://bugs.gentoo.org/665590
Signed-off-by: Denis Reva <denis7774 <AT> gmail.com>

 media-libs/amdvlk/Manifest               |  1 -
 media-libs/amdvlk/amdvlk-2022.3.4.ebuild | 73 +++++++++++++++-----------------
 media-libs/amdvlk/metadata.xml           |  6 ++-
 3 files changed, 38 insertions(+), 42 deletions(-)

diff --git a/media-libs/amdvlk/Manifest b/media-libs/amdvlk/Manifest
index e6a1fe5a9..0346e757c 100644
--- a/media-libs/amdvlk/Manifest
+++ b/media-libs/amdvlk/Manifest
@@ -9,7 +9,6 @@ DIST 
AMDVLK-v-2021.Q4.2-spvgen-0aa19873514a8272dfdc5cb8861859a52f5de503.tar.gz 2
 DIST AMDVLK-v-2021.Q4.2-xgl-da1a583a51c69c115f9144b68ec2bdf5b6519056.tar.gz 
960709 BLAKE2B 
825e7d349da18e8a0beb42c4125bb208bd2e62780d97d5131e76e9ddc08dc6d60b2d78455aa245bb4172bb7ee7d64084307e48df2c18598cee638911fce8074c
 SHA512 
a626459503b50a511ac04f4973036468336e9d55baecda5a84165f7209d867291ef35a9292734f38a53d13aaf70cd46fc8e3068fc3748d80278fcf3c5f8a54bb
 DIST AMDVLK-v-2021.Q4.2.tar.gz 30012 BLAKE2B 
27d11126d54df299ce702adb7c66bd0aa8a905074dac0e2cd8560f2fa9c39deafd16885c15ae9df4f70f4008a446d8e90e1dcc50514afa7ab0a874d12b2e5334
 SHA512 
15fb89bb78039c36435fb9534588f08e0e0e6e6099d5e803e9bacafef8b5e81eedc19e0fcc7cd7ca7dad919397cab8b87b30b22950ae32945a5465da542d6d99
 DIST AMDVLK-v-2022.Q3.1.tar.gz 30017 BLAKE2B 
4abbdb709d6d61331185f7cef3e78228a9a7ad633ddf96e4ca18870fb9f7b04c1dd393864d6f85e349c56d20bffded81d95556f6625d7a8be7dc2ef6ed78de10
 SHA512 
e8a1662e14861fbb90ca4bad3dcff15932ce0e43b27e2fc0bfefd5f7eff359e1c46acedb6e168583646237e030da6948ef8640fe6b4ff1693f9a7ba16f1081a4
-DIST AMDVLK-v-2022.Q3.4.tar.gz 29752 BLAKE2B 
a20c33d06034337a1786f0701a5798416e33e008c1b3f49f069f12352647635a62053d40eafe847e8bc0b2917cc59d10fdd843b7283a229725249616c4b15bfc
 SHA512 
cbc161d1ab88cd43fd98b7c73244f53d838935cd7255a97b5fd5b01f02c9c014f763324363f379cc1fd1cf17151955186f01b1209a880aea9e463ef5e7be3916
 DIST CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 BLAKE2B 
d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3
 SHA512 
06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
 DIST CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 
76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf
 SHA512 
38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
 DIST MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 BLAKE2B 
b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb
 SHA512 
8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9

diff --git a/media-libs/amdvlk/amdvlk-2022.3.4.ebuild 
b/media-libs/amdvlk/amdvlk-2022.3.4.ebuild
index 5294089ea..05624b9ba 100644
--- a/media-libs/amdvlk/amdvlk-2022.3.4.ebuild
+++ b/media-libs/amdvlk/amdvlk-2022.3.4.ebuild
@@ -4,30 +4,33 @@
 EAPI=8
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{8..11} )
 
-inherit cmake-multilib check-reqs
+inherit check-reqs python-any-r1 cmake-multilib
 
 DESCRIPTION="AMD Open Source Driver for Vulkan"
 HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK";
 LICENSE="MIT"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~x86"
 IUSE="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.3.224"
 BDEPEND="${BUNDLED_LLVM_DEPEND}
-       dev-util/cmake"
+       ${PYTHON_DEPS}
+       dev-util/cmake
+       virtual/linux-sources"
 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.3.224[${MULTILIB_USEDEP}]
-       dev-util/glslang
+       dev-util/glslang[${MULTILIB_USEDEP}]
        dev-util/DirectXShaderCompiler"
 
 CHECKREQS_MEMORY="16G"
@@ -37,8 +40,7 @@ CMAKE_USE_DIR="${S}/xgl"
 
 ###SOURCE CODE PER_VERSION 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
+##For those who wants update ebuild: check 
https://github.com/GPUOpen-Drivers/AMDVLK/blob/${VERSION}/default.xml , e.g. 
https://github.com/GPUOpen-Drivers/AMDVLK/blob/v-2022.Q3.5/default.xml
 ##and place commits in the desired variables
 ## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
 ## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip 
..."
@@ -49,9 +51,8 @@ GPURT_COMMIT="c1df7354336aba18d54c0e32a95b58eac0d44c07"
 LLVM_PROJECT_COMMIT="f5023e507645c8178128891b96bf463f9a1a81a0"
 METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
 CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
-# end
-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 -> 
amdvlk-xgl-${XGL_COMMIT}.tar.gz
+# end of variables
+SRC_URI="${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> 
amdvlk-xgl-${XGL_COMMIT}.tar.gz
 ${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> 
amdvlk-pal-${PAL_COMMIT}.tar.gz
 ${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> 
amdvlk-llpc-${LLPC_COMMIT}.tar.gz
 ${FETCH_URI}/gpurt/archive/${GPURT_COMMIT}.tar.gz -> 
amdvlk-gpurt-${GPURT_COMMIT}.tar.gz
@@ -63,7 +64,6 @@ src_prepare() {
        einfo "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"
@@ -76,42 +76,35 @@ src_prepare() {
 
 multilib_src_configure() {
        local mycmakeargs=(
-                       -DBUILD_WAYLAND_SUPPORT=$(usex wayland)
-                       )
+               -DBUILD_WAYLAND_SUPPORT=$(usex wayland)
+               -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/amdvlk"
+               -DLLVM_VERSION_SUFFIX="-$(get_libdir)-amdvlk"
+               -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
+               -Wno-dev
+               )
        cmake_src_configure
 }
-# multilib_src_install() {
-#      if use abi_x86_64 && multilib_is_native_abi; then
-#              mkdir -p "${D}/usr/lib64/"
-#              cp "${BUILD_DIR}/icd/amdvlk64.so" "${D}/usr/lib64/"
-#              insinto /usr/share/vulkan/icd.d
-#              doins "${S}/build-abi_x86_64.amd64/icd/amd_icd64.json"
-#              insinto /usr/share/vulkan/implicit_layer.d
-#              doins "${S}/build-abi_x86_64.amd64/icd/amd_icd64.json"
-#      else
-#              mkdir -p "${D}/usr/lib/"
-#              cp "${BUILD_DIR}/icd/amdvlk32.so" "${D}/usr/lib/"
-#              insinto /usr/share/vulkan/icd.d
-#              doins "${S}/build-abi_x86_32.x86/icd/amd_icd32.json"
-#              insinto /usr/share/vulkan/implicit_layer.d
-#              doins "${S}/build-abi_x86_32.x86/icd/amd_icd32.json"
-#      fi
-# }
+multilib_src_install(){
+       cmake_src_install
+       rm -r "${D}"/var/ || die "can't remove incorrect temporary files of 
amdvlk"
+       einfo "Correcting permissions of amdvlk $(get_libdir) libraries"
+       fperms -R 775 /usr/lib/llvm/amdvlk/$(get_libdir)
+}
+
+multilib_src_install_all() {
+       cat > "99${PN}" <<-EOF
+               
LDPATH="${EPREFIX}/usr/lib/llvm/amdvlk/lib:${EPREFIX}/usr/lib/llvm/amdvlk/lib64"
+       EOF
+       doenvd "99${PN}"
+}
 
 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 "and make sure you use DRI3 mode for Xorg (not revelant for 
wayland)"
-       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\""
-       elog "For DXVK: use DXVK_FILTER_DEVICE_NAME= variable"
-       elog ""
-       elog "You can also use AMD_VULKAN_ICD to switch to the required driver."
+       elog "More information about the configuration can be found here:"
+       elog "https://github.com/GPUOpen-Drivers/AMDVLK";
+       elog "You can use AMD_VULKAN_ICD variable to switch to the required 
driver."
        elog "AMD_VULKAN_ICD=RADV application   - for using radv."
        elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
 }

diff --git a/media-libs/amdvlk/metadata.xml b/media-libs/amdvlk/metadata.xml
index ca953a98b..86929ff1a 100644
--- a/media-libs/amdvlk/metadata.xml
+++ b/media-libs/amdvlk/metadata.xml
@@ -1,7 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
 <pkgmetadata>
-       <!-- maintainer-needed -->
+       <maintainer type="person">
+               <email>denis7...@gmail.com</email>
+               <name>Denis Reva</name>
+               <description>rarogcmex</description>
+       </maintainer>
        <longdescription lang="en">
                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.

Reply via email to