diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rwxr-xr-x | build_installer.sh | 23 | ||||
-rw-r--r--[-rwxr-xr-x] | evelauncher.sh | 0 | ||||
-rw-r--r-- | evesetup.shlib | 36 | ||||
-rw-r--r-- | setup.sh.in | 40 |
6 files changed, 99 insertions, 31 deletions
@@ -1,16 +1,18 @@ pkgbase = evesetup pkgdesc = An inofficial EVE Online Launcher Setup Tool. pkgver = 1548102 - pkgrel = 11 + pkgrel = 12 url = https://forums.eveonline.com/t/eve-installing/71494 arch = x86_64 license = custom depends = p7zip + depends = vulkan-icd-loader depends = wine optdepends = libnotify optdepends = winetricks conflicts = evelauncher conflicts = evesetup_dev + conflicts = evesetup-beta noextract = eve-transl5.11-de.tar.gz noextract = eve-transl5.11-en.tar.gz noextract = eve-transl5.11-fr.tar.gz @@ -43,11 +45,12 @@ pkgbase = evesetup source = eve-transl5.11-ru.tar.gz source = eve-transl5.11-zh.tar.gz source = https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run + source = https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz source = https://binaries.eveonline.com/evelauncher-1548102.tar.gz sha256sums = ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4 sha256sums = b1faa042a96746fe80ea5d85a0c26e80b29353394897774f45b9e48e0639a1d8 sha256sums = 80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21 - sha256sums = 4eaceb0661dd38354c3738411bdbe48e29bab103bb09b8f959d16f1073904625 + sha256sums = 1745e38174a91714ff3061608002a986f216360d8b04b86cdcae7c5457b740c2 sha256sums = a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b sha256sums = 9079fd9ed7967479b7a78643d43537c04f9275303cd713651d2481bf4c658653 sha256sums = 546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd @@ -58,8 +61,8 @@ pkgbase = evesetup sha256sums = 261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8 sha256sums = 528fc6627e8893db5d7092194e9f3320067f2f1f4593a206aee8a5207956e563 sha256sums = d4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2 - sha256sums = 481e70f5ddba4f2d811534ab5b341a0911a836ab08a2631e648cae36b58fd0e0 - sha256sums = 85e36c8fbb51b20aa55eb56c773cacae21c508c1725b02d876fa177294f4ec44 + sha256sums = 0a39c2fce60e2464440cdcaf8288d98d6c79eb6f489da6598a1f709837f98cd1 + sha256sums = f4a9e044d349e0363d5eeb1d308736c287bb1a0335476fab6f46d50a0a688429 sha256sums = 69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3 sha256sums = 762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422 sha256sums = 47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a @@ -69,6 +72,7 @@ pkgbase = evesetup sha256sums = 7ae1c6324c4ad43ab3f18f5a3ceaa48b34ede5466b7a0b9351d018e8cef9bbd0 sha256sums = 1936061a14432ab2632ea3ff15d45350b59ac822985445f597a4a5db44a35ae6 sha256sums = ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2 + sha256sums = 67d78239906c24bd50a5ecbc2fd792c1721e274a7a60dd22f74b21b08ca4c7a1 sha256sums = 6d49defd626b0643dce83fcd258f3bf3ece8f8e6cefbea37b3b61c8ae0752d85 pkgname = evesetup @@ -1,17 +1,17 @@ #Maintainer: Gharim Turen <gharim@turen.de> pkgname=evesetup pkgver=1548102 -pkgrel=11 +pkgrel=12 pkgdesc="An inofficial EVE Online Launcher Setup Tool." arch=(x86_64) url="https://forums.eveonline.com/t/eve-installing/71494" license=('custom') -depends=('p7zip' 'wine') +depends=('p7zip' 'vulkan-icd-loader' 'wine') optdepends=('libnotify' 'winetricks') -conflicts=('evelauncher' 'evesetup_dev') +conflicts=('evelauncher' 'evesetup_dev' 'evesetup-beta') source=("evelauncher.desktop" "evelauncher.sh" @@ -38,6 +38,7 @@ source=("evelauncher.desktop" "eve-transl5.11-ru.tar.gz" "eve-transl5.11-zh.tar.gz" "https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run" + "https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz" "https://binaries.eveonline.com/evelauncher-${pkgver}.tar.gz") noextract=('eve-transl5.11-de.tar.gz' @@ -50,8 +51,9 @@ noextract=('eve-transl5.11-de.tar.gz' package() { install -d "${pkgdir}/opt/${pkgname}/bin" - install -d "${pkgdir}/opt/${pkgname}/lib" install -d "${pkgdir}/opt/${pkgname}/doc" + install -d "${pkgdir}/opt/${pkgname}/lib" + install -d "${pkgdir}/opt/${pkgname}/lib/dxvk" install -d "${pkgdir}/usr/bin" install -d "${pkgdir}/usr/share/applications" install -d "${pkgdir}/usr/share/icons" @@ -81,6 +83,8 @@ package() { cp ${srcdir}/eve-transl5.11* ${pkgdir}/opt/${pkgname}/lib cp ${srcdir}/evelauncher.lua ${pkgdir}/opt/${pkgname}/doc cp ${srcdir}/evelauncher.kwinrule ${pkgdir}/opt/${pkgname}/doc + cp -r ${srcdir}/dxvk-1.7/x32 ${pkgdir}/opt/${pkgname}/lib/dxvk/ + cp -r ${srcdir}/dxvk-1.7/x64 ${pkgdir}/opt/${pkgname}/lib/dxvk/ cp -r ${srcdir}/icons ${pkgdir}/usr/share/ cp -f ${srcdir}/evelauncher.sh.real ${srcdir}/evelauncher/evelauncher.sh rm -f ${srcdir}/evelauncher/*.a ${srcdir}/evelauncher/*.la @@ -113,7 +117,7 @@ package() { sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' 'b1faa042a96746fe80ea5d85a0c26e80b29353394897774f45b9e48e0639a1d8' '80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21' - '4eaceb0661dd38354c3738411bdbe48e29bab103bb09b8f959d16f1073904625' + '1745e38174a91714ff3061608002a986f216360d8b04b86cdcae7c5457b740c2' 'a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b' '9079fd9ed7967479b7a78643d43537c04f9275303cd713651d2481bf4c658653' '546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd' @@ -124,8 +128,8 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' '261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8' '528fc6627e8893db5d7092194e9f3320067f2f1f4593a206aee8a5207956e563' 'd4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2' - '481e70f5ddba4f2d811534ab5b341a0911a836ab08a2631e648cae36b58fd0e0' - '85e36c8fbb51b20aa55eb56c773cacae21c508c1725b02d876fa177294f4ec44' + '0a39c2fce60e2464440cdcaf8288d98d6c79eb6f489da6598a1f709837f98cd1' + 'f4a9e044d349e0363d5eeb1d308736c287bb1a0335476fab6f46d50a0a688429' '69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3' '762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422' '47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a' @@ -135,4 +139,5 @@ sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' '7ae1c6324c4ad43ab3f18f5a3ceaa48b34ede5466b7a0b9351d018e8cef9bbd0' '1936061a14432ab2632ea3ff15d45350b59ac822985445f597a4a5db44a35ae6' 'ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2' + '67d78239906c24bd50a5ecbc2fd792c1721e274a7a60dd22f74b21b08ca4c7a1' '6d49defd626b0643dce83fcd258f3bf3ece8f8e6cefbea37b3b61c8ae0752d85') diff --git a/build_installer.sh b/build_installer.sh index 8de730fb04f8..cdcf37f48776 100755 --- a/build_installer.sh +++ b/build_installer.sh @@ -3,24 +3,32 @@ set -e printf "\n\n Buildscript for creating the distribution independed installer\n" -printf " with all dependencies and optional evelauncher archive included.\n\n" +printf " with all dependencies and optional evelauncher and dxvk archive included.\n\n" version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1 release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1 arch=$(uname -m) +dvcsum="" elcsum="" mscsum="ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2" rcsum="" pshal=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1) psrcl=$(grep -n ^source PKGBUILD | cut -d: -f1) +pdvsl=$(grep -n dxvk-1.7.tar.gz\" PKGBUILD | cut -d: -f1) pelsl=$(grep -n evelauncher-\${pkgver}.tar.gz\" PKGBUILD | cut -d: -f1) +pdfsl=$(expr $pdvsl - $psrcl) pofsl=$(expr $pelsl - $psrcl) +pdvcs=$(expr $pshal + $pdfsl) pelcs=$(expr $pshal + $pofsl) plc=1 while read pline ;do + if [ $plc -eq $pdvcs ] ;then + dvcsum=${pline#*\'} + dvcsum=${dvcsum%%\'*} + fi if [ $plc -eq $pelcs ] ;then elcsum=${pline#*\'} elcsum=${elcsum%%\'*} @@ -73,6 +81,7 @@ sed -i s,ELVER=\"\",ELVER=\"$version\", evesetup/evelauncher.sh cp ../setup.sh.in evesetup/setup.sh sed -i s,elver=\"\",elver=\"$version\", evesetup/setup.sh sed -i s,elcsum=\"\",elcsum=\"$elcsum\", evesetup/setup.sh +sed -i s,dvcsum=\"\",dvcsum=\"$dvcsum\", evesetup/setup.sh chmod a+x evesetup/setup.sh echo "done." @@ -88,6 +97,18 @@ if [ -f "../evelauncher-$version.tar.gz" ] ;then else printf "\nEVE Launcher archive not found, will be downloaded during the setup process.\n" fi +if [ -f "../dxvk-1.7.tar.gz" ] ;then + printf "\nFound DXVK archive..." + rcsum="$(sha256sum ../dxvk-1.7.tar.gz | cut -d' ' -f1)" + if [ "$rcsum" = "$dvcsum" ] ;then + cp ../dxvk-1.7.tar.gz evesetup/ && \ + echo "added." + else + echo "skipped, checksum mismatch." + fi +else + printf "\nDXVK archive not found, will be downloaded during the setup process.\n" +fi printf "\nBuild self-extractable archive evesetup-$version-$release-$arch.run\n\n" ./makeself.sh --tar-quietly evesetup/ ../evesetup-$version-$release-$arch.run \ "EVE Online Launcher Setup $version-$release" ./setup.sh diff --git a/evelauncher.sh b/evelauncher.sh index b7a4bee2d156..b7a4bee2d156 100755..100644 --- a/evelauncher.sh +++ b/evelauncher.sh diff --git a/evesetup.shlib b/evesetup.shlib index 19198963822c..7c1801b7797e 100644 --- a/evesetup.shlib +++ b/evesetup.shlib @@ -71,7 +71,12 @@ check_wine() { CUSTOMWP=${SHAREDIR}wine WINEPATH=${SHAREDIR}wine/bin fi - if [ ! -x "$WINEPATH/wine" ] ;then + if [ -x "$WINEPATH/wine64" ] ;then + WINE=$WINEPATH/wine64 + else + WINE=$WINEPATH/wine + fi + if [ ! -x "$WINE" ] ;then desktop_msg "ERROR: \"$CUSTOMWP\" not found!" exit 1 fi @@ -80,27 +85,40 @@ check_wine() { WINECONF=$(find ${WINEINFP%bin*}share/wine* -name 'wine.inf') WINEDATE=$(getdate $WINECONF) if [ "x$WINEDATE" != "x$INSTWINE" ] ;then - desktop_msg "Preparing wine in $WINEPREFIX" + desktop_msg "Preparing wine environment for EVE" env WINEPREFIX=$WINEPREFIX \ WINEDEBUG=-all \ WINEDLLOVERRIDES="mscoree,mshtml=d" \ - $WINEPATH/wine wineboot + $WINE wineboot env WINEPREFIX=$WINEPREFIX \ - $WINEPATH/wine reg add \ + $WINE reg add \ 'HKCU\Software\Wine\FileOpenAssociations' \ /v Enable /d N /f >/dev/null fi if [ "x$(grep -csw winemenubuilder $WINEPREFIX/system.reg)" != "x0" ] ;then - if [ -x "$WINEPATH/wine64" ] ;then - WINE=$WINEPATH/wine64 - else - WINE=$WINEPATH/wine - fi env WINEPREFIX=$WINEPREFIX \ $WINE reg delete \ 'HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices' \ /v winemenubuilder /f >/dev/null fi + DXVKLIBDIR=$SETUPDIR/lib/dxvk + WINESYSDIR=$WINEPREFIX/drive_c/windows/system32 + if [ -r "$DXVKLIBDIR" -a ! -r "$WINESYSDIR/d3d11.dll.old" ] ;then + desktop_msg "Setup DXVK in EVE's wine environment" + for DXVKFILE in d3d10core d3d11 dxgi ;do + mv $WINESYSDIR/$DXVKFILE.dll $WINESYSDIR/$DXVKFILE.dll.old + cp $DXVKLIBDIR/x64/$DXVKFILE.dll $WINESYSDIR/$DXVKFILE.dll + if [ -d "${WINESYSDIR%/*}/syswow64" ] ;then + mv ${WINESYSDIR%/*}/syswow64/$DXVKFILE.dll \ + ${WINESYSDIR%/*}/syswow64/$DXVKFILE.dll.old + cp $DXVKLIBDIR/x32/$DXVKFILE.dll ${WINESYSDIR%/*}/syswow64/$DXVKFILE.dll + fi + env WINEPREFIX=$WINEPREFIX \ + $WINE reg add \ + 'HKCU\Software\Wine\DllOverrides' \ + /v $DXVKFILE /d native >/dev/null + done + fi } desktop_msg() { diff --git a/setup.sh.in b/setup.sh.in index 3a44f2cf478b..b6983ec49abe 100644 --- a/setup.sh.in +++ b/setup.sh.in @@ -12,6 +12,11 @@ bootstrap_install() { for eta in ./eve-transl${qtver}-??.tar.gz ;do install -m 0644 "$eta" "$libdir" done + if [ -f "./dxvk-1.7.tar.gz" ] ;then + install -d "$libdir/dxvk/" + tar xf ./dxvk-1.7.tar.gz -C $libdir/dxvk/ --strip-components=1 \ + dxvk-1.7/x32 dxvk-1.7/x64 + fi install -m 0644 "./evesetup.shlib" "$libdir" install -m 0644 "./evelauncher-${elver}.tar.gz" "$libdir" install -m 0644 "./evelauncher.kwinrule" "$docdir" @@ -59,25 +64,18 @@ bootstrap_remove() { rm -f "$prefix/share/applications/${cmd%.*}.desktop" fi done - rm -rfv "$destdir" + printf "\nRemove $destdir...\n" + rm -rf "$destdir" } build_lib() { if [ ! -r "./evelauncher-$elver.tar.gz" ] ;then - if [ -x "$(which curl 2>/dev/null)" ] ;then - echo "Curl version $(curl -V | head -n1 | cut -d' ' -f2) found." - else - echo "Curl not found. Curl are needed for downloading evelauncher binaries." - echo " Please install curl with your Package Manager." - printf "\nLeaving.\n\n" - exit 0 - fi printf "\nDownload evelauncher-$elver.tar.gz...\n\n" curl -L -O https://binaries.eveonline.com/evelauncher-$elver.tar.gz fi rcsum="$(sha256sum ./evelauncher-$elver.tar.gz| cut -d' ' -f1)" if [ "$rcsum" != "$elcsum" ] ;then - printf "\n\nError: Checksum from evelauncher-$elver.tar.gz doesn't match!" + printf "\n\nError: Checksum evelauncher-$elver.tar.gz mismatch!" printf "\nLeaving.\n\n" exit 0 fi @@ -121,6 +119,18 @@ build_lib() { echo "done." } +get_dxvk() { + if [ ! -r "./dxvk-1.7.tar.gz" ] ;then + printf "\nDownload dxvk-1.7.tar.gz...\n\n" + curl -L -O https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz + fi + rcsum="$(sha256sum ./dxvk-1.7.tar.gz| cut -d' ' -f1)" + if [ "$rcsum" != "$dvcsum" ] ;then + printf "\n\nWarning: Checksum dxvk-1.7.tar.gz mismatch, ignored.\n" + rm ./dxvk-1.7.tar.gz 2>/dev/null || true + fi +} + check_req() { if [ -x "$(which 7z 2>/dev/null)" ] ;then echo "$(7z | head -n2 | cut -d: -f1 | tr -d [:cntrl:])found." @@ -129,6 +139,14 @@ check_req() { printf "\nLeaving.\n\n" exit 0 fi + if [ -x "$(which curl 2>/dev/null)" ] ;then + echo "Curl version $(curl -V | head -n1 | cut -d' ' -f2) found." + else + echo "Curl not found. Curl are needed for downloading evelauncher binaries." + echo " Please install curl with your Package Manager." + printf "\nLeaving.\n\n" + exit 0 + fi if [ -x "$(which wine 2>/dev/null)" ] ;then echo "Wine version $(wine --version) found." else @@ -147,6 +165,7 @@ docdir="$destdir/doc" qtver="5.11" elver="" elcsum="" +dvcsum="" rcsum="" key="" @@ -170,6 +189,7 @@ else printf "\nInstalling...\n\n" check_req build_lib + get_dxvk printf "\n" bootstrap_install printf "\nYou can now start EVE Online Launcher and his Tools:\n\n" |