From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7A04E158094 for ; Thu, 6 Oct 2022 08:58:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A7A59E09AB; Thu, 6 Oct 2022 08:58:54 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8922DE09A6 for ; Thu, 6 Oct 2022 08:58:54 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9CEDA3410A8 for ; Thu, 6 Oct 2022 08:58:53 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id D451755B for ; Thu, 6 Oct 2022 08:58:51 +0000 (UTC) From: "Andrew Ammerlaan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andrew Ammerlaan" Message-ID: <1664888364.d768dde28dcc9cb2a0746c41fa22dfbe052955e5.andrewammerlaan@gentoo> Subject: [gentoo-commits] repo/proj/guru:master commit in: media-libs/amdvlk/ X-VCS-Repository: repo/proj/guru X-VCS-Files: media-libs/amdvlk/Manifest media-libs/amdvlk/amdvlk-2022.3.4.ebuild media-libs/amdvlk/metadata.xml X-VCS-Directories: media-libs/amdvlk/ X-VCS-Committer: andrewammerlaan X-VCS-Committer-Name: Andrew Ammerlaan X-VCS-Revision: d768dde28dcc9cb2a0746c41fa22dfbe052955e5 X-VCS-Branch: master Date: Thu, 6 Oct 2022 08:58:51 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: dae43280-39b6-4f71-a215-e6edadbb1703 X-Archives-Hash: 743f3e5eb985ed61de094429fd72f1d1 commit: d768dde28dcc9cb2a0746c41fa22dfbe052955e5 Author: Denis Reva gmail com> AuthorDate: Tue Oct 4 12:59:12 2022 +0000 Commit: Andrew Ammerlaan gentoo org> 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 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 @@ - + + denis7774@gmail.com + Denis Reva + rarogcmex + 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.