diff options
author | Adrià Cereto-Massagué | 2018-08-18 12:09:31 +0200 |
---|---|---|
committer | Adrià Cereto-Massagué | 2018-08-18 12:09:58 +0200 |
commit | 6472cbf88b2daac7de9d505a32fa40cee41b59f3 (patch) | |
tree | e5a8177bae42f4f2b0b6229061d3ac8007a19bd6 | |
parent | 3e96c0c9caedc73bae2c3046d625e6c0c56996db (diff) | |
download | aur-6472cbf88b2daac7de9d505a32fa40cee41b59f3.tar.gz |
updated setup script and added 32-bit package
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 58 | ||||
-rw-r--r-- | fix_dll_dir.diff | 12 | ||||
-rw-r--r-- | setup_dxvk_aur.verb | 44 |
4 files changed, 107 insertions, 31 deletions
@@ -1,6 +1,6 @@ pkgbase = dxvk-wine-git pkgdesc = A Vulkan-based compatibility layer for Direct3D 11 and 10 which allows running 3D applications on Linux using Wine. Winelib version - pkgver = 0.65_42_g861165f + pkgver = 0.70_5_g4c8bf44 pkgrel = 1 url = https://github.com/doitsujin/dxvk arch = x86_64 @@ -11,14 +11,16 @@ pkgbase = dxvk-wine-git makedepends = git makedepends = wine depends = vulkan-icd-loader - depends = wine>=3.10 + depends = wine>=3.14 + depends = winetricks source = dxvk-src::git+https://github.com/doitsujin/dxvk.git - source = fix_dll_dir.diff + source = setup_dxvk_aur.verb sha256sums = SKIP - sha256sums = c9c1733a8f1e159c1c38e1f1448a2c9d60d8d31c86b9431eddd3f68a2038532d + sha256sums = b441fc757176718b2601aab73987fb103ddd7cd4a4c3587de1e88d73e762be6b pkgname = dxvk-wine64-git arch = x86_64 + optdepends = dxvk32: 32-bit support provides = dxvk provides = dxvk64 conflicts = dxvk-win64-bin @@ -26,3 +28,17 @@ pkgname = dxvk-wine64-git conflicts = dxvk-git conflicts = dxvk-bin +pkgname = dxvk-wine32-git + arch = i686 + arch = x86_64 + depends = lib32-vulkan-icd-loader + depends = wine>=3.14 + depends = winetricks + optdepends = dxvk64: 64-bit support + provides = dxvk + provides = dxvk64 + conflicts = dxvk-win32-bin + conflicts = dxvk-win32-git + conflicts = dxvk-git + conflicts = dxvk-bin + @@ -1,19 +1,19 @@ # Maintainer: Adrià Cereto i Massagué <ssorgatem at gmail.com> pkgbase=dxvk-wine-git -pkgname=('dxvk-wine64-git') -pkgver=0.65_42_g861165f +pkgname=('dxvk-wine64-git' 'dxvk-wine32-git') +pkgver=0.70_5_g4c8bf44 pkgrel=1 pkgdesc="A Vulkan-based compatibility layer for Direct3D 11 and 10 which allows running 3D applications on Linux using Wine. Winelib version" arch=('x86_64') url="https://github.com/doitsujin/dxvk" license=('zlib/libpng') -depends=('vulkan-icd-loader' 'wine>=3.10') +depends=('vulkan-icd-loader' 'wine>=3.14' 'winetricks') makedepends=('ninja' 'meson>=0.43' 'glslang' 'git' 'wine') source=(dxvk-src::"git+https://github.com/doitsujin/dxvk.git" - fix_dll_dir.diff + setup_dxvk_aur.verb ) -sha256sums=("SKIP" "c9c1733a8f1e159c1c38e1f1448a2c9d60d8d31c86b9431eddd3f68a2038532d") +sha256sums=("SKIP" "b441fc757176718b2601aab73987fb103ddd7cd4a4c3587de1e88d73e762be6b") pkgver() { cd dxvk-src @@ -23,25 +23,34 @@ pkgver() { build() { cd dxvk-src - patch -p1 < ../fix_dll_dir.diff - rm -rf "$pkgbase/build.wine64" + rm -rf "$pkgbase/build.wine??" meson --cross-file build-wine64.txt \ --buildtype "release"\ - --prefix "$PWD/../build"\ + --prefix "$PWD/../build64"\ --strip\ -Denable_tests=false\ "$pkgbase/build.wine64" cd "$pkgbase/build.wine64" ninja install + cd "../.." + meson --cross-file build-wine32.txt \ + --buildtype "release"\ + --prefix "$PWD/../build32"\ + --strip\ + -Denable_tests=false\ + "$pkgbase/build.wine32" + cd "$pkgbase/build.wine32" + ninja install } -package_dxvk-wine64-git() { - arch=('x86_64') - conflicts=("dxvk-win64-bin" "dxvk-win64-git" "dxvk-git" "dxvk-bin") - provides=("dxvk" "dxvk64") - _destdir="/usr/lib/dxvk/" +_package_dxvk() { + if [ "$1" = "32" ]; then + _destdir="/usr/lib32/dxvk/" + else + _destdir="/usr/lib/dxvk/" + fi mkdir -p "$pkgdir/$_destdir" - cp -v build/*/* "$pkgdir/$_destdir" + cp -v build$1/*/* "$pkgdir/$_destdir" extension=".dll.so" for libname in "d3d11" "dxgi" "d3d10" "d3d10_1" "d3d10core"; do if [ ! -f "$pkgdir"/$_destdir/$libname$extension ] ; then @@ -50,5 +59,24 @@ package_dxvk-wine64-git() { fi done mkdir -p "$pkgdir/usr/bin" - ln -s "$_destdir/setup_dxvk.sh" "$pkgdir/usr/bin/setup_dxvk64" + cat setup_dxvk_aur.verb | sed s/"DXVK_ARCH=64"/"DXVK_ARCH=$1"/g > "$pkgdir/$_destdir/setup_dxvk_aur.verb" + echo "winetricks --force $_destdir/setup_dxvk_aur.verb" > "$pkgdir/usr/bin/setup_dxvk$1" + chmod +x "$pkgdir/usr/bin/setup_dxvk$1" +} + +package_dxvk-wine64-git() { + arch=('x86_64') + conflicts=("dxvk-win64-bin" "dxvk-win64-git" "dxvk-git" "dxvk-bin") + provides=("dxvk" "dxvk64") + optdepends=('dxvk32: 32-bit support') + _package_dxvk 64 +} + +package_dxvk-wine32-git() { + arch=('i686' 'x86_64') + conflicts=("dxvk-win32-bin" "dxvk-win32-git" "dxvk-git" "dxvk-bin") + depends=('lib32-vulkan-icd-loader' 'wine>=3.14' 'winetricks') + optdepends=('dxvk64: 64-bit support') + provides=("dxvk" "dxvk64") + _package_dxvk 32 } diff --git a/fix_dll_dir.diff b/fix_dll_dir.diff deleted file mode 100644 index f1d2c4f59354..000000000000 --- a/fix_dll_dir.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/wine_utils/setup_dxvk.sh.in b/wine_utils/setup_dxvk.sh.in -index 266d012..9e16767 100755 ---- a/wine_utils/setup_dxvk.sh.in -+++ b/wine_utils/setup_dxvk.sh.in -@@ -8,7 +8,6 @@ winelib='@winelib@' - - if [ $winelib == 'True' ]; then - dll_ext='dll.so' -- dlls_dir="$dlls_dir"/../lib - else - dll_ext='dll' - fi diff --git a/setup_dxvk_aur.verb b/setup_dxvk_aur.verb new file mode 100644 index 000000000000..f73ce39c24ff --- /dev/null +++ b/setup_dxvk_aur.verb @@ -0,0 +1,44 @@ +w_metadata setup_dxvk_aur dlls \ + title="DXVK" \ + publisher="Philip Rebohle" \ + year="2018" \ + media="manual_download" \ + file1="dxgi.dll" \ + file2="d3d11.dll" \ + file3="d3d10.dll" \ + file4="d3d10_1.dll" \ + file5="d3d10core.dll" \ + installed_file1="C:\\windows\\system32\\dxgi.dll" \ + installed_file2="C:\\windows\\system32\\d3d11.dll" \ + installed_file3="C:\\windows\\system32\\d3d10.dll" \ + installed_file4="C:\\windows\\system32\\d3d10_1.dll" \ + installed_file5="C:\\windows\\system32\\system32/d3d10core.dll" \ + homepage="https://github.com/doitsujin/dxvk" + +DXVK_ARCH=64 +DXVK_ROOT_DIR=`dirname "$(readlink -f $1)"` + +load_setup_dxvk_aur() +{ + if [ ! -e "$DXVK_ROOT_DIR" ]; then + (>&2 echo "$DXVK_ROOT_DIR directory not found.") + exit 1 + fi + echo "Setting up DXVK from $DXVK_ROOT_DIR" + + for f in "$file1" "$file2" "$file3" "$file4" "$file5"; do + if [ "$DXVK_ARCH" = "32" ]; then + w_try ln -fs "$DXVK_ROOT_DIR/$f.so" "$W_SYSTEM32_DLLS/$f" + fi + if [ "$DXVK_ARCH" = "64" ]; then + w_try ln -fs "$DXVK_ROOT_DIR/$f.so" "$W_SYSTEM64_DLLS/$f" + fi + done + + w_override_dlls native \ + dxgi \ + d3d11 \ + d3d10 \ + d3d10_1 \ + d3d10core +} |