commit:     18dd6556090f9fca7d12100b8f665a7ef48c2f1e
Author:     Adel KARA SLIMANE <adel.ks <AT> zegrapher <DOT> com>
AuthorDate: Sat Oct  7 16:58:12 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 16:04:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18dd6556

media-libs/amdgpu-pro-vulkan: add 23.20.0.1654522

Signed-off-by: Adel KARA SLIMANE <adel.ks <AT> zegrapher.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 media-libs/amdgpu-pro-vulkan/Manifest              |   2 +
 .../amdgpu-pro-vulkan-23.20.0.1654522.ebuild       | 136 +++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/media-libs/amdgpu-pro-vulkan/Manifest 
b/media-libs/amdgpu-pro-vulkan/Manifest
index 9643f02bd5ba..a52cff141fd9 100644
--- a/media-libs/amdgpu-pro-vulkan/Manifest
+++ b/media-libs/amdgpu-pro-vulkan/Manifest
@@ -8,3 +8,5 @@ DIST amdgpu-pro-vulkan-22.40.6.1580631-amd64.deb 26403020 
BLAKE2B 9af314b75ec6af
 DIST amdgpu-pro-vulkan-22.40.6.1580631-i386.deb 28131372 BLAKE2B 
4f92814a1f1aa3cecec5321252990c87548b94c633be2080fb4be9c9ef72772e45943b62c55e1424b03671540b599f13666d49599c7ef8e2a93a51a66cc17e92
 SHA512 
7ffd0cebb630cbf2a3845c0e673c408f56a046bf68d1c73a02b2a1d3a245d5fdc3cb00b461fe52dbd74abd15cdd3e75007539de584750fce22176e6994007d94
 DIST amdgpu-pro-vulkan-23.10.3.1620044-amd64.deb 28230396 BLAKE2B 
f0c59e5c955640ff8b98d1fe5982593b8ccd450fd51b11de256e30388afd7ccf7f8cf236149556186fb5b2bbbc60ff4c31a33aaf8456391403adb899dd77fc10
 SHA512 
7d454178c3ee601ebd51cbfa0ce72e8a097014a65079d5955702de030dc4172a4fdb368d40c781a54891bc2b31966455802db497237177112e35aab2d94c717b
 DIST amdgpu-pro-vulkan-23.10.3.1620044-i386.deb 29943120 BLAKE2B 
cb15cd340854d2d023c1d5d700790d7ef37f3cddb6ec5e11a0642da8dd6c9bcf375bcc3793f4a6a1e379c78b518c68e6bb188b91cd815bca1abc1e09f6516c02
 SHA512 
2c251b68a4910e8873256316248d4c932483e928e38b9752fd919df0165e3db134e7d08c2c1f95cceda24e47cd5b419d482243ff7e42af3cb4bec8abb4162436
+DIST amdgpu-pro-vulkan-23.20.0.1654522-amd64.deb 24480404 BLAKE2B 
10e2dea7e03bc6c24b40b8d8c4933897e17edb8e9b1fb1aebc7a6151c2bf051bbd5e994b771a045e747730f41996b2b3819edd8163daeb22a0487d5a96ea15f7
 SHA512 
4014a3f5cdbc3e977d5953719e8d0ea34a0ff1cc9b7292513df69e98d1c6556643392dd77edf10a682f049c689d69c92ba307d5af5b8e68003ccbba014f7aa9a
+DIST amdgpu-pro-vulkan-23.20.0.1654522-i386.deb 25453504 BLAKE2B 
46940aecb2d6981846534f49b7f2d829924c03ba7fe8fe84c84408968a761683183524f4aa58ac9a2810bbc16975634cc6dcaaba3331604ab2bb74bd9949bb3b
 SHA512 
