Browse Source

Initial commit

master
Fincer 5 years ago
commit
232a79f278
7 changed files with 740 additions and 0 deletions
  1. +49
    -0
      0-dxvk-git/PKGBUILD
  2. +42
    -0
      0-dxvk-git/patch_nowine.patch
  3. +20
    -0
      0-wine-staging-git/30-win32-aliases.conf
  4. +324
    -0
      0-wine-staging-git/PKGBUILD
  5. +0
    -0
      0-wine-staging-git/custom_patches/put_your_wine_patches_here
  6. +0
    -0
      0-wine-staging-git/disabled_patches/put_disabled_wine_patches_here
  7. +305
    -0
      updatewine.sh

+ 49
- 0
0-dxvk-git/PKGBUILD View File

@ -0,0 +1,49 @@
# Maintainer: Adrià Cereto i Massagué <ssorgatem at gmail.com>
pkgname=dxvk-git
pkgver=20180814.e5eb155
pkgrel=1
pkgdesc="A Vulkan-based compatibility layer for Direct3D 11 which allows running 3D applications on Linux using Wine."
arch=('x86_64')
url="https://github.com/doitsujin/dxvk"
license=('zlib/libpng')
depends=('vulkan-icd-loader')
makedepends=('ninja' 'meson>=0.43' 'glslang' 'mingw-w64-gcc' 'git')
provides=("dxvk")
conflicts=("dxvk-bin")
options=(!strip !buildflags staticlibs)
source=($pkgname::"git+https://github.com/doitsujin/dxvk.git"
patch_nowine.patch)
#patch_revert-attribute_divisor.patch)
md5sums=('SKIP'
'e44502b2fc7e2db2db0090f779531189')
pkgver() {
cd "$pkgname"
git log -1 --format=%cd.%h --date=short|tr -d -
}
prepare() {
cd "$pkgname"
patch -p1 < ../patch_nowine.patch
#patch -p1 -R < ../patch_revert-attribute_divisor.patch
}
build() {
"$pkgname"/package-release.sh $pkgver $PWD --no-package
}
package() {
mkdir -p "$pkgdir/usr/share/dxvk"
cp -rv dxvk-$pkgver/* "$pkgdir/usr/share/dxvk"
if [ ! -f "$pkgdir"/usr/share/dxvk/x64/d3d11.dll ] ||\
[ ! -f "$pkgdir"/usr/share/dxvk/x64/dxgi.dll ] ||\
[ ! -f "$pkgdir"/usr/share/dxvk/x32/d3d11.dll ] ||\
[ ! -f "$pkgdir"/usr/share/dxvk/x32/dxgi.dll ]; then
echo "Missing files, build was unsuccessful"
return 1
fi
mkdir -p "$pkgdir/usr/bin"
ln -s "/usr/share/dxvk/x32/setup_dxvk.sh" "$pkgdir/usr/bin/setup_dxvk32"
ln -s "/usr/share/dxvk/x64/setup_dxvk.sh" "$pkgdir/usr/bin/setup_dxvk64"
}

+ 42
- 0
0-dxvk-git/patch_nowine.patch View File

@ -0,0 +1,42 @@
--- a/build-win32.txt
+++ b/build-win32.txt
@@ -3,7 +3,6 @@
cpp = 'i686-w64-mingw32-g++'
ar = 'i686-w64-mingw32-ar'
strip = 'i686-w64-mingw32-strip'
-exe_wrapper = 'wine'
[properties]
c_link_args = ['-static', '-static-libgcc']
--- a/build-win64.txt
+++ b/build-win64.txt
@@ -3,7 +3,6 @@
cpp = 'x86_64-w64-mingw32-g++'
ar = 'x86_64-w64-mingw32-ar'
strip = 'x86_64-w64-mingw32-strip'
-exe_wrapper = 'wine'
[properties]
c_link_args = ['-static', '-static-libgcc']
--- a/package-release.sh
+++ b/package-release.sh
@@ -11,9 +11,6 @@
DXVK_ARCHIVE_PATH=$(realpath "$2")"/dxvk-$DXVK_VERSION.tar.gz"
function build_arch {
- export WINEARCH="win$1"
- export WINEPREFIX="$DXVK_BUILD_DIR/wine.$1"
-
cd "$DXVK_SRC_DIR"
meson --cross-file "$DXVK_SRC_DIR/build-win$1.txt" \
@@ -31,8 +28,7 @@
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"
rm -R "$DXVK_BUILD_DIR/install.$1"
}

+ 20
- 0
0-wine-staging-git/30-win32-aliases.conf View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="same">
<family>MS Shell Dlg</family>
<accept><family>Microsoft Sans Serif</family></accept>
<default><family>sans-serif</family></default>
</alias>
<alias binding="same">
<family>MS Shell Dlg 2</family>
<accept><family>Tahoma</family></accept>
<default><family>sans-serif</family></default>
</alias>
<alias binding="same">
<family>MS Sans Serif</family>
<prefer><family>Microsoft Sans Serif</family></prefer>
<default><family>sans-serif</family></default>
</alias>
</fontconfig>

+ 324
- 0
0-wine-staging-git/PKGBUILD View File

@ -0,0 +1,324 @@
# Maintainer: Daniel Bermond < yahoo-com: danielbermond >
# Contributor: Pekka Helenius (~ Fincer) <fincer89@hotmail.com>
# Enable Wine Staging? 1 = yes
enable_staging=1
# Staging patchsets. Default: all patchsets. Please see Wine Staging patchinstall.sh file for individual patchset names.
staging_patchsets=(--all) # In order to disable all patchsets, use #(--all) and add desired patchsets individually here
# Enable 32-bit compilation? 1 = yes
enable_32=1
# Enable 64-bit compilation? 1 = yes
enable_64=1
provides=('wine' 'wine-git' 'wine-staging' 'wine-staging-git' 'wine-staging-dxvk-git')
if [[ enable_staging -eq 1 ]]; then
pkgname=wine-staging-git
pkgdesc="A compatibility layer for running Windows programs (staging branch, Git version)"
url="https://github.com/wine-staging/wine-staging/"
conflicts=('wine' 'wine-git' 'wine-staging')
else
pkgname=wine-git
pkgdesc="A compatibility layer for running Windows programs (Git version)"
url="https://source.winehq.org/git/wine.git/"
conflicts=('wine' 'wine-staging' 'wine-staging-git')
fi
pkgver=stg.3.13.1.r11.g39cafb1d+wine.wine.3.13.r0.g25cc380b8e
pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL')
_depends=(
'attr' 'lib32-attr'
'fontconfig' 'lib32-fontconfig'
'lcms2' 'lib32-lcms2'
'libxml2' 'lib32-libxml2'
'libxcursor' 'lib32-libxcursor'
'libxrandr' 'lib32-libxrandr'
'libxdamage' 'lib32-libxdamage'
'libxi' 'lib32-libxi'
'gettext' 'lib32-gettext'
'freetype2' 'lib32-freetype2'
'glu' 'lib32-glu'
'libsm' 'lib32-libsm'
'gcc-libs' 'lib32-gcc-libs'
'libpcap' 'lib32-libpcap'
'desktop-file-utils'
'vulkan-icd-loader' 'lib32-vulkan-icd-loader'
)
makedepends=(
'git'
'autoconf'
'ncurses'
'bison'
'perl'
#'fontforge'
'flex'
'gcc>=4.5.0-2'
'giflib' 'lib32-giflib'
'libpng' 'lib32-libpng'
'gnutls' 'lib32-gnutls'
'libxinerama' 'lib32-libxinerama'
'libxcomposite' 'lib32-libxcomposite'
'libxmu' 'lib32-libxmu'
'libxxf86vm' 'lib32-libxxf86vm'
'libldap' 'lib32-libldap'
'mpg123' 'lib32-mpg123'
'openal' 'lib32-openal'
'v4l-utils' 'lib32-v4l-utils'
'alsa-lib' 'lib32-alsa-lib'
'libxcomposite' 'lib32-libxcomposite'
'mesa' 'lib32-mesa'
'libgl' 'lib32-libgl'
'opencl-icd-loader' 'lib32-opencl-icd-loader'
'libxslt' 'lib32-libxslt'
'libpulse' 'lib32-libpulse'
'libva' 'lib32-libva'
'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs'
'samba'
#'opencl-headers'
#'gcc-multilib>=4.5.0-2'
)
optdepends=(
'giflib' 'lib32-giflib'
'libpng' 'lib32-libpng'
'libldap' 'lib32-libldap'
'gnutls' 'lib32-gnutls'
'mpg123' 'lib32-mpg123'
'openal' 'lib32-openal'
'v4l-utils' 'lib32-v4l-utils'
'libpulse' 'lib32-libpulse'
'alsa-plugins' 'lib32-alsa-plugins'
'alsa-lib' 'lib32-alsa-lib'
'libjpeg-turbo' 'lib32-libjpeg-turbo'
'libxcomposite' 'lib32-libxcomposite'
'libxinerama' 'lib32-libxinerama'
'ncurses' 'lib32-ncurses'
'opencl-icd-loader' 'lib32-opencl-icd-loader'
'libxslt' 'lib32-libxslt'
'libtxc_dxtn' 'lib32-libtxc_dxtn'
'libva' 'lib32-libva'
'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs'
'vulkan-icd-loader' 'lib32-vulkan-icd-loader'
'cups'
'samba'
'dosbox'
)
# lib32-libtxc_dxtn
# 'gtk3' 'lib32-gtk3'
options=('staticlibs')
source=(wine-git::'git://source.winehq.org/git/wine.git'
'30-win32-aliases.conf'
)
if [[ $(find ./custom_patches -mindepth 1 -maxdepth 1 -name "*.patch") ]]; then
cp ./custom_patches/*.patch ./
let p=0
for patch in $(find . -mindepth 1 -maxdepth 1 -name "*.patch"); do
patches[$p]="$(basename ${patch})"
let p++
done
unset p
source+=(${source[@]} ${patches[@]})
fi
if [[ enable_staging -eq 1 ]]; then
stagingsrc=wine-staging-git::'git://github.com/wine-staging/wine-staging.git'
source+=($stagingsrc)
fi
if [[ "$CARCH" == "i686" ]]; then
# Strip lib32 etc. on i686
_depends=(${_depends[@]/*32-*/})
makedepends=(${makedepends[@]/*32-*/} ${_depends[@]})
makedepends=(${makedepends[@]/*-multilib*/})
optdepends=(${optdepends[@]/*32-*/})
else
makedepends=(${makedepends[@]} ${_depends[@]})
fi
pkgver() {
msg2 "Setting Wine versions..."
if [[ enable_staging -eq 1 ]]; then
cd "${srcdir}/wine-staging-git"
_staging_tag="$(git tag | sort -Vr | head -n1 | sed 's/-/./g;s/^v//')"
_staging_version="stg.$(git describe --long \
| sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//' \
| sed "s/^latest.release/${_staging_tag}/")"
fi
cd "${srcdir}/wine-git"
_wine_version="wine.$(git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
if [[ enable_staging -eq 1 ]]; then
printf "%s+%s" "$_staging_version" "$_wine_version"
else
printf "%s" "$_wine_version"
fi
}
prepare() {
if [[ enable_staging -eq 1 ]]; then
cd "$srcdir"/wine-git
msg2 "Cleaning the wine source code tree..."
# Restore the wine tree to its git origin state, without wine-staging patches
#+(necessary for reapllying wine-staging patches in succedent builds,
#+otherwise the patches will fail to be reapplied)
git reset --hard HEAD # Restore tracked files
git clean -d -x -f # Delete untracked files
# Change back to the wine upstream commit that this version of wine-staging is based in
git checkout $(../"$pkgname"/patches/patchinstall.sh --upstream-commit)
fi
}
build() {
cd "${srcdir}"
# Delete old build dirs (from previous builds) and make new ones
rm -rf "$pkgname"-{32,64}-build
mkdir --parents "$pkgname"-32-build
if [[ enable_staging -eq 1 ]]; then
# Apply all wine-staging patches
msg2 "Applying wine-staging patches..."
./wine-staging-git/patches/patchinstall.sh DESTDIR="${srcdir}/wine-git" \
${staging_patchsets[*]}
fi
# Apply all custom patches
msg2 "Applying custom patches..."
cd "${srcdir}"/wine-git
for i in $srcdir/*.patch
do
patch -Np1 < $i
done
cd "${srcdir}"
# Build wine 64-bit
#+(according to the wine wiki this 64-bit/32-bit building order is mandatory)
if [[ "$CARCH" = "x86_64" ]] && [[ enable_64 -eq 1 ]]; then
msg2 "Building Wine-64..."
mkdir --parents "$pkgname"-64-build
cd "$pkgname"-64-build
../wine-git/configure \
--with-x \
--with-gstreamer \
--enable-win64 \
--with-xattr \
--disable-mscoree \
--with-vulkan \
--prefix=/usr \
--libdir=/usr/lib
make
_wine32opts=(
--libdir=/usr/lib32
--with-wine64="${srcdir}/${pkgname}-64-build"
)
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
fi
# Build wine 32-bit
if [[ enable_32 -eq 1 ]]; then
msg2 "Building Wine-32..."
cd "$srcdir"/"$pkgname"-32-build
../wine-git/configure \
--with-x \
--with-gstreamer \
--with-xattr \
--disable-mscoree \
--with-vulkan \
"${_wine32opts[@]}" \
--prefix=/usr
make
fi
if [[ ! enable_32 -eq 1 ]] && [[ ! enable_64 -eq 1 ]]; then
msg2 "You must define at least one architecture in PKGBUILD! Aborting"
exit 1
fi
}
package() {
depends=(${_depends[@]})
# Package wine 32-bit
#+(according to the wine wiki this reverse 32-bit/64-bit packaging order is important)
if [[ $enable_32 -eq 1 ]]; then
msg2 "Packaging Wine-32..."
cd "$srcdir"/"$pkgname"-32-build
if [ "$CARCH" = "i686" ]; then
make prefix="$pkgdir/usr" install
else
make prefix="${pkgdir}/usr" \
libdir="${pkgdir}/usr/lib32" \
dlldir="${pkgdir}/usr/lib32/wine" install
fi
fi
# Package wine 64-bit
if [[ "$CARCH" == "x86_64" ]] && [[ enable_64 -eq 1 ]]; then
msg2 "Packaging Wine-64..."
cd "$srcdir"/"$pkgname"-64-build
make prefix="${pkgdir}/usr" \
libdir="${pkgdir}/usr/lib" \
dlldir="${pkgdir}/usr/lib/wine" install
if [[ enable_dxvk -eq 1 ]]; then
mv "$srcdir"/dxvk-compiled/x64/{d3d11.dll,dxgi.dll} "${pkgdir}/usr/lib/wine/fakedlls/"
chmod 644 "${pkgdir}/usr/lib/wine/fakedlls/"{d3d11.dll,dxgi.dll}
mv "$srcdir"/dxvk-compiled/x32/{d3d11.dll,dxgi.dll} "${pkgdir}/usr/lib32/wine/fakedlls/"
chmod 644 "${pkgdir}/usr/lib32/wine/fakedlls/"{d3d11.dll,dxgi.dll}
fi
fi
# Font aliasing settings for Win32 applications
install -d "$pkgdir"/etc/fonts/conf.{avail,d}
install -m644 "${srcdir}/30-win32-aliases.conf" "${pkgdir}/etc/fonts/conf.avail"
ln -s ../conf.avail/30-win32-aliases.conf "${pkgdir}/etc/fonts/conf.d/30-win32-aliases.conf"
}
md5sums=('SKIP'
'1ff4e467f59409272088d92173a0f801'
'SKIP'
'1ff4e467f59409272088d92173a0f801'
'4228291253f5e94b793e5b0e6acab6a1'
'16f24605c2f46404e4db1c89dbf307a6'
'69169c9d32f51ec7af98570061261a2d'
'c11dfdfda50dc4c05d2f7ef8eef01e70'
'958fcdea1a455786a22e09a6afc0adaf'
'711c39eeb131ff30e2bfb68ea27d4040'
'3474c0d9e65cefc223c0a43cd5b21ce1'
'f58a4e17b33bd96ce0d6e8325cad7f76'
'18e99ddef0c5ae3bd1b03781ffb1d614'
'e833694fa978a26ad3254d43ca6127e1'
'SKIP')

+ 0
- 0
0-wine-staging-git/custom_patches/put_your_wine_patches_here View File


+ 0
- 0
0-wine-staging-git/disabled_patches/put_disabled_wine_patches_here View File


+ 305
- 0
updatewine.sh View File

@ -0,0 +1,305 @@
#!/bin/bash
# getsource - Simple script to set up Wine Staging + DXVK for PoL wineprefixes
# Copyright (C) 2018 Pekka Helenius
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
###########################################################
# Your system username (who has PoL profile // existing Wine prefixes)
# Get it by running 'whoami'
USER=fincer
###########################################################
# REQUIREMENTS:
# - Arch Linux or equivalent (uses pacman)
#
# - Existing PlayonLinux package installation and $HOME/.PlayOnLinux folder
# with all relevant subfolders
#
# - git, sudo, pwd...etc.
#
# - dxvk-git and wine-staging-git package dependencies installed
# (see PKGBUILD files ./PKGBUILD and ./0-dxvk-git/PKGBUILD for details)
#
# - Internet connection
#
# - GPU Vulkan support and the most recent Nvidia/AMD drivers
###########################################################
# Usage
# Run with sudo
#
# # sudo bash ./updatewine.sh
#
# NOTE: All commands are executed as user (defined above).
# Only commands which require root permissions are ones
# which install packages wine-staging-git and dxvk into
# your system
# All regular user commands have prefix 'cmd' below
# Switches:
#
# --refresh
#
# Check for new Staging/DXVK releases, update PoL Wine prefixes if needed
# Does a comparison between local & remote git repos
#
# --check
#
# Check for new Staging/DXVK releases
# Does a comparison between local & remote git repos
#
# --force
#
# Force Wine Staging & DXVK installation
#
###########################################################
# Get current date
CURDATE=$(date "+%d-%m-%Y %H:%M:%S")
# This variable value is automatically generated. DO NOT CHANGE.
LASTUPDATE=
# This variable value is automatically generated. DO NOT CHANGE.
WINE_VERSION=
###########################################################
# Switches
if [[ "${1}" == "--refresh" ]]; then
WINE_INSTALL=
CHECK=
fi
if [[ "${1}" == "--check" ]]; then
CHECK=
fi
if [[ "${1}" == "--force" ]] || [[ $WINE_VERSION == "" ]] || [[ $LASTUPDATE == "" ]]; then
WINE_INSTALL=
FORCE_INSTALL=
fi
###########################################################
if [[ $UID -ne 0 ]]; then
echo "Run as root or sudo"
exit 1
fi
echo -e "\nLast update: $LASTUPDATE\n"
ORG_CURDIR=$(pwd)
cmd() {
sudo -u $USER bash -c "${*}"
}
###########################################################
# Check for existing PoL user folder
if [[ ! -d /home/$USER/.PlayOnLinux ]]; then
echo "No existing PlayonLinux profiles in $USER's home folder. Aborting"
exit 1
fi
###########################################################
# Check internet connection
function netCheck() {
if [[ $(echo $(wget --delete-after -q -T 5 github.com -o -)$?) -ne 0 ]]; then
echo -e "\nInternet connection failed (GitHub). Please check your connection and try again.\n"
exit 1
fi
}
###########################################################
# Local/Remote git comparisons
function gitCheck() {
netCheck
if [[ -v $FORCE_INSTALL ]]; then
NEEDSBUILD=1
return 0
fi
if [[ ! -d "${1}" ]]; then
NEEDSBUILD=1
return 1
fi
echo -e "=> Checking ${2} GIT for changes\n"
local CURDIR="${PWD}"
cd "${1}"
local LOCAL_GIT=$(git rev-parse @)
local REMOTE_GIT=$(git ls-remote origin -h refs/heads/master | awk '{print $1}')
echo -e "\t${2}:\n\tlocal git: $LOCAL_GIT\n\tremote git: $REMOTE_GIT"
if [[ $LOCAL_GIT != $REMOTE_GIT ]]; then
# true
echo -e "\e[91m\n\t${2} needs to be updated\e[0m\n"
NEEDSBUILD=1
else
# false
echo -e "\e[92m\n\t${2} is updated\e[0m\n"
NEEDSBUILD=0
fi
cd "${CURDIR}"
}
###########################################################
# Remove any existing pkg,src or tar.xz packages left by previous pacman commands
cmd "rm -rf ./*/{pkg,src,*.tar.xz}"
cmd "rm -f ./0-wine-staging-git/*.patch"
if [[ $? -ne 0 ]]; then
echo "Could not remove previous pacman-generated Wine source folders"
exit 1
fi
###########################################################
# Do git check for Wine Staging
gitCheck ./wine-staging-git Wine
# If needs build and --check switch is not used
if [[ $NEEDSBUILD -eq 1 ]] && [[ ! -v CHECK ]]; then
# Create wine-staging-git package and install it to the system
cd "${ORG_CURDIR}"/0-wine-staging-git
cmd "updpkgsums && makepkg"
if [[ $? -eq 0 ]]; then
pacman -U --noconfirm wine-*.tar.xz
else
exit 1
fi
if [[ $? -eq 0 ]]; then
cmd "rm -rf ./{*.patch,pkg,src,*.tar.xz}"
WINE_INSTALL=
WINE_VERSION_UPDATE=$(pacman -Qi wine-staging-git | grep 'Version' | awk '{print $NF}')
else
exit 1
fi
cd ..
fi
#############################
# Create dxvk-git package and install it to the system
gitCheck ./0-dxvk-git/dxvk-git DXVK
# If needs build and --check switch is not used
if [[ $NEEDSBUILD -eq 1 ]] && [[ ! -v CHECK ]]; then
# Create dxvk-git package and install it to the system
cd "${ORG_CURDIR}"/0-dxvk-git
cmd "updpkgsums && makepkg"
if [[ $? -eq 0 ]]; then
pacman -U --noconfirm dxvk-git*.tar.xz
else
exit 1
fi
if [[ $? -eq 0 ]]; then
cmd "rm -rf ./{pkg,src,dxvk-git*.tar.xz}"
else
exit 1
fi
fi
cd ..
# If a new Wine Staging version was installed and 'System' version of Wine has been used in
# PoL wineprefix configurations, update those existing PoL wineprefixes
if [[ -v WINE_INSTALL ]]; then
for wineprefix in $(find /home/$USER/.PlayOnLinux/wineprefix -mindepth 1 -maxdepth 1 -type d); do
if [[ -d ${wineprefix}/dosdevices ]]; then
# If VERSION string exists, skip updating that prefix.
if [[ $(printf $(grep -ril "VERSION" ${wineprefix}/playonlinux.cfg &> /dev/null)$?) -ne 0 ]]; then
# If currently installed Wine version is not same than we just built.
if [[ -v WINE_VERSION_UPDATE ]]; then
if [[ "${WINE_VERSION}" != "${WINE_VERSION_UPDATE}" ]]; then
cmd "WINEPREFIX=${wineprefix} wineboot -u"
fi
fi
fi
fi
done
# If a new Wine Staging version was installed, update WINE_VERSION string variable in this script file
if [[ -v WINE_VERSION_UPDATE ]]; then
cmd "sed -i 's/^WINE_VERSION=.*/WINE_VERSION=\"${WINE_VERSION_UPDATE}\"/' $ORG_CURDIR/updatewine.sh"
fi
fi
# Install dxvk-git to every PlayOnLinux wineprefix
if [[ $? -eq 0 ]]; then
for wineprefix in $(find /home/$USER/.PlayOnLinux/wineprefix -mindepth 1 -maxdepth 1 -type d); do
if [[ -d ${wineprefix}/dosdevices ]]; then
if [[ $(printf $(grep -ril "\"d3d11\"=\"native\"" ${wineprefix}/user.reg &> /dev/null)$?) -ne 0 ]]; then
cmd "WINEPREFIX=${wineprefix} setup_dxvk32"
cmd "WINEPREFIX=${wineprefix} setup_dxvk64"
fi
# For D3D10 DXVK support
if [[ $(printf $(grep -ril "\"\*d3dcompiler_43\"=\"native\"" ${wineprefix}/user.reg &> /dev/null)$?) -ne 0 ]]; then
cmd "WINEPREFIX=${wineprefix} winetricks d3dcompiler_43"
fi
fi
done
fi
# Update LASTUPDATE variable string, if --check switch is not used + a new Wine Staging version is used or NEEDSBUILD variable is set to 1
if [[ ! -v CHECK ]]; then
if [[ -v WINE_INSTALL ]] || [[ $NEEDSBUILD -eq 1 ]]; then
cmd "sed -i 's/^LASTUPDATE=.*/LASTUPDATE=\"$CURDATE\"/' $ORG_CURDIR/updatewine.sh"
fi
fi
# Unset various env vars
unset CHECK
unset WINE_INSTALL
unset FORCE_INSTALL

Loading…
Cancel
Save