|
| 1 | +# Maintainer: Felix Xing (Felixaszx) <[email protected]> |
| 2 | + |
| 3 | +_realname=dxvk |
| 4 | +pkgbase=mingw-w64-${_realname} |
| 5 | +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" |
| 6 | +pkgver=2.7 |
| 7 | +pkgrel=1 |
| 8 | +pkgdesc="Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine and Windows (mingw-w64)" |
| 9 | +arch=('any') |
| 10 | +mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') |
| 11 | +url="https://github.com/doitsujin/dxvk" |
| 12 | +license=('spdx:Zlib') |
| 13 | +depends=() |
| 14 | +makedepends=(git |
| 15 | + "${MINGW_PACKAGE_PREFIX}-cc" |
| 16 | + "${MINGW_PACKAGE_PREFIX}-meson" |
| 17 | + "${MINGW_PACKAGE_PREFIX}-ninja" |
| 18 | + "${MINGW_PACKAGE_PREFIX}-glslang" |
| 19 | + "${MINGW_PACKAGE_PREFIX}-spirv-headers" |
| 20 | + "${MINGW_PACKAGE_PREFIX}-vulkan-headers" |
| 21 | +) |
| 22 | +optdepends=("${MINGW_PACKAGE_PREFIX}-vulkan-loader: use MSYS2 Vulkan loader when possible") |
| 23 | + |
| 24 | +_libdisplay_info_name=libdisplay-info |
| 25 | +_libdisplay_info_commit=275e6459c7ab1ddd4b125f28d0440716e4888078 |
| 26 | +source=("https://github.com/doitsujin/dxvk/archive/refs/tags/v$pkgver.tar.gz" |
| 27 | + "${_libdisplay_info_name}"::"git+https://github.com/doitsujin/${_libdisplay_info_name}.git#commit=${_libdisplay_info_commit}" |
| 28 | +) |
| 29 | +sha256sums=('01787877152823906d807edf1048faba5f52f27e5bd34b22566fe5d556784f18' |
| 30 | + 'e341e1f897220f586c95e1843059031633d780ea08800eea023ce3282730dfe7') |
| 31 | + |
| 32 | +prepare() { |
| 33 | + mv ${_libdisplay_info_name} "${_realname}-${pkgver}"/subprojects |
| 34 | +} |
| 35 | + |
| 36 | +build() { |
| 37 | + local -a _meson_options=( |
| 38 | + --prefix=${MINGW_PREFIX} |
| 39 | + --buildtype=release |
| 40 | + --backend=ninja |
| 41 | + -Dbuild_id=true |
| 42 | + ) |
| 43 | + |
| 44 | + MSYS2_ARG_CONV_EXCL="--prefix=" \ |
| 45 | + PROCESSOR_ARCHITECTURE="${CARCH}" \ |
| 46 | + ${MINGW_PREFIX}/bin/meson setup \ |
| 47 | + -Dc_args="${CFLAGS}" \ |
| 48 | + -Dcpp_args="${CXXFLAGS}" \ |
| 49 | + "${_meson_options[@]}" \ |
| 50 | + "build-${MSYSTEM}" \ |
| 51 | + "${_realname}-${pkgver}" |
| 52 | + |
| 53 | + ${MINGW_PREFIX}/bin/meson compile -C "build-${MSYSTEM}" |
| 54 | +} |
| 55 | + |
| 56 | +package() { |
| 57 | + ${MINGW_PREFIX}/bin/meson install --skip-subprojects --destdir "${pkgdir}" \ |
| 58 | + -C "build-${MSYSTEM}" |
| 59 | + |
| 60 | + install -d "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname} |
| 61 | + install -d "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_libdisplay_info_name} |
| 62 | + |
| 63 | + cp -r "${srcdir}"/${_realname}-${pkgver}/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname} |
| 64 | + cp -r "${srcdir}"/${_realname}-${pkgver}/subprojects/${_libdisplay_info_name}/LICENSE \ |
| 65 | + "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_libdisplay_info_name} |
| 66 | +} |
0 commit comments