public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Denis Reva" <denis7774@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: media-libs/amdvlk/
Date: Tue,  4 Oct 2022 13:15:21 +0000 (UTC)	[thread overview]
Message-ID: <1664888364.d768dde28dcc9cb2a0746c41fa22dfbe052955e5.RarogCmex@gentoo> (raw)

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>denis7774@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	other threads:[~2022-10-04 13:15 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-04 13:15 Denis Reva [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-30 21:26 [gentoo-commits] repo/proj/guru:dev commit in: media-libs/amdvlk/ Quinet Charlie
2025-04-30 21:15 Quinet Charlie
2025-03-13 21:17 Quinet Charlie
2025-03-01 12:08 Quinet Charlie
2025-02-22 18:52 Denis Reva
2025-02-09 22:40 Quinet Charlie
2025-01-12 10:53 Takuya Wakazono
2025-01-12 10:53 Takuya Wakazono
2024-12-24 11:50 Quinet Charlie
2024-12-24  1:17 Quinet Charlie
2024-12-24  1:12 Quinet Charlie
2024-10-12 19:08 David Roman
2024-08-19 16:08 Lucio Sauer
2024-01-18 18:39 YOSHIOKA Takuma
2024-01-18 11:46 David Roman
2023-03-22  4:43 Denis Reva
2023-03-03 13:07 Denis Reva
2023-02-28 12:58 Denis Reva
2023-02-24 11:09 Denis Reva
2023-02-23 13:44 Denis Reva
2023-02-18  9:34 Denis Reva
2023-01-13 10:13 Denis Reva
2022-12-28 17:56 Denis Reva
2022-12-25 13:32 Denis Reva
2022-12-25  9:09 Denis Reva
2022-12-25  9:09 Denis Reva
2022-12-16 15:23 Denis Reva
2022-12-16 15:12 Denis Reva
2022-12-13 11:04 Denis Reva
2022-12-10  6:48 Denis Reva
2022-10-27  9:32 Denis Reva
2022-10-27  9:32 Denis Reva
2022-10-27  9:32 Denis Reva
2022-10-19  6:54 Denis Reva
2022-10-12  8:46 Denis Reva
2022-10-04 13:15 Denis Reva
2022-10-04 13:15 Denis Reva
2022-09-22  5:28 Denis Reva
2022-09-19 10:25 Denis Reva
2021-12-16  8:47 Denis Reva
2021-05-05  7:32 Alessandro Barbieri
2021-04-25 17:05 Denis Reva
2021-02-06  5:14 Denis Reva
2020-12-23 12:02 Denis Reva
2020-11-20 16:03 [gentoo-commits] repo/proj/guru:master " Andrew Ammerlaan
2020-11-20 16:03 ` [gentoo-commits] repo/proj/guru:dev " Andrew Ammerlaan
2020-11-19  6:28 Denis Reva
2020-11-17  8:11 Denis Reva
2020-11-05 11:36 Denis Reva
2020-10-27  4:55 Denis Reva
2020-10-16  9:39 Denis Reva
2020-09-22 15:32 Denis Reva
2020-09-14 12:56 Denis Reva
2020-08-07 12:02 Denis Reva
2020-07-23 16:33 Denis Reva
2020-07-21  9:05 Denis Reva
2020-07-04 15:01 Denis Reva
2020-06-27  9:37 Denis Reva
2020-05-29 12:34 Denis Reva
2020-05-14 14:56 Denis Reva
2020-05-01  6:16 Denis Reva
2020-04-30 11:25 Denis Reva
2020-04-25  0:37 Alessandro Barbieri
2020-04-16 15:03 Denis Reva
2020-04-11 20:32 Andrew Ammerlaan
2020-04-11 14:06 Denis Reva
2020-04-11  8:21 Denis Reva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1664888364.d768dde28dcc9cb2a0746c41fa22dfbe052955e5.RarogCmex@gentoo \
    --to=denis7774@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox