|
# Maintainer: Pekka Helenius (~Fincer) <fincer89 at hotmail dot com>
|
|
|
|
# Override /etc/makepkg.conf PKGDEST variable if it's enabled
|
|
PKGDEST="${PWD}"
|
|
|
|
pkgname=dxvk-nvapi-git
|
|
_pkgname=dxvk-nvapi
|
|
pkgver=580.6268
|
|
pkgrel=1
|
|
pkgdesc="Alternative NVAPI implementation on top of DXVK."
|
|
url="https://github.com/jp7677/dxvk-nvapi"
|
|
license=('MIT')
|
|
|
|
arch=('x86_64')
|
|
conflicts=(
|
|
'dxvk-nvapi'
|
|
)
|
|
depends=('dxvk' 'wine' 'vulkan-icd-loader' 'lib32-vulkan-icd-loader')
|
|
makedepends=(
|
|
'ninja'
|
|
'meson>=0.49'
|
|
'glslang'
|
|
'mingw-w64-gcc'
|
|
'git'
|
|
'wine'
|
|
'python'
|
|
)
|
|
|
|
_dxvknvapi_gitsrc=
|
|
_git_branch_dxvknvapi=master
|
|
_dxvknvapi_commit=HEAD
|
|
|
|
provides=('dxvk-nvapi')
|
|
options=(!strip !buildflags staticlibs)
|
|
source=(
|
|
${pkgname}::"${_dxvknvapi_gitsrc}#commit=${_dxvknvapi_commit}"
|
|
'setup_dxvk_nvapi.sh'
|
|
)
|
|
sha256sums=(
|
|
'SKIP'
|
|
'e2ff99af4ecb739629e0f873077f986cffcc9418c8ecb7e6040744f05110afbb'
|
|
)
|
|
|
|
##############################
|
|
|
|
# Copy custom patches to correct location
|
|
if [[ $(find "${startdir}/dxvk-nvapi-patches" -mindepth 1 -maxdepth 1 -regex ".*\.\(patch\|diff\)$") ]]; then
|
|
cp -r "${startdir}/dxvk-nvapi-patches/"*.{patch,diff} "${startdir}"/
|
|
p=0
|
|
for patch in $(find . -mindepth 1 -maxdepth 1 -regex ".*\.\(patch\|diff\)$"); do
|
|
patches[$p]="$(basename ${patch})"
|
|
let p++
|
|
done
|
|
unset p
|
|
source+=(${source[@]} ${patches[@]})
|
|
fi
|
|
|
|
# Reset git tree and apply custom patches
|
|
prepare() {
|
|
|
|
cd "${srcdir}/dxvk-nvapi-git"
|
|
git checkout ${_git_branch_dxvknvapi}
|
|
git reset --hard ${_dxvknvapi_commit} # Restore tracked files
|
|
git clean -d -x -f # Delete untracked files
|
|
git submodule update --init --recursive
|
|
|
|
# Apply patches, if present
|
|
if [[ $(ls "${srcdir}"/*.{patch,diff} 2>/dev/null | wc -w) -ne 0 ]]; then
|
|
|
|
# Apply all custom patches
|
|
msg2 "Applying custom patches..."
|
|
|
|
for i in "${srcdir}"/*.{patch,diff}; do
|
|
if [[ -f ${i} ]]; then
|
|
patch -Np1 < ${i}
|
|
fi
|
|
done
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
##############################
|
|
|
|
# Retrieve DXVK NVAPI version tag
|
|
pkgver() {
|
|
cd "${pkgname}"
|
|
printf '%s.%s' $(git rev-list --count HEAD) $(git rev-parse --short HEAD | sed 's/\-[a-z].*//; s/\-/\./g; s/[a-z]//g')
|
|
}
|
|
|
|
# Launch DXVK NVAPI build script
|
|
build() {
|
|
cd "${pkgname}"
|
|
./package-release.sh ${pkgver} "${srcdir}"/build
|
|
}
|
|
|
|
# Bundle the compiled files
|
|
package() {
|
|
mkdir -p "${pkgdir}"/usr/{bin,share/dxvk_nvapi}
|
|
cp -r "${srcdir}"/build/${_pkgname}-${pkgver}/* "${pkgdir}/usr/share/dxvk_nvapi/"
|
|
|
|
cp "${srcdir}"/setup_dxvk_nvapi.sh "${pkgdir}/usr/share/dxvk_nvapi/"
|
|
|
|
echo -e "#!/bin/sh" > "${pkgdir}/usr/bin/setup_dxvk_nvapi"
|
|
echo -e "
|
|
cd /usr/share/dxvk_nvapi/
|
|
./setup_dxvk_nvapi.sh \${@}
|
|
" >> "${pkgdir}/usr/bin/setup_dxvk_nvapi"
|
|
|
|
chmod +x "${pkgdir}/usr/share/dxvk_nvapi/setup_dxvk_nvapi.sh"
|
|
chmod +x "${pkgdir}/usr/bin/setup_dxvk_nvapi"
|
|
}
|