diff options
-rw-r--r-- | .SRCINFO | 106 | ||||
-rw-r--r-- | PKGBUILD | 137 | ||||
-rwxr-xr-x | build_installer.sh | 122 | ||||
-rwxr-xr-x | build_lite_installer.sh | 142 | ||||
-rw-r--r-- | eve-transl5.11-de.tar.gz | bin | 166123 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.11-en.tar.gz | bin | 129581 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.11-fr.tar.gz | bin | 159377 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.11-ja.tar.gz | bin | 151487 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.11-ru.tar.gz | bin | 173445 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.11-zh.tar.gz | bin | 217501 -> 0 bytes | |||
-rw-r--r-- | eve-transl5.12-de.tar.gz | bin | 0 -> 150164 bytes | |||
-rw-r--r-- | eve-transl5.12-en.tar.gz | bin | 0 -> 135319 bytes | |||
-rw-r--r-- | eve-transl5.12-fr.tar.gz | bin | 0 -> 137587 bytes | |||
-rw-r--r-- | eve-transl5.12-ko.tar.gz | bin | 0 -> 129889 bytes | |||
-rw-r--r-- | eve-transl5.12-ru.tar.gz | bin | 0 -> 159015 bytes | |||
-rw-r--r-- | eve-transl5.12-zh.tar.gz | bin | 0 -> 183644 bytes | |||
-rw-r--r-- | evebackup | 57 | ||||
-rw-r--r-- | evebackup.desktop | 2 | ||||
-rw-r--r-- | evelauncher.desktop | 2 | ||||
-rw-r--r-- | evelauncher.kwinrule | 16 | ||||
-rw-r--r-- | evelauncher.lua | 6 | ||||
-rw-r--r-- | evelauncher.sh | 5 | ||||
-rw-r--r-- | evelauncher.sh.in | 16 | ||||
-rw-r--r-- | evelauncher.sh.real | 10 | ||||
-rw-r--r-- | everegedit.desktop | 2 | ||||
-rw-r--r-- | everestore.desktop | 11 | ||||
-rw-r--r-- | evesetup.changelog | 1 | ||||
-rw-r--r-- | evesetup.shlib | 190 | ||||
-rw-r--r-- | evewine | 12 | ||||
-rw-r--r-- | evewinecfg.desktop | 2 | ||||
-rw-r--r-- | evewinetricks | 12 | ||||
-rw-r--r-- | evewinetricks.desktop | 2 | ||||
-rw-r--r-- | qt.conf | 6 | ||||
-rw-r--r-- | setup.sh.in | 296 | ||||
-rw-r--r-- | setup_lite.sh.in | 177 |
35 files changed, 927 insertions, 405 deletions
@@ -1,32 +1,31 @@ pkgbase = evesetup pkgdesc = An inofficial EVE Online Launcher Setup Tool. - pkgver = 1548102 - pkgrel = 0 - url = https://forums.eveonline.com/t/eve-installing/71494 + pkgver = 1747682 + pkgrel = 13 + url = https://forums.eveonline.com/t/299030 + changelog = evesetup.changelog arch = x86_64 - license = custom - depends = icu + license = zlib + depends = lsof depends = openssl depends = openssl-1.0 - depends = qt5-base - depends = qt5-declarative + depends = p7zip depends = qt5-translations - depends = qt5-location - depends = qt5-webchannel depends = qt5-webengine depends = qt5-websockets - depends = wine - depends = winetricks + depends = vulkan-icd-loader optdepends = libnotify + optdepends = wine + optdepends = winetricks conflicts = evelauncher conflicts = evesetup_dev - noextract = eve-transl5.11-de.tar.gz - noextract = eve-transl5.11-en.tar.gz - noextract = eve-transl5.11-fr.tar.gz - noextract = eve-transl5.11-ja.tar.gz - noextract = eve-transl5.11-ru.tar.gz - noextract = eve-transl5.11-zh.tar.gz - noextract = https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run + conflicts = evesetup-beta + noextract = eve-transl5.12-de.tar.gz + noextract = eve-transl5.12-en.tar.gz + noextract = eve-transl5.12-fr.tar.gz + noextract = eve-transl5.12-ko.tar.gz + noextract = eve-transl5.12-ru.tar.gz + noextract = eve-transl5.12-zh.tar.gz source = evelauncher.desktop source = evelauncher.sh source = evelauncher.sh.in @@ -39,44 +38,53 @@ pkgbase = evesetup source = evewinetricks source = evebackup.desktop source = evebackup - source = qt.conf + source = everestore.desktop + source = evelauncher.kwinrule + source = evelauncher.lua source = build_installer.sh + source = build_lite_installer.sh source = setup.sh.in + source = setup_lite.sh.in source = eve-icons.tar.gz source = eve-icons_large.tar.gz - source = eve-transl5.11-de.tar.gz - source = eve-transl5.11-en.tar.gz - source = eve-transl5.11-fr.tar.gz - source = eve-transl5.11-ja.tar.gz - source = eve-transl5.11-ru.tar.gz - source = eve-transl5.11-zh.tar.gz + source = eve-transl5.12-de.tar.gz + source = eve-transl5.12-en.tar.gz + source = eve-transl5.12-fr.tar.gz + source = eve-transl5.12-ko.tar.gz + source = eve-transl5.12-ru.tar.gz + source = eve-transl5.12-zh.tar.gz source = https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run - source = https://binaries.eveonline.com/evelauncher-1548102.tar.gz - sha256sums = ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4 - sha256sums = b5febef1a55d27af357f88079c0c7a1799971bd570080d91034115230323ef68 - sha256sums = e0b2105d58713a71940ae4443f8e4526505fb7db18515897ebbf3e2fd3641992 - sha256sums = 80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21 - sha256sums = c3849fd2277cedaacbb68805b7667d3980d763e0f1cc80050628bb42b0e0d380 - sha256sums = a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b - sha256sums = cd840d3ad3a21517f30bb4979c97adaaccba2affdddaa5da2889f4fd2ba89578 - sha256sums = 546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd - sha256sums = c83beba543663b926d28d0eda98f1035cd73327da50f718a487763d300415a24 - sha256sums = f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec - sha256sums = 04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf - sha256sums = 25c84d6823badf7c04dd316857b144b614a917943baeb8dc769b27cd029071ff - sha256sums = 2520a9b19f2827fa2634ea2acae3a6f61e73aada1af0eb2029e95709f0c8927d - sha256sums = 498c21e2ab8ef8e789d5d99265678a2784e6d0ddbd407a520e107412fd8bfd0d - sha256sums = 11aa040bc38c34bb5ad516813a5879a18a81991f067c8e64a18971d2f4196aa6 + source = https://github.com/doitsujin/dxvk/releases/download/v1.9.2/dxvk-1.9.2.tar.gz + source = https://binaries.eveonline.com/evelauncher-1747682.tar.gz + sha256sums = 3faf7c07b571a80f05b46b44b832e1986bf45d2a84c2cba0fceda4d38a5a9259 + sha256sums = 29b6f2cda542c8f3f3845fb3e1ff3e9ac2a645d389c1618bdac5fa69947a2b4b + sha256sums = 77b8a8d1cde800956dadf8abf35287c34b3c844c40dfa8f89ed01ca2cde345fb + sha256sums = 008ea3e1c1b8faaf61f0ddf9a53599058c7a97ebe6e719803d002f0eb6042602 + sha256sums = 03e5eb09f931935cab02b3f30cfc9f9356f92558b3c1d691cbf60e1360a571c7 + sha256sums = ac6ead162ec27c3ab9481f1a7907dc906b1a1be121820a6aed2ad1d8312a72d6 + sha256sums = 94679e947e7ecaa5f2b1da96b53d92e74aa45c19aab1f6d2fc7d28d3fea3ac1d + sha256sums = c86790a014cb765577d269e98595c1e41f988fbb805a521e7a0083cf4b16b8ad + sha256sums = e485a1ab084a7c59bd97064e5d616f621e2e40a0e95008ce0891cc06e06792f4 + sha256sums = 68a0f72b795a062b118745ae29f377863111e893f6536cd1a6cc7e633f3a1b29 + sha256sums = 30b6440b842c19df64892cc560c274a7cc4f5de910a9f81e12dd0d76da561474 + sha256sums = ebdeaa2a143b8d247d94b4a57a45065c299253c074f5d741870a78dd384c29f0 + sha256sums = 261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8 + sha256sums = d5822f8c1234c3b9a4c83994ae84d4d234ca7083a7a7e193ef749117155d68f7 + sha256sums = d4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2 + sha256sums = 675da37e1a26862914fb7900c974892ecdd8946c53ff96d322c204f5e410d14a + sha256sums = 0029ffaccda6e48d1b601ef7fc5f7cb7ce01b4064885caf314e97cfcadad2973 + sha256sums = 7e68725e9bf9a659c2bff962e0964411192fc58dad35419105c6bb9ceebea704 + sha256sums = 01a5193925c7dd18bd7c8c66375ca6c5039dee1ac5721141958b7fe9d8d6dbec sha256sums = 69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3 sha256sums = 762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422 - sha256sums = 47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a - sha256sums = 1c3df28324c8498e34d2e789fd1f36577afa5a31bdbb278d752f7ef8c6ec5516 - sha256sums = bb63c2ea31d204f4d8eb270848674ad898ed45bbf0a9cea480611581f1149e4f - sha256sums = f78996a8b01463891e97270b8f9d9fa5a61ccf0710e1163aff0c0c49ce3849c3 - sha256sums = 7ae1c6324c4ad43ab3f18f5a3ceaa48b34ede5466b7a0b9351d018e8cef9bbd0 - sha256sums = 1936061a14432ab2632ea3ff15d45350b59ac822985445f597a4a5db44a35ae6 + sha256sums = 980d68abd6f4a662b69efd19145112e88f349044fa1ed5cb6d0a840a92cb42e4 + sha256sums = 777ad02015e07a6f7698b2c373997f5152954592acee85e3b189a4a7270326b1 + sha256sums = ab005b213aec42b21d2e5ef2dcbff4b0a97ee7f7a1df5dc6401afa95271000d1 + sha256sums = 03950f576befa34d95fe2839a752f15584a4001c3b02416bf22e9991f03b856b + sha256sums = 1a83a791b5a189823f71cdfb1e0c0e15139ff7f563bfb3eac70a5fa4ad9ebc22 + sha256sums = 5ffd6578dfbb9bf1647fbae819e3ddae0722c2613779c122d86963123470359f sha256sums = ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2 - sha256sums = 6d49defd626b0643dce83fcd258f3bf3ece8f8e6cefbea37b3b61c8ae0752d85 + sha256sums = 24bcee655767f4731b8d3883dd93ba4edc7f1e87421e15fab19499d57236b8e9 + sha256sums = 98ccf4b9932d7fb74896461f764c61921592a73089e3fcb4063fe7836c6a0bca pkgname = evesetup - @@ -1,28 +1,25 @@ -#Maintainer: Gharim Turen <gharim@turen.de> +#Maintainer: Jernuh Zakalwe <jzakalwe1st@gmail.com> pkgname=evesetup -pkgver=1548102 -pkgrel=0 +pkgver=1747682 +pkgrel=13 pkgdesc="An inofficial EVE Online Launcher Setup Tool." +changelog=$pkgname.changelog arch=(x86_64) -url="https://forums.eveonline.com/t/eve-installing/71494" -license=('custom') +url="https://forums.eveonline.com/t/299030" +license=('zlib') -depends=('icu' +depends=('lsof' 'openssl' 'openssl-1.0' - 'qt5-base' - 'qt5-declarative' + 'p7zip' 'qt5-translations' - 'qt5-location' - 'qt5-webchannel' 'qt5-webengine' 'qt5-websockets' - 'wine' - 'winetricks') + 'vulkan-icd-loader') -optdepends=('libnotify') +optdepends=('libnotify' 'wine' 'winetricks') -conflicts=('evelauncher' 'evesetup_dev') +conflicts=('evelauncher' 'evesetup_dev' 'evesetup-beta') source=("evelauncher.desktop" "evelauncher.sh" @@ -36,40 +33,54 @@ source=("evelauncher.desktop" "evewinetricks" "evebackup.desktop" "evebackup" - "qt.conf" + "everestore.desktop" + "evelauncher.kwinrule" + "evelauncher.lua" "build_installer.sh" + "build_lite_installer.sh" "setup.sh.in" + "setup_lite.sh.in" "eve-icons.tar.gz" "eve-icons_large.tar.gz" - "eve-transl5.11-de.tar.gz" - "eve-transl5.11-en.tar.gz" - "eve-transl5.11-fr.tar.gz" - "eve-transl5.11-ja.tar.gz" - "eve-transl5.11-ru.tar.gz" - "eve-transl5.11-zh.tar.gz" + "eve-transl5.12-de.tar.gz" + "eve-transl5.12-en.tar.gz" + "eve-transl5.12-fr.tar.gz" + "eve-transl5.12-ko.tar.gz" + "eve-transl5.12-ru.tar.gz" + "eve-transl5.12-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.9.2/dxvk-1.9.2.tar.gz" "https://binaries.eveonline.com/evelauncher-${pkgver}.tar.gz") -noextract=('eve-transl5.11-de.tar.gz' - 'eve-transl5.11-en.tar.gz' - 'eve-transl5.11-fr.tar.gz' - 'eve-transl5.11-ja.tar.gz' - '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') +noextract=('eve-transl5.12-de.tar.gz' + 'eve-transl5.12-en.tar.gz' + 'eve-transl5.12-fr.tar.gz' + 'eve-transl5.12-ko.tar.gz' + 'eve-transl5.12-ru.tar.gz' + 'eve-transl5.12-zh.tar.gz') package() { install -d "${pkgdir}/opt/${pkgname}/bin" + 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" - for cmd in evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do + sed -i s,ELVER=\"\",ELVER=\"${pkgver}\", "${srcdir}/evelauncher.sh" + sed -i 2\ s,[0-9].*\",${pkgver}\", "${srcdir}/evelauncher.lua" + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd if [ -f "${srcdir}/$cmd" ] ;then + sed -i s,SETUPDIR=\"\",SETUPDIR=\"/opt/${pkgname}\", "${srcdir}/$cmd" sed -i s,./evesetup.shlib,/opt/${pkgname}/lib/evesetup.shlib, "${srcdir}/$cmd" install "${srcdir}/$cmd" "${pkgdir}/opt/${pkgname}/bin" else - ln -s evewine "${pkgdir}/opt/${pkgname}/bin/$cmd" + if [ "$cmd" = "everestore" ] ;then + ln -s evebackup "${pkgdir}/opt/${pkgname}/bin/$cmd" + else + ln -s evewine "${pkgdir}/opt/${pkgname}/bin/$cmd" + fi fi ln -s "/opt/${pkgname}/bin/$cmd" "${pkgdir}/usr/bin/$cmd" if [ ! "$cmd" = "evewine" ] ;then @@ -78,17 +89,22 @@ package() { cp "${srcdir}/${cmd%.*}.desktop" "${pkgdir}/usr/share/applications/" fi done - sed -i s,ELVER=\"\",ELVER=\"${pkgver}\", "${pkgdir}/opt/${pkgname}/bin/evelauncher.sh" cp ${srcdir}/evesetup.shlib ${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.9.2/x32 ${pkgdir}/opt/${pkgname}/lib/dxvk/ + cp -r ${srcdir}/dxvk-1.9.2/x64 ${pkgdir}/opt/${pkgname}/lib/dxvk/ + echo "1.9.2" >${pkgdir}/opt/${pkgname}/lib/dxvk/version cp -r ${srcdir}/icons ${pkgdir}/usr/share/ rm -rf ${srcdir}/evelauncher/resources/ ${srcdir}/evelauncher/plugins/ - rm -f ${srcdir}/evelauncher/*Qt* ${srcdir}/evelauncher/libcrypto* - rm -f ${srcdir}/evelauncher/libicu* ${srcdir}/evelauncher/libssl* + rm -f ${srcdir}/evelauncher/*[Qq]t* ${srcdir}/evelauncher/libicu* + rm -f ${srcdir}/evelauncher/libcrypto* ${srcdir}/evelauncher/libssl* rm -f ${srcdir}/evelauncher/libpng* ${srcdir}/evelauncher/libxcb* + rm -f ${srcdir}/evelauncher/roots.pem cp -f ${srcdir}/evelauncher.sh.real ${srcdir}/evelauncher/evelauncher.sh chmod 0755 ${srcdir}/evelauncher/* - chmod 0644 ${srcdir}/evelauncher/*.qm ${srcdir}/evelauncher/errorpage/* - cp -pf ${srcdir}/qt.conf ${srcdir}/evelauncher + chmod 0644 ${srcdir}/evelauncher/*.qm + chmod 0644 ${srcdir}/evelauncher/errorpage/* ln -sf evelauncher.sh ${srcdir}/evelauncher/LogLite.sh ln -sf libgpr.so.6.0.0 ${srcdir}/evelauncher/libgpr.so ln -sf libgpr.so.6.0.0 ${srcdir}/evelauncher/libgpr.so.6 @@ -100,31 +116,36 @@ package() { ln -sf libprotobuf.so.16.0.0 ${srcdir}/evelauncher/libprotobuf.so ln -sf libprotobuf.so.16.0.0 ${srcdir}/evelauncher/libprotobuf.so.16 find ${srcdir}/evelauncher/ -type f -exec strip -s {} 2>/dev/null \; - tar cJf ${pkgdir}/opt/${pkgname}/lib/evelauncher-${pkgver}.tar.xz evelauncher/ + tar czf ${pkgdir}/opt/${pkgname}/lib/evelauncher-${pkgver}.tar.gz evelauncher/ } -sha256sums=('ce85defa2698ea72e88221d72424fb953f86836494ecc0e4006f41ec89682af4' - 'b5febef1a55d27af357f88079c0c7a1799971bd570080d91034115230323ef68' - 'e0b2105d58713a71940ae4443f8e4526505fb7db18515897ebbf3e2fd3641992' - '80fceef0e28c2291cd4ba3924410211edd188717be093ffc329d18697583bd21' - 'c3849fd2277cedaacbb68805b7667d3980d763e0f1cc80050628bb42b0e0d380' - 'a8e604e6481b9a386269b6252852ee57812fc932f44f767982c4dbac168bb03b' - 'cd840d3ad3a21517f30bb4979c97adaaccba2affdddaa5da2889f4fd2ba89578' - '546aaf5669dc3d3f1b2fff1b9a493d8ba31c19940a04fa4b9eb080e7301df4bd' - 'c83beba543663b926d28d0eda98f1035cd73327da50f718a487763d300415a24' - 'f438c7002eaf8e1186a838ac2e803242b7a2c98a22cf49622eb4a64cf4b202ec' - '04c102d6db1bb8d4159c41f32ec0aa95846c0fb519841a3c1428ab20c850e9cf' - '25c84d6823badf7c04dd316857b144b614a917943baeb8dc769b27cd029071ff' - '2520a9b19f2827fa2634ea2acae3a6f61e73aada1af0eb2029e95709f0c8927d' - '498c21e2ab8ef8e789d5d99265678a2784e6d0ddbd407a520e107412fd8bfd0d' - '11aa040bc38c34bb5ad516813a5879a18a81991f067c8e64a18971d2f4196aa6' +sha256sums=('3faf7c07b571a80f05b46b44b832e1986bf45d2a84c2cba0fceda4d38a5a9259' + '29b6f2cda542c8f3f3845fb3e1ff3e9ac2a645d389c1618bdac5fa69947a2b4b' + '77b8a8d1cde800956dadf8abf35287c34b3c844c40dfa8f89ed01ca2cde345fb' + '008ea3e1c1b8faaf61f0ddf9a53599058c7a97ebe6e719803d002f0eb6042602' + '03e5eb09f931935cab02b3f30cfc9f9356f92558b3c1d691cbf60e1360a571c7' + 'ac6ead162ec27c3ab9481f1a7907dc906b1a1be121820a6aed2ad1d8312a72d6' + '94679e947e7ecaa5f2b1da96b53d92e74aa45c19aab1f6d2fc7d28d3fea3ac1d' + 'c86790a014cb765577d269e98595c1e41f988fbb805a521e7a0083cf4b16b8ad' + 'e485a1ab084a7c59bd97064e5d616f621e2e40a0e95008ce0891cc06e06792f4' + '68a0f72b795a062b118745ae29f377863111e893f6536cd1a6cc7e633f3a1b29' + '30b6440b842c19df64892cc560c274a7cc4f5de910a9f81e12dd0d76da561474' + 'ebdeaa2a143b8d247d94b4a57a45065c299253c074f5d741870a78dd384c29f0' + '261da84107168979d241c60cd7adbfee0f6675464675faaefd5f6140009d54d8' + 'd5822f8c1234c3b9a4c83994ae84d4d234ca7083a7a7e193ef749117155d68f7' + 'd4610df883778f91e0ea5feba84720dfe814af0b9960677e3861809d70de24b2' + '675da37e1a26862914fb7900c974892ecdd8946c53ff96d322c204f5e410d14a' + '0029ffaccda6e48d1b601ef7fc5f7cb7ce01b4064885caf314e97cfcadad2973' + '7e68725e9bf9a659c2bff962e0964411192fc58dad35419105c6bb9ceebea704' + '01a5193925c7dd18bd7c8c66375ca6c5039dee1ac5721141958b7fe9d8d6dbec' '69b98d923c08c6fb035c0c6905ec5e9c73273b694f8f3497777d44597dbe63e3' '762db1df07dfcf526fe634b4b589a08e8affefb2f79f02cff2624c70e0820422' - '47accd49b64d624c6a6dee42952f8627aaabdd315fad85ef037507745d393f1a' - '1c3df28324c8498e34d2e789fd1f36577afa5a31bdbb278d752f7ef8c6ec5516' - 'bb63c2ea31d204f4d8eb270848674ad898ed45bbf0a9cea480611581f1149e4f' - 'f78996a8b01463891e97270b8f9d9fa5a61ccf0710e1163aff0c0c49ce3849c3' - '7ae1c6324c4ad43ab3f18f5a3ceaa48b34ede5466b7a0b9351d018e8cef9bbd0' - '1936061a14432ab2632ea3ff15d45350b59ac822985445f597a4a5db44a35ae6' + '980d68abd6f4a662b69efd19145112e88f349044fa1ed5cb6d0a840a92cb42e4' + '777ad02015e07a6f7698b2c373997f5152954592acee85e3b189a4a7270326b1' + 'ab005b213aec42b21d2e5ef2dcbff4b0a97ee7f7a1df5dc6401afa95271000d1' + '03950f576befa34d95fe2839a752f15584a4001c3b02416bf22e9991f03b856b' + '1a83a791b5a189823f71cdfb1e0c0e15139ff7f563bfb3eac70a5fa4ad9ebc22' + '5ffd6578dfbb9bf1647fbae819e3ddae0722c2613779c122d86963123470359f' 'ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2' - '6d49defd626b0643dce83fcd258f3bf3ece8f8e6cefbea37b3b61c8ae0752d85') + '24bcee655767f4731b8d3883dd93ba4edc7f1e87421e15fab19499d57236b8e9' + '98ccf4b9932d7fb74896461f764c61921592a73089e3fcb4063fe7836c6a0bca') diff --git a/build_installer.sh b/build_installer.sh index 9663c145308b..acad9f92bfa3 100755 --- a/build_installer.sh +++ b/build_installer.sh @@ -1,56 +1,57 @@ #!/bin/sh -# Buildscript for creating the distribution independed installer. -# Works only in this directory because some dependencies are here located. - set -e +printf "\n\n Build installer for EVE Online Setup\n\n" + version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1 release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1 arch=$(uname -m) -elcsum="" -mscsum="ca66a6113ce98152b85c8d847949f8c90ab9ba798e106bfc225d4ed3c2e2e3e2" -rcsum="" +csum() { + sha=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1) + src=$(grep -n ^source PKGBUILD | cut -d: -f1) + sln=$(grep -n $1\" PKGBUILD | cut -d: -f1) + ofs=$(expr $sln - $src) + cln=$(expr $sha + $ofs) + printf $(tail -n+$cln PKGBUILD | head -n1 | tr -cd '[:alnum:]') +} -pshal=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1) -psrcl=$(grep -n ^source PKGBUILD | cut -d: -f1) -pelsl=$(grep -n evelauncher-\${pkgver}.tar.gz\" PKGBUILD | cut -d: -f1) -pofsl=$(expr $pelsl - $psrcl) -pelcs=$(expr $pshal + $pofsl) +dvver=$(grep doitsujin PKGBUILD | sed 's,.*-,,;s,.tar.*,,' ) +msver=$(grep makeself PKGBUILD | sed 's,.*-,,;s,.run.*,,' ) -plc=1 -while read pline ;do - if [ $plc -eq $pelcs ] ;then - elcsum=${pline#*\'} - elcsum=${elcsum%%\'*} - fi - plc=$(expr $plc + 1) -done < PKGBUILD +dvcsum=$(csum dxvk-$dvver.tar.gz) +elcsum=$(csum evelauncher-\${pkgver}.tar.gz) +mscsum=$(csum makeself-$msver.run) -if [ ! -f "./makeself-2.4.0.run" ] ;then - if [ ! -x "$(which curl)" ] ;then - echo "Curl not found. Curl are needed for downloading makeself build tool." - echo " Please install curl with your Package Manager." - printf "\nExiting.\n\n" - exit 0 - fi - printf "\nGet makeself...\n\n" - curl -L -O https://github.com/megastep/makeself/releases/download/release-2.4.0/makeself-2.4.0.run +dltool=$(which curl 2>/dev/null || which wget 2>/dev/null || true) + +case ${dltool##*/} in + curl) dltool="$dltool -L -O" ;; + wget) dltool="$dltool -nc" ;; + *) printf "\nError: curl or wget not found. One of them are needed for downloading makeself build tool." + printf "\n Please install curl or wget with your Package Manager.\n" + printf "\nLeaving.\n\n" + exit 0 ;; +esac + +if [ ! -f "./makeself-$msver.run" ] ;then + printf "\nGet makeself...\n\n" + $dltool https://github.com/megastep/makeself/releases/download/release-$msver/makeself-$msver.run fi -rcsum="$(sha256sum ./makeself-2.4.0.run | cut -d' ' -f1)" +rcsum="$(sha256sum ./makeself-$msver.run | cut -d' ' -f1)" if [ "$rcsum" != "$mscsum" ] ;then - printf "\n\nError: Checksum from makeself-2.4.0.run doesn't match!" - printf "\nExiting.\n\n" - exit 0 + printf "\n\nError: Checksum makeself-$msver.run mismatch!" + printf "\nLeaving.\n\n" + exit 0 fi printf "\nCreate clean build environment..." if [ -d src/ ] ;then rm -rf src/* ;else mkdir src/ ;fi -chmod a+x ./makeself-2.4.0.run -./makeself-2.4.0.run --tar x ./makeself.sh ./makeself-header.sh 2>/dev/null -chmod a-x ./makeself-2.4.0.run +chmod a+x ./makeself-$msver.run +./makeself-$msver.run --tar x ./makeself.sh ./makeself-header.sh 2>/dev/null +chmod a-x ./makeself-$msver.run mv ./makeself.sh ./makeself-header.sh src/ cd src/ @@ -59,34 +60,53 @@ echo "done." printf "\nCopy needed files from AUR source..." for eia in ../eve-icons*.tar.gz ;do tar xf $eia -C evesetup/ ;done -for eta in ../eve-transl5.11-??.tar.gz ;do cp $eta evesetup/ ;done -for cmd in evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do - if [ -f ../$cmd ] ;then cp ../$cmd evesetup/ ;fi - if [ ! "$cmd" = "evewine" ] ;then cp ../${cmd%.*}.desktop evesetup/ ;fi +for eta in ../eve-transl5.12-??.tar.gz ;do cp $eta evesetup/ ;done +for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + if [ -f ../$cmd ] ;then cp ../$cmd evesetup/ ;fi + if [ ! "$cmd" = "evewine" ] ;then cp ../${cmd%.*}.desktop evesetup/ ;fi done -cp ../evesetup.shlib evesetup/evesetup.shlib +cp ../evesetup.shlib evesetup/ +cp ../evelauncher.kwinrule evesetup/ +cp ../evelauncher.lua evesetup/ cp ../evelauncher.sh.in evesetup/evelauncher.sh +cp ../evelauncher.sh.real evesetup/ 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,dvver=\"\",dvver=\"$dvver\", evesetup/setup.sh +sed -i s,dvcsum=\"\",dvcsum=\"$dvcsum\", evesetup/setup.sh chmod a+x evesetup/setup.sh echo "done." if [ -f "../evelauncher-$version.tar.gz" ] ;then - printf "\nFound EVE Launcher archive..." - rcsum="$(sha256sum ../evelauncher-$version.tar.gz | cut -d' ' -f1)" - if [ "$rcsum" = "$elcsum" ] ;then - cp ../evelauncher-$version.tar.gz evesetup/ && \ - echo "added." - else - echo "skipped, checksum mismatch." - fi + printf "\nFound EVE Launcher archive..." + rcsum="$(sha256sum ../evelauncher-$version.tar.gz | cut -d' ' -f1)" + if [ "$rcsum" = "$elcsum" ] ;then + cp ../evelauncher-$version.tar.gz evesetup/ && \ + echo "added." + else + echo "skipped, checksum mismatch." + fi +else + printf "\nEVE Launcher archive not found, will be downloaded during the setup process.\n" fi - -printf "\nBuild self-extractable archive evesetup-$version-$release-$arch.run\n\n" +if [ -f "../dxvk-$dvver.tar.gz" ] ;then + printf "\nFound DXVK archive..." + rcsum="$(sha256sum ../dxvk-$dvver.tar.gz | cut -d' ' -f1)" + if [ "$rcsum" = "$dvcsum" ] ;then + cp ../dxvk-$dvver.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 "\nCreate 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 + "EVE Online Launcher Setup $version-$release" ./setup.sh cd .. printf "\nClean up build environment..." rm -rf src/ diff --git a/build_lite_installer.sh b/build_lite_installer.sh new file mode 100755 index 000000000000..c2098a91b6f6 --- /dev/null +++ b/build_lite_installer.sh @@ -0,0 +1,142 @@ +#!/bin/sh + +set -e + +printf "\n\n Build installer for EVE Online Setup (Lite Version)\n\n" + +version=$(grep ^pkgver PKGBUILD | cut -d= -f2) || exit 1 +release=$(grep ^pkgrel PKGBUILD | cut -d= -f2) || exit 1 +arch=$(uname -m) + +csum() { + sha=$(grep -n ^sha256sum PKGBUILD | cut -d: -f1) + src=$(grep -n ^source PKGBUILD | cut -d: -f1) + sln=$(grep -n $1\" PKGBUILD | cut -d: -f1) + ofs=$(expr $sln - $src) + cln=$(expr $sha + $ofs) + printf $(tail -n+$cln PKGBUILD | head -n1 | tr -cd '[:alnum:]') +} + +dvver=$(grep doitsujin PKGBUILD | sed 's,.*-,,;s,.tar.*,,' ) +msver=$(grep makeself PKGBUILD | sed 's,.*-,,;s,.run.*,,' ) + +dvcsum=$(csum dxvk-$dvver.tar.gz) +elcsum=$(csum evelauncher-\${pkgver}.tar.gz) +mscsum=$(csum makeself-$msver.run) + +dltool=$(which curl 2>/dev/null || which wget 2>/dev/null || true) + +case ${dltool##*/} in + curl) dltool="$dltool -L -O" ;; + wget) dltool="$dltool -nc" ;; + *) printf "\nError: curl or wget not found. One of them are needed for downloading makeself build tool." + printf "\n Please install curl or wget with your Package Manager.\n" + printf "\nLeaving.\n\n" + exit 0 ;; +esac + +if [ ! -f "./makeself-$msver.run" ] ;then + printf "\nGet makeself...\n\n" + $dltool https://github.com/megastep/makeself/releases/download/release-$msver/makeself-$msver.run +fi +rcsum="$(sha256sum ./makeself-$msver.run | cut -d' ' -f1)" +if [ "$rcsum" != "$mscsum" ] ;then + printf "\n\nError: Checksum makeself-$msver.run mismatch!" + printf "\nLeaving.\n\n" + exit 0 +fi + +if [ ! -r "./evelauncher-$version.tar.gz" ] ;then + printf "\nGet evelauncher-$version.tar.gz...\n\n" + $dltool https://binaries.eveonline.com/evelauncher-$version.tar.gz +fi +rcsum="$(sha256sum ./evelauncher-$version.tar.gz| cut -d' ' -f1)" +if [ "$rcsum" != "$elcsum" ] ;then + printf "\n\nError: Checksum evelauncher-$version.tar.gz mismatch!" + printf "\nLeaving.\n\n" + exit 0 +fi + +if [ ! -r "./dxvk-$dvver.tar.gz" ] ;then + printf "\nGet dxvk-$dvver.tar.gz...\n\n" + $dltool https://github.com/doitsujin/dxvk/releases/download/v$dvver/dxvk-$dvver.tar.gz +fi +rcsum="$(sha256sum ./dxvk-$dvver.tar.gz| cut -d' ' -f1)" +if [ "$rcsum" != "$dvcsum" ] ;then + printf "\n\nWarning: Checksum dxvk-$dvver.tar.gz mismatch, ignored.\n" + rm -f ./dxvk-$dvver.tar.gz +fi + +printf "\nCreate clean build environment..." +if [ -d src/ ] ;then rm -rf src/* ;else mkdir src/ ;fi + +chmod a+x ./makeself-$msver.run +./makeself-$msver.run --tar x ./makeself.sh ./makeself-header.sh 2>/dev/null +chmod a-x ./makeself-$msver.run +mv ./makeself.sh ./makeself-header.sh src/ + +cd src/ +mkdir evesetup/ +echo "done." + +printf "\nCopy needed files from AUR source..." +for eia in ../eve-icons*.tar.gz ;do tar xf $eia -C evesetup/ ;done +for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + if [ -f ../$cmd ] ;then cp ../$cmd evesetup/ ;fi + if [ ! "$cmd" = "evewine" ] ;then cp ../${cmd%.*}.desktop evesetup/ ;fi +done +cp ../evesetup.shlib evesetup/ +cp ../evelauncher.kwinrule evesetup/ +cp ../evelauncher.lua evesetup/ +cp ../evelauncher.sh evesetup/ +sed -i s,ELVER=\"\",ELVER=\"$version\", evesetup/evelauncher.sh +cp ../setup_lite.sh.in evesetup/setup.sh +sed -i s,elver=\"\",elver=\"$version\", evesetup/setup.sh +sed -i s,dvver=\"\",dvver=\"$dvver\", evesetup/setup.sh +chmod a+x evesetup/setup.sh +cp ../dxvk-$dvver.tar.gz evesetup/ 2>/dev/null || true +echo "done." + +printf "\nExtract evelauncher-$version.tar.gz..." +tar xf ../evelauncher-$version.tar.gz +echo "done." + +printf "\nClean up evelauncher directory..." +cd evelauncher/ +rm -rf ./resources/ ./plugins/ +rm -f ./*.a ./*.la ./*.pem ./*.prl ./*[Qq]t* ./libicu* ./libpng* ./libxcb* +cp -f ../../evelauncher.sh.real ./evelauncher.sh +chmod 0755 ./* +chmod 0644 ./*.qm ./errorpage/* +echo "done." + +printf "\nReplace identical files with symbolic links..." +ln -sf evelauncher.sh LogLite.sh +ln -sf libgpr.so.6.0.0 libgpr.so +ln -sf libgpr.so.6.0.0 libgpr.so.6 +ln -sf libgrpc++.so.1.12.0 libgrpc++.so +ln -sf libgrpc++.so.1.12.0 libgrpc++.so.1 +ln -sf libgrpc++.so.1.12.0 libgrpc++.so.6 +ln -sf libgrpc.so.6.0.0 libgrpc.so +ln -sf libgrpc.so.6.0.0 libgrpc.so.6 +ln -sf libprotobuf.so.16.0.0 libprotobuf.so +ln -sf libprotobuf.so.16.0.0 libprotobuf.so.16 +echo "done." + +printf "\nRemove unneeded symbols from files..." +find ./ -maxdepth 1 -type f -exec strip -s {} 2>/dev/null \; +echo "done." + +printf "\nRepack evelauncher-$version.tar.gz..." +cd ../ +tar czf evesetup/evelauncher-$version.tar.gz evelauncher/ +echo "done." + +printf "\nBuild self-extractable archive evesetup-lite-${version}-$release-$arch.run\n\n" +./makeself.sh --tar-quietly evesetup/ ../evesetup-lite-${version}-$release-$arch.run \ + "EVE Online Launcher Setup (Lite) ${version}-$release" ./setup.sh +cd .. +printf "\nClean up build environment..." +rm -rf src/ +echo "done." diff --git a/eve-transl5.11-de.tar.gz b/eve-transl5.11-de.tar.gz Binary files differdeleted file mode 100644 index 6f4bce12ba23..000000000000 --- a/eve-transl5.11-de.tar.gz +++ /dev/null diff --git a/eve-transl5.11-en.tar.gz b/eve-transl5.11-en.tar.gz Binary files differdeleted file mode 100644 index cde9afd2cccd..000000000000 --- a/eve-transl5.11-en.tar.gz +++ /dev/null diff --git a/eve-transl5.11-fr.tar.gz b/eve-transl5.11-fr.tar.gz Binary files differdeleted file mode 100644 index dcded1bc6d18..000000000000 --- a/eve-transl5.11-fr.tar.gz +++ /dev/null diff --git a/eve-transl5.11-ja.tar.gz b/eve-transl5.11-ja.tar.gz Binary files differdeleted file mode 100644 index 82f1f190c75a..000000000000 --- a/eve-transl5.11-ja.tar.gz +++ /dev/null diff --git a/eve-transl5.11-ru.tar.gz b/eve-transl5.11-ru.tar.gz Binary files differdeleted file mode 100644 index a7a9b6879c3e..000000000000 --- a/eve-transl5.11-ru.tar.gz +++ /dev/null diff --git a/eve-transl5.11-zh.tar.gz b/eve-transl5.11-zh.tar.gz Binary files differdeleted file mode 100644 index 221e18c336f5..000000000000 --- a/eve-transl5.11-zh.tar.gz +++ /dev/null diff --git a/eve-transl5.12-de.tar.gz b/eve-transl5.12-de.tar.gz Binary files differnew file mode 100644 index 000000000000..88023051730c --- /dev/null +++ b/eve-transl5.12-de.tar.gz diff --git a/eve-transl5.12-en.tar.gz b/eve-transl5.12-en.tar.gz Binary files differnew file mode 100644 index 000000000000..e5e0e2851bc5 --- /dev/null +++ b/eve-transl5.12-en.tar.gz diff --git a/eve-transl5.12-fr.tar.gz b/eve-transl5.12-fr.tar.gz Binary files differnew file mode 100644 index 000000000000..83b519862d20 --- /dev/null +++ b/eve-transl5.12-fr.tar.gz diff --git a/eve-transl5.12-ko.tar.gz b/eve-transl5.12-ko.tar.gz Binary files differnew file mode 100644 index 000000000000..fd481ad9d83c --- /dev/null +++ b/eve-transl5.12-ko.tar.gz diff --git a/eve-transl5.12-ru.tar.gz b/eve-transl5.12-ru.tar.gz Binary files differnew file mode 100644 index 000000000000..126a24ea9584 --- /dev/null +++ b/eve-transl5.12-ru.tar.gz diff --git a/eve-transl5.12-zh.tar.gz b/eve-transl5.12-zh.tar.gz Binary files differnew file mode 100644 index 000000000000..c9a92009b841 --- /dev/null +++ b/eve-transl5.12-zh.tar.gz diff --git a/evebackup b/evebackup index 71bd4ed6f001..78b17e7ba859 100644 --- a/evebackup +++ b/evebackup @@ -2,17 +2,58 @@ set -e -# WIP use at own risk - . ./evesetup.shlib +backup_settings() { +for SERVER in tranquility singularity duality thunderdome ;do + CLPROFILE="$(ls -d *_$SERVER 2>/dev/null || true)" + [ "x$CLPROFILE" = "x" ] && continue + if [ -f "$BACKUPDIR/$SERVER-settings_current.7z" ] ;then + mv "$BACKUPDIR/$SERVER-settings_current.7z" "$BACKUPDIR/$SERVER-settings.7z" + SERVERLIST="$SERVERLIST $SERVER" + MSGSTR="Settings for$SERVERLIST in $BACKUPDIR stored." + else + MSGSTR="Preparing backup for $SERVER, please run $CMDSTR again." + desktop_msg "$MSGSTR" + fi + cd "$CLPROFILE" + 7z u -t7z -xr!Browser "$BACKUPDIR/$SERVER-settings.7z" \ + -u- -u!"$BACKUPDIR/$SERVER-settings_current.7z" "settings_*" >/dev/null + cd .. +done +} + +restore_settings() { +for SERVER in thunderdome duality singularity tranquility ;do + if [ ! -f "$BACKUPDIR/$SERVER-settings.7z" ] ;then + MSGSTR="No settings in $BACKUPDIR found." + continue 2 + fi + case $SERVER in + tranquility) SERVER_SHORT=tq ;; + singularity) SERVER_SHORT=sisi ;; + *) SERVER_SHORT=$SERVER ;; + esac + [ -d c_"$SERVER_SHORT"_"$SERVER" ] || mkdir c_"$SERVER_SHORT"_"$SERVER" + 7z x "$BACKUPDIR/$SERVER-settings.7z" -oc_"$SERVER_SHORT"_"$SERVER" -y >/dev/null + SERVERLIST="$SERVERLIST $SERVER" + MSGSTR="Settings for$SERVERLIST from $BACKUPDIR restored." +done +} + SHAREDIR=$(getval SharedCacheFolder) -BCKUPDIR=$(xdg-user-dir DOCUMENTS 2>/dev/null || true)/EVE -[ -d "$BCKUPDIR" ] || BCKUPDIR=$HOME +SETTINGSDIR="${SHAREDIR}wineenv/drive_c/users/$(whoami)/Local Settings/Application Data/CCP/EVE" +BACKUPDIR=$(xdg-user-dir DOCUMENTS)/EVE +CMDSTR=$(basename $0) + +[ -d "$SETTINGSDIR" ] || mkdir -p "$SETTINGSDIR" -USERCONF=wineenv/drive_c/users/$(whoami)/Local\ Settings/Application\ Data/CCP/EVE +cd "$SETTINGSDIR" -cd $SHAREDIR -tar czf $BCKUPDIR/eve_userconf_$(date +%F).tar.gz --exclude=cache --exclude=Browser "$USERCONF" +case $CMDSTR in + evebackup) backup_settings ;; + everestore) restore_settings ;; + *) exit 1 ;; +esac -desktop_msg "User configuration in $BCKUPDIR stored." +desktop_msg "$MSGSTR" diff --git a/evebackup.desktop b/evebackup.desktop index 3ee5f20e348a..d4d48758d4de 100644 --- a/evebackup.desktop +++ b/evebackup.desktop @@ -6,6 +6,6 @@ Icon=archivemanager Comment=Backup user settings Exec=evebackup NoDisplay=false -Categories=Utility;Wine; +Categories=Utility; StartupNotify=false Terminal=false diff --git a/evelauncher.desktop b/evelauncher.desktop index 86ed89a3f74c..c12f7e747043 100644 --- a/evelauncher.desktop +++ b/evelauncher.desktop @@ -6,7 +6,7 @@ Icon=evelauncher Comment=Discover New Eden Exec=evelauncher.sh NoDisplay=false -Categories=Game; +Categories=Game;Wine; StartupNotify=true Terminal=false StartupWMClass=evelauncher diff --git a/evelauncher.kwinrule b/evelauncher.kwinrule new file mode 100644 index 000000000000..6d90f541ee30 --- /dev/null +++ b/evelauncher.kwinrule @@ -0,0 +1,16 @@ +[Rules for EVE Launcher] +Description=Rules for EVE Launcher +ignoregeometry=true +ignoregeometryrule=3 +noborder=true +noborderrule=3 +placement=6 +placementrule=2 +size=1280,720 +sizerule=3 +title=EVE Launcher - version +titlematch=2 +types=1 +wmclass=evelauncher eve +wmclasscomplete=true +wmclassmatch=1 diff --git a/evelauncher.lua b/evelauncher.lua new file mode 100644 index 000000000000..b79b5f87bbaa --- /dev/null +++ b/evelauncher.lua @@ -0,0 +1,6 @@ +-- Devilspie2 Rules for EVE Launcher +if (get_window_name() == "EVE Launcher - version 1548102") then + undecorate_window(); + set_window_size(1280,720); + center(); +end diff --git a/evelauncher.sh b/evelauncher.sh index fd3bf7cb0bfe..d9407b2816f7 100644 --- a/evelauncher.sh +++ b/evelauncher.sh @@ -3,16 +3,19 @@ set -e ELVER="" -QTVER="5.11" EVEDIR="$HOME/.local/lib/EVE" +SETUPDIR="" LAUNCHER="$EVEDIR/Launcher" WINEPATH="/usr/bin" . ./evesetup.shlib check_env +check_elv check_wine check_steam +export DXVK_LOG_LEVEL=${DXVK_LOG_LEVEL:-error} + cd $EVEDIR exec $LAUNCHER/evelauncher.sh diff --git a/evelauncher.sh.in b/evelauncher.sh.in index 07025430cce8..fe9d90fb563b 100644 --- a/evelauncher.sh.in +++ b/evelauncher.sh.in @@ -3,24 +3,28 @@ set -e ELVER="" -QTVER="5.11" +QTVER="5.12" EVEDIR="$HOME/.local/lib/EVE" +SETUPDIR="" LAUNCHER="$EVEDIR/Launcher" WINEPATH="/usr/bin" . ./evesetup.shlib check_env +check_elv check_wine check_steam if [ ! -r "$LAUNCHER/translations/qt_en.qm" ] ;then - if [ -r "$LAUNCHER/libQt5Core.so.$QTVER.0" ] ;then - for eta in ./eve-transl${QTVER}-??.tar.gz ;do - tar xf $eta -C $LAUNCHER - done - fi + if [ -r "$LAUNCHER/libQt5Core.so.$QTVER.0" ] ;then + for eta in ./eve-transl${QTVER}-??.tar.gz ;do + tar xf $eta -C $LAUNCHER + done + fi fi +export DXVK_LOG_LEVEL=${DXVK_LOG_LEVEL:-error} + cd $EVEDIR exec $LAUNCHER/evelauncher.sh diff --git a/evelauncher.sh.real b/evelauncher.sh.real index 480748c25f56..b303c2713d1c 100644 --- a/evelauncher.sh.real +++ b/evelauncher.sh.real @@ -12,4 +12,12 @@ fi LD_LIBRARY_PATH="$dirname:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH -"$dirname/$appname" "$@" +"$dirname/$appname" "$@" & + +if [ -x "$(which lsof)" ] ;then +sleep 10 +until [ "$(lsof -t -u $(whoami) -a -c /evelauncher$/ -- \ + $HOME/.local/share/CCP/EVE/QtWebEngine/Default/IndexedDB/https_launcher.eveonline.com_0.indexeddb.leveldb/LOCK)" = "" ] +do sleep 10 ;done +/usr/bin/kill -s TERM evelauncher +fi diff --git a/everegedit.desktop b/everegedit.desktop index e6131f6316d2..7932b70d7c3b 100644 --- a/everegedit.desktop +++ b/everegedit.desktop @@ -6,6 +6,6 @@ Icon=everegedit Comment=Wine Registry Editor for EVE Exec=everegedit NoDisplay=false -Categories=Utility;Wine; +Categories=Wine; StartupNotify=false Terminal=false diff --git a/everestore.desktop b/everestore.desktop new file mode 100644 index 000000000000..817aa1767dae --- /dev/null +++ b/everestore.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=EVE Restore +Icon=archivemanager +Comment=Restore user settings +Exec=everestore +NoDisplay=false +Categories=Utility; +StartupNotify=false +Terminal=false diff --git a/evesetup.changelog b/evesetup.changelog new file mode 100644 index 000000000000..df6bb06828a6 --- /dev/null +++ b/evesetup.changelog @@ -0,0 +1 @@ +Update DXVK to version 1.9.2 diff --git a/evesetup.shlib b/evesetup.shlib index c2fbfae0a7cf..7dc0e63ed607 100644 --- a/evesetup.shlib +++ b/evesetup.shlib @@ -1,108 +1,128 @@ #!/bin/sh -# evelauncher fixed values - CONFDIR="$HOME/.config/CCP" EVECONF="$CONFDIR/EVE.conf" - -# default value if not set - SHAREDIR="$HOME/.eve" -# evesetup shared functions +check_elv() { + /usr/bin/kill -s TERM evelauncher 2>/dev/null || true + ELBIN=$(getdate $LAUNCHER/evelauncher) + ELARC=$(getdate $SETUPDIR/lib/evelauncher-$ELVER.tar.?z) + if [ "$ELBIN" -lt "$ELARC" ] ;then + if [ -d "$LAUNCHER" ] ;then + rm -rf $LAUNCHER + desktop_msg "Update EVE Launcher binaries" + fi + tar xmf $SETUPDIR/lib/evelauncher-$ELVER.tar.?z -C $EVEDIR + mv $EVEDIR/evelauncher $LAUNCHER + if [ -f "$HOME/.config/devilspie2/evelauncher.lua" ] ;then + sed -i 2\ s,[0-9].*\",$ELVER\", $HOME/.config/devilspie2/evelauncher.lua + fi + for ELCACHE in $HOME/.cache $HOME/.local/share ;do + if [ -d "$ELCACHE/CCP/EVE/QtWebEngine" ] ;then + rm -rf $ELCACHE/CCP/EVE/QtWebEngine + fi + done + fi +} check_env() { - if [ -d "$CONFDIR" ] ;then - if [ -r "$EVECONF" ] ;then - SHAREDIR=$(getval SharedCacheFolder) - fi - fi - [ ! -d "$SHAREDIR" ] && SHAREDIR="" - if [ "x$SHAREDIR" != "x$EVEDIR/SharedCache/" ] ;then - desktop_msg "Please wait, preparing environment in $EVEDIR" - mkdir -p $CONFDIR - echo "[General]" >$EVECONF - echo "SharedCacheFolder=$EVEDIR/SharedCache/" >>$EVECONF - echo "UseCustomWine=true" >>$EVECONF - echo "CustomWinePath=$WINEPATH/wine" >>$EVECONF - mkdir -p $EVEDIR/SharedCache - tar xf $SETUPDIR/lib/evelauncher-$ELVER.tar.?z -C $EVEDIR - mv $EVEDIR/evelauncher $LAUNCHER - if [ -d "$SHAREDIR/ResFiles/" ] ;then - mv $SHAREDIR/ResFiles/ $EVEDIR/SharedCache/ - mv $SHAREDIR/*.txt $EVEDIR/SharedCache/ - rm -rf $SHAREDIR + if [ -r "$EVECONF" ] ;then SHAREDIR=$(getval SharedCacheFolder) ;fi + if [ ! -d "$SHAREDIR" ] ;then SHAREDIR="" ;fi + if [ "x$SHAREDIR" != "x$EVEDIR/SharedCache/" ] ;then + desktop_msg "Preparing environment in $EVEDIR" + mkdir -p $CONFDIR + cat >$EVECONF <<EOF +[General] +SharedCacheFolder=$EVEDIR/SharedCache/ +UseCustomWine=true +CustomWinePath=$WINEPATH/wine +LauncherRunClientsWithDx9=false +LauncherShouldMinimizeToTray=false +EOF + mkdir -p $EVEDIR/SharedCache + if [ -d "$SHAREDIR/ResFiles/" ] ;then + mv $SHAREDIR/ResFiles/ $EVEDIR/SharedCache/ + mv $SHAREDIR/*.txt $EVEDIR/SharedCache/ + rm -rf $SHAREDIR + fi fi - fi } check_steam() { - if [ ! -r "$LAUNCHER/steam_appid.txt" -a -x "$(which steam 2>/dev/null)" ] ;then - echo "8500" >$LAUNCHER/steam_appid.txt - fi + if [ ! -r "$LAUNCHER/steam_appid.txt" -a -x "$(which steam 2>/dev/null)" ] ;then + echo "8500" >$LAUNCHER/steam_appid.txt + fi } check_wine() { - if [ ! -r "$EVECONF" ] ;then - desktop_msg "ERROR: EVE Configuration not found!" - exit 1 - fi - CUSTOMWP=$(getval CustomWinePath) - SHAREDIR=$(getval SharedCacheFolder) - UCW=$(getval UseCustomWine) - WINEPREFIX=${SHAREDIR}wineenv - if [ "x$UCW" = "xtrue" ] ;then - WINEPATH=${CUSTOMWP%/*} - [ -d "${SHAREDIR}wine" ] && rm -rf ${SHAREDIR}wine - else - CUSTOMWP=${SHAREDIR}wine - WINEPATH=${SHAREDIR}wine/bin - fi - if [ ! -x "$WINEPATH/wine" ] ;then - desktop_msg "ERROR: \"$CUSTOMWP\" not found!" - exit 1 - fi - INSTWINE=$(cat $WINEPREFIX/.update-timestamp 2>/dev/null | tr -dc [:digit:]) || true - WINEINFP=$(readlink -f $CUSTOMWP) - WINECONF=${WINEINFP%/bin*}/share/wine/wine.inf - WINEDATE=$(ls -l --time-style=+%s $WINECONF 2>/dev/null | cut -d' ' -f6) - if [ "x$WINEDATE" != "x$INSTWINE" ] ;then - desktop_msg "Preparing wine in $WINEPREFIX" - env WINEPREFIX=$WINEPREFIX \ - WINEDEBUG=-all \ - WINEDLLOVERRIDES="mscoree,mshtml=d" \ - $WINEPATH/wineboot - env WINEPREFIX=$WINEPREFIX \ - $WINEPATH/wine reg add \ - 'HKCU\Software\Wine\FileOpenAssociations' \ - /v Enable /d N /f >/dev/null - WINETRP=$(cat $WINEPREFIX/winetricks.log 2>/dev/null | uniq) - if [ "x$WINETRP" != "x" ] ;then - desktop_msg "Apply winetricks settings. This will take some time." - rm $WINEPREFIX/winetricks.log >/dev/null - env WINEPREFIX=$WINEPREFIX \ - WINE=$WINEPATH/wine \ - $(which winetricks) -q --force $WINETRP >/dev/null + CUSTOMWP=$(getval CustomWinePath) + SHAREDIR=$(getval SharedCacheFolder) + UCW=$(getval UseCustomWine) + DXVKLIBDIR=$SETUPDIR/lib/dxvk + DXVKFILELIST="d3d10core d3d11 d3d9 dxgi" + WINEPREFIX=${SHAREDIR}wineenv + WINSYSDIR=$WINEPREFIX/drive_c/windows/system32 + W32SYSDIR=${WINSYSDIR%/*}/syswow64 + if [ "$UCW" = "true" ] ;then + WINEPATH=${CUSTOMWP%/*} + if [ -d "${SHAREDIR}wine" ] ;then rm -rf ${SHAREDIR}wine ;fi + else + CUSTOMWP=${SHAREDIR}wine + WINEPATH=${SHAREDIR}wine/bin + fi + if [ -x "$WINEPATH/wine64" ] ;then + WINE=$WINEPATH/wine64 + else + WINE=$WINEPATH/wine + fi + if [ -x "$WINE" ] ;then + INSTWINE=$(tr -dc [:digit:] 2>/dev/null < $WINEPREFIX/.update-timestamp || printf 0) + WINEINFP=$(readlink -f $CUSTOMWP) + WINECONF=$(find ${WINEINFP%bin*}share/wine* -name 'wine.inf') + WINEDATE=$(getdate $WINECONF) + if [ "$WINEDATE" != "$INSTWINE" ] ;then + desktop_msg "Preparing wine environment for EVE" + for DXVKFILE in d3d10_1 d3d10core d3d10 d3d11 d3d9 dxgi ;do + rm $WINSYSDIR/$DXVKFILE.dll* || true + rm $W32SYSDIR/$DXVKFILE.dll* || true + sed -i /\"$DXVKFILE\"=\"/d $WINEPREFIX/user.reg || true + done + env WINEPREFIX=$WINEPREFIX WINEDEBUG=-all WINEDLLOVERRIDES="mscoree,mshtml=d" $WINE wineboot + env WINEPREFIX=$WINEPREFIX $WINE reg add 'HKCU\Software\Wine\FileOpenAssociations' /v Enable /d N /f >/dev/null + fi + if [ -d "$DXVKLIBDIR" ] ;then + DXVKARC=$(getdate $DXVKLIBDIR/x64/d3d10core.dll) + INSTDX=$(getdate $WINSYSDIR/d3d10core.dll) + if [ "$INSTDX" != "$DXVKARC" ] ;then + for DXVKFILE in $DXVKFILELIST ;do + cp --preserve=timestamps $DXVKLIBDIR/x64/$DXVKFILE.dll $WINSYSDIR/$DXVKFILE.dll + if [ -d "$W32SYSDIR" ] ;then + cp --preserve=timestamps $DXVKLIBDIR/x32/$DXVKFILE.dll $W32SYSDIR/$DXVKFILE.dll + fi + env WINEPREFIX=$WINEPREFIX $WINE reg add 'HKCU\Software\Wine\DllOverrides' /v $DXVKFILE /d native /f >/dev/null + done + fi + fi + if [ "$(grep -csw winemenubuilder $WINEPREFIX/system.reg)" != "0" ] ;then + env WINEPREFIX=$WINEPREFIX $WINE reg delete 'HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices' /v winemenubuilder /f >/dev/null + fi fi - fi - 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 || true } desktop_msg() { - if [ -x "$(which notify-send 2>/dev/null)" ] ;then - notify-send -i eve $(basename $0) "$@" - fi - printf "$(basename $0): $@\n" + if [ -x "$(which notify-send)" ] ;then notify-send -i eve $(basename $0) "$@" ;fi + printf "$(basename $0): $@\n" +} + +getdate() { + printf $(ls -l --time-style=+%s $1 | cut -d' ' -f6) || printf 0 } getval() { - printf $(grep "$1" $EVECONF | cut -d= -f2) + if [ ! -r "$EVECONF" ] ;then + desktop_msg "ERROR: EVE Configuration not found!" + exit 1 + fi + printf $(grep "$1" $EVECONF | cut -d= -f2) } @@ -1,15 +1,15 @@ #!/bin/sh +SETUPDIR="" + . ./evesetup.shlib check_wine -if [ -x "$WINEPATH/${0#*eve}" ] ;then - WINECMD=$WINEPATH/${0#*eve} +if [ -x "$WINEPATH/${0##*eve}" ] ;then + WINECMD=$WINEPATH/${0##*eve} else - WINECMD=$CUSTOMWP\ ${0#*eve} + WINECMD=$CUSTOMWP\ ${0##*eve} fi -env WINEPREFIX=$WINEPREFIX \ - WINEDEBUG=-all \ - $WINECMD "$@" +env WINEPREFIX=$WINEPREFIX WINEDEBUG=-all $WINECMD "$@" diff --git a/evewinecfg.desktop b/evewinecfg.desktop index 5b5e905e7f3b..7679d06bbe1f 100644 --- a/evewinecfg.desktop +++ b/evewinecfg.desktop @@ -6,6 +6,6 @@ Icon=evewinecfg Comment=Wine Configuration for EVE Exec=evewinecfg NoDisplay=false -Categories=Utility;Wine; +Categories=Wine; StartupNotify=false Terminal=false diff --git a/evewinetricks b/evewinetricks index 29c209e26ebf..5696cc311c4b 100644 --- a/evewinetricks +++ b/evewinetricks @@ -1,8 +1,16 @@ #!/bin/sh +SETUPDIR="" + . ./evesetup.shlib check_wine -env WINEPREFIX=$WINEPREFIX \ - WINE=$WINEPATH/wine $(which winetricks) "$@" +WINETRICKS=$(which winetricks 2>/dev/null) + +if [ "x$WINETRICKS" = "x" ] ;then + desktop_msg "winetricks not found!" + exit 1 +fi + +env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine $WINETRICKS "$@" diff --git a/evewinetricks.desktop b/evewinetricks.desktop index 42887292544b..230e70751d2d 100644 --- a/evewinetricks.desktop +++ b/evewinetricks.desktop @@ -6,6 +6,6 @@ Icon=winetricks Comment=Winetricks for EVE Exec=evewinetricks NoDisplay=false -Categories=Utility;Wine; +Categories=Wine; StartupNotify=false Terminal=false diff --git a/qt.conf b/qt.conf deleted file mode 100644 index 65a0caf94414..000000000000 --- a/qt.conf +++ /dev/null @@ -1,6 +0,0 @@ -[Paths] -Libraries=/usr/lib -LibraryExecutables=/usr/lib/qt/libexec -Plugins=/usr/lib/qt/plugins -Data=/usr/share/qt -Translations=/usr/share/qt/translations diff --git a/setup.sh.in b/setup.sh.in index 63c203f9b2d0..fa32e18b63c4 100644 --- a/setup.sh.in +++ b/setup.sh.in @@ -3,161 +3,203 @@ set -e bootstrap_install() { - install -dv "$destdir" - install -dv "$bindir" - install -dv "$libdir" - install -d "$prefix/bin/" - install -d "$prefix/share/applications/" - for eta in ./eve-transl${qtver}-??.tar.gz ;do - install -m 0644 "$eta" "$libdir" - done - install -m 0644 "./evesetup.shlib" "$libdir" - install -m 0644 "./evelauncher-${elver}.tar.gz" "$libdir" - sed -i s,./eve-transl,$libdir/eve-transl, ./evelauncher.sh - for cmd in evelauncher.sh evewine evewinetricks everegedit evewinecfg evebackup ;do - if [ -f "./$cmd" ] ;then - sed -i s,./evesetup.shlib,$libdir/evesetup.shlib, ./$cmd - install "./$cmd" "$bindir/" - else - ln -sf evewine "$bindir/$cmd" - fi - [ "$bindir" != "$prefix/bin" ] && ln -s "$bindir/$cmd" "$prefix/bin/$cmd" - if [ ! "$cmd" = "evewine" ] ;then - oexec=$(grep Exec= ./${cmd%.*}.desktop) - sed -i s,$oexec,Exec=$prefix/bin/$cmd, ./${cmd%.*}.desktop - install -m 0644 "./${cmd%.*}.desktop" "$prefix/share/applications/" + install -dv "$destdir" + install -dv "$bindir" + install -dv "$libdir" + install -dv "$docdir" + install -d "$prefix/bin/" + install -d "$prefix/share/applications/" + for eta in ./eve-transl${qtver}-??.tar.gz ;do + install -m 0644 "$eta" "$libdir" + done + if [ -f "./dxvk-$dvver.tar.gz" ] ;then + install -d "$libdir/dxvk/" + echo "$dvver" >"$libdir/dxvk/version" + chmod 0644 "$libdir/dxvk/version" + tar xf ./dxvk-$dvver.tar.gz -C $libdir/dxvk/ --no-same-owner \ + --strip-components=1 dxvk-$dvver/x32 dxvk-$dvver/x64 fi - done - for icons in $(find . -type f -name '*.png') ;do - install -D -m 0644 "$icons" "$prefix/share/${icons#*/}" - done - if [ -x $(which gtk-update-icon-cache) ] ;then - if [ -f "${prefix}/share/icons/hicolor/icon-theme.cache" ] ;then - gtk-update-icon-cache -t -f "${prefix}/share/icons/hicolor" 2>/dev/null - chmod 0644 "${prefix}/share/icons/hicolor/icon-theme.cache" + install -m 0644 "./evesetup.shlib" "$libdir" + install -m 0644 "./evelauncher-${elver}.tar.gz" "$libdir" + install -m 0644 "./evelauncher.kwinrule" "$docdir" + install -m 0644 "./evelauncher.lua" "$docdir" + sed -i s,./eve-transl,$libdir/eve-transl, ./evelauncher.sh + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + if [ -f "./$cmd" ] ;then + sed -i s,SETUPDIR=\"\",SETUPDIR=\"$destdir\", ./$cmd + sed -i s,./evesetup.shlib,$libdir/evesetup.shlib, ./$cmd + install "./$cmd" "$bindir/" + else + if [ "$cmd" = "everestore" ] ;then + ln -s evebackup "$bindir/$cmd" + else + ln -s evewine "$bindir/$cmd" + fi + fi + [ "$bindir" != "$prefix/bin" ] && ln -s "$bindir/$cmd" "$prefix/bin/$cmd" + if [ ! "$cmd" = "evewine" ] ;then + oexec=$(grep Exec= ./${cmd%.*}.desktop) + sed -i s,$oexec,Exec=$prefix/bin/$cmd, ./${cmd%.*}.desktop + install -m 0644 "./${cmd%.*}.desktop" "$prefix/share/applications/" + fi + done + for icons in $(find . -type f -name '*.png') ;do + install -D -m 0644 "$icons" "$prefix/share/${icons#*/}" + done + if [ -x $(which gtk-update-icon-cache) ] ;then + if [ -f "${prefix}/share/icons/hicolor/icon-theme.cache" ] ;then + gtk-update-icon-cache -t -f "${prefix}/share/icons/hicolor" 2>/dev/null + chmod 0644 "${prefix}/share/icons/hicolor/icon-theme.cache" + fi fi - fi } bootstrap_remove() { - for icons in $(find . -type f -name '*.png') ;do - rm -f "$prefix/share/${icons#*/}" - done - for cmd in evelauncher.sh everegedit evewine evewinecfg evewinetricks evebackup ;do - rm -fv "$prefix/bin/$cmd" - if [ ! "$cmd" = "evewine" ] ;then - rm -f "$prefix/share/applications/${cmd%.*}.desktop" - fi - done - rm -rfv "$destdir" + for icons in $(find . -type f -name '*.png') ;do + rm -f "$prefix/share/${icons#*/}" + done + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + rm -fv "$prefix/bin/$cmd" + if [ ! "$cmd" = "evewine" ] ;then + rm -f "$prefix/share/applications/${cmd%.*}.desktop" + fi + done + 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 "\nExiting.\n\n" - exit 0 + if [ ! -r "./evelauncher-$elver.tar.gz" ] ;then + printf "\nDownload evelauncher-$elver.tar.gz...\n\n" + $dltool https://binaries.eveonline.com/evelauncher-$elver.tar.gz fi - printf "\nDownloading 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 "\nExiting.\n\n" - exit 0 - fi - printf "\nExtract evelauncher-$elver.tar.gz..." - tar xf evelauncher-$elver.tar.gz - echo "done." - printf "\nClean up evelauncher directory..." - cd evelauncher/ - rm -f ./*.a ./*.la ./*.prl - chmod 0755 ./* - chmod 0644 ./*.qm ./*.conf - echo "done." - printf "\nReplace identical files with symbolic links..." - ln -sf evelauncher.sh LogLite.sh - libb=/dev/zero - for lib in $(find ./ -maxdepth 1 -type f -name 'lib*' -printf '%s-%f\n'|sort -r) - do - liba=${lib#*-} - if [ "$(cmp -s $liba $libb; echo $?)" = "0" ] ;then - ln -sf $libb $liba - else - libb=$liba + rcsum="$(sha256sum ./evelauncher-$elver.tar.gz| cut -d' ' -f1)" + if [ "$rcsum" != "$elcsum" ] ;then + printf "\n\nError: Checksum evelauncher-$elver.tar.gz mismatch!" + printf "\nLeaving.\n\n" + exit 0 + fi + printf "\nExtract evelauncher-$elver.tar.gz..." + tar xf evelauncher-$elver.tar.gz + echo "done." + printf "\nClean up evelauncher directory..." + cd evelauncher/ + rm -f ./*.a ./*.la ./*.pem ./*.prl ./libxcb* + cp -f ../evelauncher.sh.real ./evelauncher.sh + chmod 0755 ./* + chmod 0644 ./*.qm ./*.conf ./errorpage/* + echo "done." + printf "\nReplace identical files with symbolic links..." + ln -sf evelauncher.sh LogLite.sh + ln -sf libicudata.so.55.1 libicudata.so + ln -sf libicudata.so.55.1 libicudata.so.55 + ln -sf libicui18n.so.55.1 libicui18n.so + ln -sf libicui18n.so.55.1 libicui18n.so.55 + ln -sf libicuuc.so.55.1 libicuuc.so + ln -sf libicuuc.so.55.1 libicuuc.so.55 + ln -sf libgpr.so.6.0.0 libgpr.so + ln -sf libgpr.so.6.0.0 libgpr.so.6 + ln -sf libgrpc++.so.1.12.0 libgrpc++.so + ln -sf libgrpc++.so.1.12.0 libgrpc++.so.1 + ln -sf libgrpc++.so.1.12.0 libgrpc++.so.6 + ln -sf libgrpc.so.6.0.0 libgrpc.so + ln -sf libgrpc.so.6.0.0 libgrpc.so.6 + ln -sf libpng12.so.0.54.0 libpng12.so.0 + ln -sf libprotobuf.so.16.0.0 libprotobuf.so + ln -sf libprotobuf.so.16.0.0 libprotobuf.so.16 + echo "done." + printf "\nRemove unneeded symbols from files..." + find ./ -maxdepth 1 -type f -exec strip -s {} 2>/dev/null \; + echo "done." + printf "\nRepack evelauncher-$elver.tar.gz..." + cd ../ + rm evelauncher-$elver.tar.gz + tar czf evelauncher-$elver.tar.gz evelauncher/ + rm -rf evelauncher/ + printf "done.\n\n" +} + +get_dxvk() { + if [ ! -r "./dxvk-$dvver.tar.gz" ] ;then + printf "\nDownload dxvk-$dvver.tar.gz...\n\n" + $dltool https://github.com/doitsujin/dxvk/releases/download/v$dvver/dxvk-$dvver.tar.gz + fi + rcsum="$(sha256sum ./dxvk-$dvver.tar.gz| cut -d' ' -f1)" + if [ "$rcsum" != "$dvcsum" ] ;then + printf "\n\nWarning: Checksum dxvk-$dvver.tar.gz mismatch, ignored.\n" + rm ./dxvk-$dvver.tar.gz 2>/dev/null || true fi - done - echo "done." - printf "\nRemove unneeded symbols from files..." - find ./ -maxdepth 1 -type f -exec strip -s {} 2>/dev/null \; - echo "done." - printf "\nRepack evelauncher-$elver.tar.gz..." - cd ../ - rm evelauncher-$elver.tar.gz - tar czf evelauncher-$elver.tar.gz evelauncher/ - rm -rf evelauncher/ - echo "done." } check_req() { - if [ -x "$(which wine 2>/dev/null)" ] ;then - echo "Wine version $(wine --version) found." - else - echo "Wine not found. Please install Wine with your Package Manager." - echo "WineHQ or Developer Version are recommended." - printf "\nExiting.\n\n" - exit 0 - fi - if [ -x "$(which winetricks 2>/dev/null)" ] ;then - echo "Winetricks version $(winetricks --version | cut -d' ' -f1) found." - else - echo "Winetricks not found. Winetricks are required." - echo " Please install Winetricks with your Package Manager." - printf "\nExiting.\n\n" - exit 0 - fi + dltool=$(which curl 2>/dev/null || which wget 2>/dev/null || true) + case ${dltool##*/} in + curl) dltool="$dltool -L -O" ;; + wget) dltool="$dltool -nc" ;; + *) printf "\nError: curl or wget not found. One of them are needed for downloading sources." + printf "\n Please install curl or wget with your Package Manager.\n" + printf "\nLeaving.\n\n" + exit 0 ;; + esac + req="7z lsof " + until [ -z "$req" ];do + i=${req%% *} + [ $(which $i &>/dev/null; echo $?) -ne 0 ] && mreq="$mreq$i\n" + req=${req#* } + done + if [ ! -z $mreq ] ;then + printf "\nError: Following requirements are missing:\n" + printf "\n$mreq\n" + read -p 'Install anyway? (y/N) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xy" ] ;then + printf "\nLeaving.\n\n" + exit 0 + fi + fi } prefix="/usr" destdir="/opt/evesetup" bindir="$destdir/bin" libdir="$destdir/lib" -qtver="5.11" +docdir="$destdir/doc" +qtver="5.12" elver="" elcsum="" +dvver="" +dvcsum="" rcsum="" key="" if [ $(id -u) -ne 0 ] ;then - printf "\nEVE Online Launcher Setup need root permissions." - printf "\nExiting.\n\n" - exit 0 + printf "\nEVE Online Launcher Setup need root permissions.\n\n" + exit 0 fi if [ -d "$destdir" ] ;then - printf "\n" - read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key - [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ - bootstrap_remove + printf "\n" + read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then + printf "\nRemoving...\n\n" + bootstrap_remove + fi else - printf "\n" - read -p 'Install EVE Online Launcher Setup? (Y/n) ' key - [ ! "x$(echo $key | tr [:upper:] [:lower:])" = "xn" ] && \ - check_req && \ - build_lib && \ - printf "\nInstalling...\n\n" - bootstrap_install && \ - printf "\nYou can now start EVE Online Launcher and his Tools:\n\n" - for cmd in *.desktop ;do - oexec=$(grep Exec= $cmd | cut -d= -f2); oexec=${oexec##*/} - [ ! "$oexec" = "evelauncher.sh" ] && \ - printf " $oexec\t- $(grep Comment= $cmd | cut -d= -f2)\n" - done - printf "\n evelauncher.sh\t- EVE Online Launcher\n" + printf "\n" + read -p 'Install EVE Online Launcher Setup? (Y/n) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then + printf "\nInstalling...\n" + check_req + build_lib + get_dxvk + bootstrap_install + printf "\nYou can now start EVE Online Launcher and his Tools:\n\n" + for cmd in *.desktop ;do + oexec=$(sed -rn 's,^Exec=,,;s,.*/,,p' $cmd) + [ ! "$oexec" = "evelauncher.sh" ] && printf " $oexec\t- $(sed -rn 's,^Comment=,,p' $cmd)\n" + done + printf "\n evelauncher.sh\t- EVE Online Launcher\n" + fi fi printf "\nDone.\n\n" diff --git a/setup_lite.sh.in b/setup_lite.sh.in new file mode 100644 index 000000000000..8aa86f35add7 --- /dev/null +++ b/setup_lite.sh.in @@ -0,0 +1,177 @@ +#!/bin/sh + +set -e + +bootstrap_install() { + install -dv "$destdir" + install -dv "$bindir" + install -dv "$libdir" + install -dv "$docdir" + install -d "$prefix/bin/" + install -d "$prefix/share/applications/" + if [ -f "./packages.list" ] ;then + install -m 0644 "./packages.list" "$libdir" + fi + if [ -f "./dxvk-$dvver.tar.gz" ] ;then + install -d "$libdir/dxvk/" + echo "$dvver" >"$libdir/dxvk/version" + chmod 0644 "$libdir/dxvk/version" + tar xf ./dxvk-$dvver.tar.gz -C $libdir/dxvk/ --no-same-owner --strip-components=1 dxvk-$dvver/x32 dxvk-$dvver/x64 + fi + install -m 0644 "./evesetup.shlib" "$libdir" + install -m 0644 "./evelauncher-${elver}.tar.gz" "$libdir" + install -m 0644 "./evelauncher.kwinrule" "$docdir" + install -m 0644 "./evelauncher.lua" "$docdir" + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + if [ -f "./$cmd" ] ;then + sed -i s,SETUPDIR=\"\",SETUPDIR=\"$destdir\", ./$cmd + sed -i s,./evesetup.shlib,$libdir/evesetup.shlib, ./$cmd + install "./$cmd" "$bindir/" + else + if [ "$cmd" = "everestore" ] ;then + ln -s evebackup "$bindir/$cmd" + else + ln -s evewine "$bindir/$cmd" + fi + fi + [ "$bindir" != "$prefix/bin" ] && ln -s "$bindir/$cmd" "$prefix/bin/$cmd" + if [ ! "$cmd" = "evewine" ] ;then + oexec=$(grep Exec= ./${cmd%.*}.desktop) + sed -i s,$oexec,Exec=$prefix/bin/$cmd, ./${cmd%.*}.desktop + install -m 0644 "./${cmd%.*}.desktop" "$prefix/share/applications/" + fi + done + for icons in $(find . -type f -name '*.png') ;do + install -D -m 0644 "$icons" "$prefix/share/${icons#*/}" + done + if [ -x $(which gtk-update-icon-cache) ] ;then + if [ -f "${prefix}/share/icons/hicolor/icon-theme.cache" ] ;then + gtk-update-icon-cache -t -f "${prefix}/share/icons/hicolor" 2>/dev/null + chmod 0644 "${prefix}/share/icons/hicolor/icon-theme.cache" + fi + fi +} + +bootstrap_remove() { + for icons in $(find . -type f -name '*.png') ;do + rm -f "$prefix/share/${icons#*/}" + done + for cmd in backup launcher.sh regedit restore wine winecfg winetricks ;do + cmd=eve$cmd + rm -fv "$prefix/bin/$cmd" + if [ ! "$cmd" = "evewine" ] ;then + rm -f "$prefix/share/applications/${cmd%.*}.desktop" + fi + done + printf "\nRemove $destdir...\n" + rm -rf "$destdir" +} + +pkg_install() { + set +e + until [ -z "$req" ];do + i=${req%% *} + [ $($qrycmd $i >/dev/null; echo $?) -ne 0 ] && mreq="$mreq$i " + req=${req#* } + done + set -e + if [ ! -z "$mreq" ] ;then + printf "#$distro\n$mreq\n" >packages.list + printf "\n" + $inscmd $mreq + fi +} + +check_req() { + printf "\nChecking requirements...\n\n" + case $distro in + "Arch Linux"|"Manjaro Linux"|"EndeavourOS") + qrycmd="pacman -Q" + inscmd="pacman -S" + req="lsof openssl p7zip qt5-translations qt5-webengine qt5-websockets vulkan-icd-loader " + pkg_install + ;; + "Fedora") + qrycmd="rpm -q" + inscmd="dnf install" + req="lsof openssl-libs p7zip qt5-qttranslations qt5-qtwebengine qt5-qtwebsockets vulkan-loader " + pkg_install + ;; + *"buntu"|"Linux Mint"|"Pop!_OS"|"KDE neon"|"elementary OS"|"Zorin OS") + qrycmd="dpkg-query -W -f='\${Status}'" + inscmd="apt install" + req="lsof openssl p7zip-full qttranslations5-l10n libqt5concurrent5 libqt5webengine5 libqt5webenginewidgets5 libqt5websockets5 vulkan-icd " + pkg_install + ;; + "openSUSE Leap"|"openSUSE Tumbleweed") + qrycmd="rpm -q" + inscmd="zypper install" + req="lsof libopenssl1_1 p7zip-full libqt5-qttranslations libqt5-qtwebengine libQt5Concurrent5 libQt5WebSockets5 libvulkan1 " + pkg_install + ;; + *) + req="7z lsof " + until [ -z "$req" ];do + i=${req%% *} + [ $(which $i &>/dev/null; echo $?) -ne 0 ] && mreq="$mreq$i\n" + req=${req#* } + done + tar xf evelauncher-$elver.tar.gz + cd evelauncher/ + mreq="${mreq}$(LD_LIBRARY_PATH=$(pwd) ldd ./evelauncher | grep -i not | sed 's,\t,,;s,.so.*,,')\n" + cd ../ + rm -rf evelauncher/ + if [ "$mreq" != "\n" ] ;then + printf "\nFollowing requirements are missing:\n" + printf "\n$mreq\n" + read -p 'Install anyway? (y/N) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xy" ] ;then + printf "\nLeaving.\n\n" + exit 0 + fi + fi + ;; + esac +} + +prefix="/usr" +destdir="/opt/evesetup" +bindir="$destdir/bin" +libdir="$destdir/lib" +docdir="$destdir/doc" +elver="" +dvver="" +key="" + +if [ $(id -u) -ne 0 ] ;then + printf "\nEVE Online Launcher Setup need root permissions.\n\n" + exit 0 +fi + +distro=$(sed -rn 's,^NAME=,,p' /etc/os-release 2>/dev/null | tr -d \") + +if [ -d "$destdir" ] ;then + printf "\n" + read -p 'Remove EVE Online Launcher Setup? (Y/n) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then + printf "\nRemoving...\n\n" + bootstrap_remove + fi +else + printf "\n" + read -p 'Install EVE Online Launcher Setup? (Y/n) ' key + if [ "x$(echo $key | tr [:upper:] [:lower:])" != "xn" ] ;then + printf "\nInstalling...\n" + check_req + printf "\n" + bootstrap_install + printf "\nYou can now start EVE Online Launcher and his Tools:\n\n" + for cmd in *.desktop ;do + oexec=$(sed -rn 's,^Exec=,,;s,.*/,,p' $cmd) + [ ! "$oexec" = "evelauncher.sh" ] && printf " $oexec\t- $(sed -rn 's,^Comment=,,p' $cmd)\n" + done + printf "\n evelauncher.sh\t- EVE Online Launcher\n" + fi +fi +printf "\nDone.\n\n" |