Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PortWINE
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav
PortWINE
Commits
fa0e61a8
You need to sign in or sign up before continuing.
Commit
fa0e61a8
authored
1 year ago
by
Mikhail Tergoev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more changes to move to curl+yad
parent
f3b1b93c
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
52 additions
and
27 deletions
+52
-27
functions_helper
data_from_portwine/scripts/functions_helper
+27
-11
runlib
data_from_portwine/scripts/runlib
+2
-0
setup.sh
data_from_portwine/scripts/setup.sh
+2
-2
start.sh
data_from_portwine/scripts/start.sh
+1
-1
zen_yad_gui
data_from_portwine/scripts/zen_yad_gui
+20
-13
No files found.
data_from_portwine/scripts/functions_helper
View file @
fa0e61a8
...
...
@@ -121,7 +121,8 @@ try_download_game () {
curl
-C
- -#
-A
"Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)"
-H
'Cache-Control: no-cache, no-store'
-H
'Pragma: no-cache'
-L
"
$1
"
-o
"
$2
"
2>&1 |
\
tr
'\r'
'\n'
|
sed
-u
-e
's/#//g'
-e
's/ //g'
-e
's/\.[[:digit:]]%//'
|
\
"
${
pw_yad_v12_3
}
"
--progress
--percentage
=
0
--text
=
"Download
${
PW_DOWNLOAD_FILE_NAME
}
"
--auto-close
--no-escape
\
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
if
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
;
then
print_error
"Failed to download
${
PW_DOWNLOAD_FILE_NAME
}
."
return
1
...
...
@@ -132,18 +133,21 @@ try_download_game () {
try_download
()
{
PW_DOWNLOAD_FILE_NAME
=
"
$(
basename
$1
)
"
[[
!
-f
"
${
pw_yad_v12_3
}
"
]]
&&
local
pw_yad_v12_3
=
"yad"
set
-o
pipefail
curl -#
-A
"Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)"
-H
'Cache-Control: no-cache, no-store'
-H
'Pragma: no-cache'
-L
"
$1
"
-o
"
$2
"
2>&1 |
\
tr
'\r'
'\n'
|
sed
-u
-e
's/#//g'
-e
's/ //g'
-e
's/\.[[:digit:]]%//'
|
\
"
${
pw_yad_v12_3
}
"
--progress
--percentage
=
0
--text
=
"Download
${
PW_DOWNLOAD_FILE_NAME
}
"
--auto-close
--no-escape
\
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
if
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
;
then
print_error
"Failed to download
${
PW_DOWNLOAD_FILE_NAME
}
from GitHub."
print_info
"Try download
${
PW_DOWNLOAD_FILE_NAME
}
from FTP"
curl -#
-A
"Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)"
-L
"ftp://171.22.215.18/archives/
${
PW_DOWNLOAD_FILE_NAME
}
"
-o
"
$2
"
2>&1 |
\
tr
'\r'
'\n'
|
sed
-u
-e
's/#//g'
-e
's/ //g'
-e
's/\.[[:digit:]]%//'
|
\
"
${
pw_yad_v12_3
}
"
--progress
--percentage
=
0
--text
=
"Download
${
PW_DOWNLOAD_FILE_NAME
}
"
--auto-close
--no-escape
\
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
if
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
;
then
print_error
"Failed to download
${
PW_DOWNLOAD_FILE_NAME
}
from FTP."
return
1
...
...
@@ -159,7 +163,8 @@ try_download_to_path () {
curl -#
-A
"Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)"
-H
'Cache-Control: no-cache, no-store'
-H
'Pragma: no-cache'
-L
"
$1
"
-o
"
$2
/
$PW_DOWNLOAD_FILE_NAME
"
2>&1 |
\
tr
'\r'
'\n'
|
sed
-u
-e
's/#//g'
-e
's/ //g'
-e
's/\.[[:digit:]]%//'
|
\
"
${
pw_yad_v12_3
}
"
--progress
--percentage
=
0
--text
=
"Download
${
PW_DOWNLOAD_FILE_NAME
}
"
--auto-close
--no-escape
\
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
--auto-kill
--center
--text-align
=
"center"
--fixed
--no-buttons
--title
"PortProton"
--width
=
500
--height
=
90
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
if
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
;
then
print_error
"Failed to download
$1
."
return
1
...
...
@@ -229,11 +234,14 @@ var_ld_library_path_update() {
unpack_tar_zst
()
{
set
-o
pipefail
unset
PW_ZSTD_PORT
pw_start_progress_bar_cover_block
"
${
PW_GUI_ICON_PATH
}
/covers/pw_loading_cover.gif"
if
[[
`
command
-v
zstd
`
]]
&>/dev/null
;
then
tar
-I
zstd
-xhvf
"
$1
"
-C
"
$2
"
| sszen
tar
-I
zstd
-xhvf
"
$1
"
-C
"
$2
"
pw_stop_progress_bar_cover_block
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
&&
print_error
"File
$1
unpacking error."
&&
return
1
||
return
0
else
env
LD_LIBRARY_PATH
=
"
${
LD_LIBRARY_PATH
}
:
${
PW_WINELIB
}
/portable/lib/lib64:
${
PW_WINELIB
}
/portable/lib/lib"
tar
-I
"
${
PW_WINELIB
}
/portable/bin/zstd"
-xhvf
"
$1
"
-C
"
$2
"
| sszen
env
LD_LIBRARY_PATH
=
"
${
LD_LIBRARY_PATH
}
:
${
PW_WINELIB
}
/portable/lib/lib64:
${
PW_WINELIB
}
/portable/lib/lib"
tar
-I
"
${
PW_WINELIB
}
/portable/bin/zstd"
-xhvf
"
$1
"
-C
"
$2
"
pw_stop_progress_bar_cover_block
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
&&
print_error
"File
$1
unpacking error."
&&
return
1
||
return
0
fi
}
...
...
@@ -243,20 +251,26 @@ unpack_tar_xz () {
tar
-Jxhvf
"
$1
"
-C
"
$2
"
&&
return
0
||
return
1
else
set
-o
pipefail
tar
-Jxhvf
"
$1
"
-C
"
$2
"
| sszen
pw_start_progress_bar_cover_block
"
${
PW_GUI_ICON_PATH
}
/covers/pw_loading_cover.gif"
tar
-Jxhvf
"
$1
"
-C
"
$2
"
pw_stop_progress_bar_cover_block
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
&&
print_error
"File
$1
unpacking error."
&&
return
1
||
return
0
fi
}
unpack_tar_gz
()
{
set
-o
pipefail
tar
-xhzvf
"
$1
"
-C
"
$2
"
| sszen
pw_start_progress_bar_cover_block
"
${
PW_GUI_ICON_PATH
}
/covers/pw_loading_cover.gif"
tar
-xhzvf
"
$1
"
-C
"
$2
"
pw_stop_progress_bar_cover_block
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
&&
print_error
"File
$1
unpacking error."
&&
return
1
||
return
0
}
unpack_tar
()
{
set
-o
pipefail
tar
-xhvf
"
$1
"
-C
"
$2
"
| sszen
pw_start_progress_bar_cover_block
"
${
PW_GUI_ICON_PATH
}
/covers/pw_loading_cover.gif"
tar
-xhvf
"
$1
"
-C
"
$2
"
pw_stop_progress_bar_cover_block
[
"
${
PIPESTATUS
[0]
}
"
!=
0
]
&&
print_error
"File
$1
unpacking error."
&&
return
1
||
return
0
}
...
...
@@ -401,10 +415,12 @@ init_wine_ver () {
if
check_symlink
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
;
then
print_info
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
is symlink. OK."
elif
[[
-d
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
]]
;
then
try_copy_dir
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
"
${
PORT_WINE_TMP_PATH
}
"
| sszen
pw_start_progress_bar_cover_block
"
${
PW_GUI_ICON_PATH
}
/covers/pw_loading_cover.gif"
try_copy_dir
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
"
${
PORT_WINE_TMP_PATH
}
"
try_remove_dir
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
try_force_link_dir
"
${
PORT_WINE_TMP_PATH
}
/
${
mono_gecko_chk
}
"
"
${
WINEDIR
}
"
/share/wine/
print_info
"Copy
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
to tmp and create symlink to
${
WINEDIR
}
/share/wine/. OK."
pw_stop_progress_bar_cover_block
else
try_remove_dir
"
${
WINEDIR
}
/share/wine/
${
mono_gecko_chk
}
"
try_force_link_dir
"
${
PORT_WINE_TMP_PATH
}
/
${
mono_gecko_chk
}
"
"
${
WINEDIR
}
"
/share/wine
...
...
@@ -964,7 +980,7 @@ pw_port_update () {
if
[[
!
-z
"
${
scripts_current_ver
}
"
]]
&&
[[
"
${
scripts_current_ver
}
"
-gt
"
${
scripts_install_ver
}
"
]]
;
then
if
[[
-f
"
${
PW_WINELIB
}
/portable/bin/yad_v12_3"
]]
;
then
export
pw_yad_v12_3
=
"
${
PW_WINELIB
}
/portable/bin/yad_v12_3"
curl
-s
--list-only
"
${
URL_FOR_CHANGELOG
}
/
${
PW_CHANGELOG_FILE
}
"
|
tee
"
${
PORT_WINE_TMP_PATH
}
/curent_var_ver"
| sszen
curl
-s
--list-only
"
${
URL_FOR_CHANGELOG
}
/
${
PW_CHANGELOG_FILE
}
"
|
tee
"
${
PORT_WINE_TMP_PATH
}
/curent_var_ver"
CHANGLOG_NEWS
=
`
cat
"
${
PORT_WINE_TMP_PATH
}
/curent_var_ver"
|
sed
"/Scripts version
${
scripts_install_ver
}
/,
$
d"
|
sed
'1,/---/ d'
`
xcsd
=
`
"
${
pw_yad_v12_3
}
"
--title
"
${
scripts_upd2
}
v.
${
scripts_current_ver
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--borders
=
3
--form
--separator
=
'%%%'
--width
=
1200
--height
=
600
\
...
...
This diff is collapsed.
Click to expand it.
data_from_portwine/scripts/runlib
View file @
fa0e61a8
...
...
@@ -59,8 +59,10 @@ start_portwine () {
pw_install_dll_in_prefix
init_wine_ver
if
[[
-f
"
$portwine_exe
"
]]
&&
[[
"
${
WARN_CYRILLIC_IN_PATH
}
"
==
1
]]
;
then
edit_db_from_gui WARN_CYRILLIC_IN_PATH
unset
WARN_CYRILLIC_IN_PATH
fi
if
[
!
-f
"
${
HOME
}
/.Xresources"
]
;
then
cp
-f
"
${
PORT_SCRIPTS_PATH
}
/.Xresources"
"
${
HOME
}
"
...
...
This diff is collapsed.
Click to expand it.
data_from_portwine/scripts/setup.sh
View file @
fa0e61a8
...
...
@@ -2,7 +2,7 @@
# Author: linux-gaming.ru
.
"
$(
dirname
$(
readlink
-f
"
$0
"
))
/runlib"
if
[[
$(
cat
/etc/os-release |
grep
-i
"flatpak"
)
]]
;
then
if
grep
-i
"flatpak"
/etc/os-release &>/dev/null
;
then
name_desktop
=
"PortProton"
echo
"[Desktop Entry]"
>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
echo
"Name=
${
name_desktop
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
...
...
@@ -36,7 +36,7 @@ fi
update-desktop-database
-q
"
${
HOME
}
/.local/share/applications"
if
[[
!
$(
cat
/etc/os-release |
grep
-i
"flatpak"
)
]]
if
!
grep
-i
"flatpak"
/etc/os-release &>/dev/null
;
then
xdg-mime default PortProton.desktop
"application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
fi
...
...
This diff is collapsed.
Click to expand it.
data_from_portwine/scripts/start.sh
View file @
fa0e61a8
...
...
@@ -667,7 +667,7 @@ else
kill
-s
SIGUSR1
$(
pgrep
-a
yad |
grep
"
\-
-key=
${
KEY
}
\-
-notebook"
|
awk
'{print $1}'
)
>
/dev/null 2>&1
fi
if
[[
$(
cat
/etc/os-release |
grep
-i
"flatpak"
)
]]
;
if
grep
-i
"flatpak"
/etc/os-release &>/dev/null
;
then
PW_EXEC_FROM_DESKTOP
=
"
$(
cat
"
${
PORT_WINE_PATH
}
/
${
PW_YAD_SET
//¬/
" "
}
"
|
grep
Exec |
head
-n
1 |
sed
's|flatpak run com.castrofidel.portproton|\"${PORT_SCRIPTS_PATH}/start.sh\"|'
|
awk
-F
'='
'{print $2}'
)
"
else
PW_EXEC_FROM_DESKTOP
=
"
$(
cat
"
${
PORT_WINE_PATH
}
/
${
PW_YAD_SET
//¬/
" "
}
"
|
grep
Exec |
head
-n
1 |
awk
-F
"=env "
'{print $2}'
)
"
fi
...
...
This diff is collapsed.
Click to expand it.
data_from_portwine/scripts/zen_yad_gui
View file @
fa0e61a8
...
...
@@ -22,16 +22,6 @@ zenity_error_download () {
fi
}
sszen
()
{
zenity
--progress
--title
=
"
$loc_gui_settings
"
--text
=
"
$loc_gui_sett_info
"
--pulsate
--auto-close
--width
=
500
--height
=
90
--no-cancel
}
ssyad
()
{
"
${
pw_yad_v12_3
}
"
--progress
--pulsate
--log-expanded
--undecorated
--center
\
--title
=
"
$loc_gui_settings
"
--progress-text
=
"
$loc_gui_sett_info
"
--enable-log
=
"log"
\
--log-height
=
60
--width
=
500
--height
=
150
--no-buttons
--auto-close
&>/dev/null
}
gui_question
()
{
zenity
--question
--title
"
${
inst_set
}
."
--text
"
$1
"
--no-wrap
&>/dev/null
[
$?
-eq
"0"
]
&&
return
0
||
return
1
...
...
@@ -42,11 +32,22 @@ pw_start_progress_bar_cover () {
PW_GIF_SIZE_X
=
`
file
"
${
PW_GIF_FILE
}
"
|
awk
'{print $7 + 20}'
`
PW_GIF_SIZE_Y
=
`
file
"
${
PW_GIF_FILE
}
"
|
awk
'{print $9 + 20}'
`
"
${
pw_yad
}
"
--picture
--filename
=
"
${
PW_GIF_FILE
}
"
--close-on-unfocus
--no-buttons
--undecorated
--center
\
--skip-taskbar
--width
=
$PW_GIF_SIZE_X
--height
=
$PW_GIF_SIZE_Y
>
/dev/null 2>&1 &
--skip-taskbar
--width
=
$PW_GIF_SIZE_X
--height
=
$PW_GIF_SIZE_Y
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
>
/dev/null 2>&1 &
export
PW_YAD_PID_PROGRESS_BAR_COVER
=
"
$!
"
return
0
}
pw_start_progress_bar_cover_block
()
{
[[
!
-f
"
${
pw_yad
}
"
]]
&&
local
pw_yad
=
"yad"
PW_GIF_FILE
=
"
$1
"
PW_GIF_SIZE_X
=
`
file
"
${
PW_GIF_FILE
}
"
|
awk
'{print $7 + 20}'
`
PW_GIF_SIZE_Y
=
`
file
"
${
PW_GIF_FILE
}
"
|
awk
'{print $9 + 20}'
`
"
${
pw_yad
}
"
--picture
--filename
=
"
${
PW_GIF_FILE
}
"
--close-on-unfocus
--no-buttons
--undecorated
--center
\
--skip-taskbar
--width
=
$PW_GIF_SIZE_X
--height
=
$PW_GIF_SIZE_Y
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
>
/dev/null 2>&1 &
export
PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK
=
"
$!
"
return
0
}
pw_update_pfx_cover_gui
()
{
PW_KEY_PROGRESS_BAR
=
$RANDOM
PW_GIF_FILE
=
"
${
PW_GUI_ICON_PATH
}
/covers/pw_update_pfx_cover.gif"
...
...
@@ -105,6 +106,12 @@ pw_stop_progress_bar_cover () {
}
export
-f
pw_stop_progress_bar_cover
pw_stop_progress_bar_cover_block
()
{
kill
-s
KILL
"
$PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK
"
>
/dev/null 2>&1
return
0
}
export
-f
pw_stop_progress_bar_cover_block
open_changelog
()
{
"
${
pw_yad
}
"
--title
=
"
$loc_gui_changelog
"
--borders
=
3
--no-buttons
--text-align
=
center
\
--text-info
--show-uri
--wrap
--width
=
1200
--height
=
700
--uri-color
=
red
\
...
...
@@ -661,7 +668,7 @@ portwine_create_shortcut () {
echo
"[Desktop Entry]"
>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
echo
"Name=
${
name_desktop
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
if
[[
$(
cat
/etc/os-release |
grep
-i
"flatpak"
)
]]
if
grep
-i
"flatpak"
/etc/os-release &>/dev/null
then
echo
"Exec=flatpak run com.castrofidel.portproton
\"
${
portwine_exe
}
\"
"
>>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
else
echo
"Exec=env "
\"
${
PORT_SCRIPTS_PATH
}
/start.sh
\"
\"
${
portwine_exe
}
\"
""
>>
"
${
PORT_WINE_PATH
}
/
${
name_desktop
}
.desktop"
fi
...
...
@@ -693,7 +700,7 @@ portwine_create_shortcut () {
echo
"#!/usr/bin/env bash"
>
"
${
STEAM_SCRIPTS
}
/
${
name_desktop
}
.sh"
echo
"export START_FROM_STEAM=1"
>>
"
${
STEAM_SCRIPTS
}
/
${
name_desktop
}
.sh"
echo
"export LD_PRELOAD="
>>
"
${
STEAM_SCRIPTS
}
/
${
name_desktop
}
.sh"
if
[[
$(
cat
/etc/os-release |
grep
-i
"flatpak"
)
]]
if
grep
-i
"flatpak"
/etc/os-release &>/dev/null
then
echo
"flatpak run com.castrofidel.portproton
\"
${
portwine_exe
}
\"
"
>>
"
${
STEAM_SCRIPTS
}
/
${
name_desktop
}
.sh"
else
echo
"
\"
${
PORT_SCRIPTS_PATH
}
/start.sh
\"
\"
${
portwine_exe
}
\"
"
>>
"
${
STEAM_SCRIPTS
}
/
${
name_desktop
}
.sh"
fi
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment