2025-09-06 17:49:49 +02:00

67 lines
2.3 KiB
Bash

# Maintainer: Felix Xing (Felixaszx) <felixaszx@outlook.com>
_realname=dxvk
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.7.1
pkgrel=1
pkgdesc="Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine and Windows (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/doitsujin/dxvk"
license=('spdx:Zlib')
depends=()
makedepends=(git
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-glslang"
"${MINGW_PACKAGE_PREFIX}-spirv-headers"
"${MINGW_PACKAGE_PREFIX}-vulkan-headers"
)
optdepends=("${MINGW_PACKAGE_PREFIX}-vulkan-loader: use MSYS2 Vulkan loader when possible")
_libdisplay_info_name=libdisplay-info
_libdisplay_info_commit=275e6459c7ab1ddd4b125f28d0440716e4888078
source=("https://github.com/doitsujin/dxvk/archive/refs/tags/v$pkgver.tar.gz"
"${_libdisplay_info_name}"::"git+https://github.com/doitsujin/${_libdisplay_info_name}.git#commit=${_libdisplay_info_commit}"
)
sha256sums=('4966be884da4a1ded7e38ee018caef5626bd06bbd0853715084b1a1644aaaf02'
'e341e1f897220f586c95e1843059031633d780ea08800eea023ce3282730dfe7')
prepare() {
mv ${_libdisplay_info_name} "${_realname}-${pkgver}"/subprojects
}
build() {
local -a _meson_options=(
--prefix=${MINGW_PREFIX}
--buildtype=release
--backend=ninja
-Dbuild_id=true
)
MSYS2_ARG_CONV_EXCL="--prefix=" \
PROCESSOR_ARCHITECTURE="${CARCH}" \
${MINGW_PREFIX}/bin/meson setup \
-Dc_args="${CFLAGS}" \
-Dcpp_args="${CXXFLAGS}" \
"${_meson_options[@]}" \
"build-${MSYSTEM}" \
"${_realname}-${pkgver}"
${MINGW_PREFIX}/bin/meson compile -C "build-${MSYSTEM}"
}
package() {
${MINGW_PREFIX}/bin/meson install --skip-subprojects --destdir "${pkgdir}" \
-C "build-${MSYSTEM}"
install -d "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}
install -d "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_libdisplay_info_name}
cp -r "${srcdir}"/${_realname}-${pkgver}/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}
cp -r "${srcdir}"/${_realname}-${pkgver}/subprojects/${_libdisplay_info_name}/LICENSE \
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_libdisplay_info_name}
}