ab8e7df7d093bc25dcdda942456ba54f3d21312435af025619b1f9531606ea5a18b975fe291e06154dabaaafb48cd5f58261d958c765058ed23e53517032b5fe

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild
new file mode 100644
index 000000000000..4b94367c04b7
--- /dev/null
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+MY_PV_HIGH=$(ver_cut 1)
+MY_PV_MIDDLE=$(ver_cut 2)
+MY_PV_LOW=$(ver_cut 3)
+MY_PV_REV=$(ver_cut 4)
+
+MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}"
+
+INTERNAL_VER="5.7"
+
+MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
+
+MY_PN="vulkan-amdgpu-pro"
+MY_LINK="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/v/${MY_PN}";
+
+UBUNTU_VER="22.04"
+
+DESCRIPTION="AMD's closed source vulkan driver, from Radeon Software for Linux"
+HOMEPAGE="https://www.amd.com/en/support";
+SRC_URI="
+       abi_x86_64? ( ${MY_LINK}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb 
-> ${P}-amd64.deb )
+       abi_x86_32? ( ${MY_LINK}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_i386.deb 
-> ${P}-i386.deb )
+"
+S="${WORKDIR}"
+
+RESTRICT="bindist mirror"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="abi_x86_32 abi_x86_64 video_cards_amdgpu"
+
+REQUIRED_USE="video_cards_amdgpu"
+
+BDEPEND="dev-util/patchelf"
+
+QA_PREBUILT="
+       usr/lib64/amdvlkpro64.so*
+       usr/lib/amdvlkpro32.so*
+"
+
+src_unpack() {
+       if use abi_x86_64 ; then
+               mkdir "${S}/${PN}-amd64" || die
+               cd "${S}/${PN}-amd64" || die
+               unpack_deb "${DISTDIR}/${P}-amd64.deb"
+       fi
+
+       if use abi_x86_32 ; then
+               mkdir "${S}/${PN}-i386" || die
+               cd "${S}/${PN}-i386" || die
+               unpack_deb "${DISTDIR}/${P}-i386.deb"
+       fi
+}
+
+src_prepare() {
+       if use abi_x86_64 ; then
+               cd "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/" || 
die
+
+               # Make sure there's only one file in the folder, to prevent 
unexpected behavior of the next command
+               [[ "$(ls | wc -l)" = '1' ]] || die "more than one file in 
opt/amdgpu-pro/lib/x86_64-linux-gnu/"
+
+               # Add "pro" in the .so file's name, and remove any numeric 
extension "e.g. amdvlk64.so.1"
+               mv amdvlk64.so* amdvlkpro64.so || die
+
+               # same with the SONAME
+               patchelf --set-soname amdvlkpro64.so "${PWD}"/amdvlkpro64.so || 
die
+
+               cd "${S}/${PN}-amd64/opt/amdgpu-pro/etc/vulkan/icd.d/" || die
+               eapply "${FILESDIR}"/icd_amd64.patch
+               mv amd_icd64.json amd_pro_icd64.json || die
+       fi
+
+       if use abi_x86_32 ; then
+               cd "${S}/${PN}-i386/opt/amdgpu-pro/lib/i386-linux-gnu/" || die
+
+               # Make sure there's only one file in the folder, to prevent 
unexpected behavior of the next command
+               [[ "$(ls | wc -l)" = '1' ]] || die "more than one file in 
opt/amdgpu-pro/lib/i386-linux-gnu/"
+
+               # Add "pro" in the .so file's name, and remove any numeric 
extension "e.g. amdvlk32.so.1"
+               mv amdvlk32.so* amdvlkpro32.so || die
+
+               # same with the SONAME
+               patchelf --set-soname amdvlkpro32.so "${PWD}"/amdvlkpro32.so || 
die
+
+               cd "${S}/${PN}-i386/opt/amdgpu-pro/etc/vulkan/icd.d/" || die
+               eapply "${FILESDIR}"/icd_x86.patch
+               mv amd_icd32.json amd_pro_icd32.json || die
+       fi
+
+       default
+}
+
+src_install() {
+       if use abi_x86_64 ; then
+               # Vulkan driver
+               insinto /usr/lib64
+               doins 
"${S}"/"${PN}"-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/amdvlkpro64.so
+
+               # ICD loader
+               insinto /usr/share/vulkan/icd.d
+               doins 
"${S}"/"${PN}"-amd64/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd64.json
+       fi
+
+       if use abi_x86_32 ; then
+               # Vulkan driver
+               insinto /usr/lib
+               doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/lib/i386-linux-gnu/amdvlkpro32.so
+
+               # ICD loader
+               insinto /usr/share/vulkan/icd.d
+               doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
+       fi
+}
+
+pkg_postinst() {
+
+       if use abi_x86_32; then
+               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
+               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+               elog "must be set beforehand"
+               elog
+       fi
+
+       if use abi_x86_64; then
+               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
+               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
+               elog "must be set beforehand"
+       fi
+}

Reply via email to