diff --git a/package-release.sh b/package-release.sh index 937bc947a..a03fdad1e 100755 --- a/package-release.sh +++ b/package-release.sh @@ -10,6 +10,11 @@ DXVK_SRC_DIR=`dirname $(readlink -f $0)` DXVK_BUILD_DIR=$(realpath "$2")"/dxvk-$DXVK_VERSION" DXVK_ARCHIVE_PATH=$(realpath "$2")"/dxvk-$DXVK_VERSION.tar.gz" +if [ -e "$DXVK_BUILD_DIR" ]; then + echo "Build directory $DXVK_BUILD_DIR already exists" + exit 1 +fi + function build_arch { export WINEARCH="win$1" export WINEPREFIX="$DXVK_BUILD_DIR/wine.$1" @@ -33,7 +38,6 @@ function build_arch { cp "$DXVK_BUILD_DIR/install.$1/bin/d3d10core.dll" "$DXVK_BUILD_DIR/x$1/d3d10core.dll" cp "$DXVK_BUILD_DIR/install.$1/bin/d3d11.dll" "$DXVK_BUILD_DIR/x$1/d3d11.dll" cp "$DXVK_BUILD_DIR/install.$1/bin/dxgi.dll" "$DXVK_BUILD_DIR/x$1/dxgi.dll" - cp "$DXVK_BUILD_DIR/install.$1/bin/setup_dxvk.sh" "$DXVK_BUILD_DIR/x$1/setup_dxvk.sh" rm -R "$DXVK_BUILD_DIR/wine.$1" rm -R "$DXVK_BUILD_DIR/build.$1" @@ -41,6 +45,7 @@ function build_arch { } function package { + cp "$DXVK_SRC_DIR/utils/setup_dxvk.verb" "$DXVK_BUILD_DIR/setup_dxvk.verb" cd "$DXVK_BUILD_DIR/.." tar -czf "$DXVK_ARCHIVE_PATH" "dxvk-$DXVK_VERSION" rm -R "dxvk-$DXVK_VERSION" diff --git a/utils/setup_dxvk.verb b/utils/setup_dxvk.verb new file mode 100644 index 000000000..e780dfa08 --- /dev/null +++ b/utils/setup_dxvk.verb @@ -0,0 +1,37 @@ +w_metadata setup_dxvk 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="$W_SYSTEM32_DLLS_WIN/dxgi.dll" \ + installed_file2="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \ + installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \ + installed_file4="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \ + installed_file5="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \ + homepage="https://github.com/doitsujin/dxvk" + +load_setup_dxvk() +{ + for f in "$file1" "$file2" "$file3" "$file4" "$file5"; do + w_try cp "x32/$f" "$W_SYSTEM32_DLLS/$f" + done + + if [ "$W_ARCH" = "win64" ]; then + dxvk64_dir="/usr/lib64/wine/dxvk" + for f in "$file1" "$file2" "$file3" "$file4" "$file5"; do + w_try cp "x64/$f" "$W_SYSTEM64_DLLS/$f" + done + fi + + w_override_dlls native \ + dxgi \ + d3d11 \ + d3d10 \ + d3d10_1 \ + d3d10core +}