diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 118 |
1 files changed, 81 insertions, 37 deletions
@@ -3,7 +3,7 @@ # Maintainer: AdriĆ Cereto i MassaguĆ© <ssorgatem at gmail.com> pkgname=amdvlk-git -pkgver=r85.331558e +pkgver=v.2019.Q4.5.r0.e6d1928 pkgrel=1 pkgdesc="AMD's standalone Vulkan driver" arch=(x86_64) @@ -12,71 +12,115 @@ license=('MIT') depends=('vulkan-icd-loader') provides=('vulkan-amdvlk' 'vulkan-driver') conflicts=('vulkan-amdvlk') -makedepends=('dri2proto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'libxml2' 'wayland' 'libdrm' 'git') -source=('llvm::git+https://github.com/GPUOpen-Drivers/llvm.git#branch=amd-vulkan-dev' - 'git+https://github.com/GPUOpen-Drivers/xgl.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/pal.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/wsa.git#branch=master' - 'git+https://github.com/GPUOpen-Drivers/AMDVLK.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/llpc.git#branch=dev' - 'git+https://github.com/GPUOpen-Drivers/MetroHash.git' - ) -sha256sums=('SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP') +makedepends=('xorgproto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'libxml2' 'wayland' 'libdrm' 'git' 'ninja' 'repo') +source=('git+https://github.com/GPUOpen-Drivers/wsa.git#branch=master' + 0001-build-Remove-forced-Werror-option.patch + 0001-build-Fix-clang-linking.patch) +sha512sums=('SKIP' + 'ff9dcfe2f3b739b74a51dc82e3469f8b4ad1a0b044d868fbb99e0c07dd5f7bdc1e5bb1ae93f44c25d6dd90a5b7ddbb294fa29e8082f40e5794269143a1af2467' + '39152c24ca6e6bdbd16d7fb66438117101c106a6e5e4e5bcc1248495e6d2f6a1907a639750b1eb25c3d754f7f21801de2b15b232b1c974748551927b783abceb') +pkgver() { + pushd drivers/AMDVLK > /dev/null + AMDVLK_VER=$(printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')") + popd > /dev/null + if [ -z "$AMDVLK_VER" ]; then + pushd drivers/xgl > /dev/null + XGL_VER=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + popd > /dev/null + else + XGL_VER=$AMDVLK_VER + fi + #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") + echo "$XGL_VER" +} + prepare() { + cd "$srcdir" + repo init -u 'https://github.com/GPUOpen-Drivers/AMDVLK.git' -b master + repo sync + # fix building with commit f609020 + # sed -i "s/<drm/<libdrm/g" pal/src/core/os/lnx/display/displayWindowSystem.h + # pushd "$srcdir/pal" + # patch -p1 < ../0001-pal-clang.patch + # popd + # pushd "$srcdir/xgl" + # patch -p1 < ../0002-xgl-clang.patch + # popd + # Don't turn Werror on for people will build with more recent compilers than you have. Just don't. - for i in xgl/icd/CMakeLists.txt llpc/CMakeLists.txt llpc/imported/metrohash/CMakeLists.txt llvm/utils/benchmark/CMakeLists.txt llvm/utils/benchmark/test/CMakeLists.txt pal/src/core/imported/addrlib/CMakeLists.txt pal/src/core/imported/vam/CMakeLists.txt pal/shared/gpuopen/cmake/AMD.cmake + for i in drivers/pal/shared/gpuopen/cmake/AMD.cmake do sed -i "s/-Werror//g" "$srcdir"/$i done - # On my system this adds -isystem=/include, which breaks gcc's ability to find stdlib.h - sed -i "s/if(LLVM_WITH_Z3)/if(FALSE)/g" "$srcdir"/llvm/lib/Support/CMakeLists.txt + pushd drivers/llpc + patch -p1 < $srcdir/0001-build-Remove-forced-Werror-option.patch + popd + pushd drivers/xgl + patch -p1 < $srcdir/0001-build-Fix-clang-linking.patch + popd - ln -sf "$srcdir"/MetroHash "$srcdir"/pal/src/util/imported/metrohash -} - -pkgver() { - XGL_VER=$(cd xgl; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") - #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)") - echo "$XGL_VER" + msg 'No patches to apply...' } build() { # /usr/lib/amdvlk64.so: undefined symbol: _ZN3Pal5Linux19DisplayWindowSystem30DeterminePresentationSupportedEPNS0_6DeviceEPvl + # msg "Changing flags..." + # msg2 "before: CFLAGS=$CFLAGS" export CFLAGS=${CFLAGS/-fno-plt} - export CXXFLAGS=${CXXFLAGS/-fno-plt} + # msg2 "after: CFLAGS=$CFLAGS" + # msg2 "before: CXXFLAGS=$CXXFLAGS" + export CXXFLAGS="${CXXFLAGS/-fno-plt}" + # msg2 "after: CXXFLAGS=${CXXFLAGS}" + # msg2 "before: LDFLAGS=$LDFLAGS" export LDFLAGS=${LDFLAGS/,-z,now} + # msg2 "after: LDFLAGS=${LDFLAGS}" + # export CPPFLAGS="$CXXFLAGS" msg "building xgl..." - cd xgl - cmake -H. -Bbuilds/Release64 \ - -DCMAKE_BUILD_TYPE=Release \ + pushd drivers/xgl > /dev/null + cmake \ + -G Ninja \ + -H. \ + -B builds/Release64 \ -DBUILD_WAYLAND_SUPPORT=On \ - -DBUILD_WSA=On \ + -DCMAKE_BUILD_TYPE=Release -DBUILD_XLIB_XRANDR_SUPPORT=On \ || true cd builds/Release64 - make + ninja msg "building xgl finished!" + + msg "building spvgen" + pushd ../../../spvgen/external > /dev/null + python2 fetch_external_sources.py + popd > /dev/null + ninja spvgen + msg "building spvgen finished!" + popd > /dev/null + + #msg "building spvgen" + #pushd drivers/spvgen > /dev/null + #cmake \ + # -G Ninja \ + # -B builds/Release64 \ + # -DCMAKE_BUILD_TYPE=Release \ + # . + #cd builds/Release64 + #ninja + #msg "building spvgen finished!" } package() { install -m755 -d "${pkgdir}"/usr/lib - install -m755 -d "${pkgdir}"/usr/share/vulkan/icd.d install -m755 -d "${pkgdir}"/usr/share/licenses/amdvlk-git install -m755 -d "${pkgdir}"/etc/amd - install xgl/builds/Release64/icd/amdvlk64.so "${pkgdir}"/usr/lib/ - install AMDVLK/json/Redhat/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/ - install AMDVLK/LICENSE.txt "${pkgdir}"/usr/share/licenses/amdvlk-git/ + install -D -t "$pkgdir/usr/lib" drivers/xgl/builds/Release64/icd/amdvlk64.so drivers/xgl/builds/Release64/spvgen/spvgen.so + install -D -m644 -t "${pkgdir}/usr/share/vulkan/icd.d" drivers/AMDVLK/json/Redhat/amd_icd64.json + install -D -m644 -t "${pkgdir}/usr/share/licenses/amdvlk-git" drivers/AMDVLK/LICENSE.txt sed -i "s/\/lib64/\/lib/g" "${pkgdir}"/usr/share/vulkan/icd.d/amd_icd64.json } |