summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrià Cereto-Massagué2018-08-18 12:09:31 +0200
committerAdrià Cereto-Massagué2018-08-18 12:09:58 +0200
commit6472cbf88b2daac7de9d505a32fa40cee41b59f3 (patch)
treee5a8177bae42f4f2b0b6229061d3ac8007a19bd6
parent3e96c0c9caedc73bae2c3046d625e6c0c56996db (diff)
downloadaur-6472cbf88b2daac7de9d505a32fa40cee41b59f3.tar.gz
updated setup script and added 32-bit package
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD58
-rw-r--r--fix_dll_dir.diff12
-rw-r--r--setup_dxvk_aur.verb44
4 files changed, 107 insertions, 31 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 40aa262945f7..d3e8ff8dafcf 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index d7b978bffefa..a1687f3282a7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+}