41
41
export WINESERVER_EXE=" ${WINESERVER_EXE} " ; export WINESERVER_EXE;
42
42
export APPDIR_BINDIR=" ${APPDIR_BINDIR} " ; export APPDIR_BINDIR
43
43
export APPIMAGE_LINK_SELECTION_NAME=" ${APPIMAGE_LINK_SELECTION_NAME} " ; export APPIMAGE_LINK_SELECTION_NAME;
44
- [ -z " \$ {WINETRICKS_URL}" ] && export WINETRICKS_URL=" https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
45
- [ -z " \$ {WINETRICKS_DOWNLOADER+x}" ] && export WINETRICKS_DOWNLOADER=" wget"
46
44
fi
45
+ if [ -z " ${WINETRICKS_URL} " ]; then WINETRICKS_URL=" https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" ; export WINETRICKS_URL; fi
47
46
48
47
if [ -z " \$ {WINEDEBUG}" ]; then WINEDEBUG=" fixme-all,err-all" ; export WINEDEBUG; fi # Make wine output less verbose
49
48
# END ENVIRONMENT
@@ -55,7 +54,7 @@ cat << EEOF
55
54
Usage: ./\$ TITLE
56
55
Interact with ${FLPRODUCT} Bible Software in Wine on Linux.
57
56
58
- Options:x
57
+ Options:
59
58
-h --help Prints this help message and exit.
60
59
-v --version Prints version information and exit.
61
60
-D --debug Makes Wine print out additional info.
@@ -69,6 +68,55 @@ Options:x
69
68
EEOF
70
69
}
71
70
71
+ cli_download () {
72
+ URI=" \$ {1}"
73
+ DESTINATION=" \$ {2}"
74
+ FILENAME=" \$ {URI##*/}"
75
+
76
+ if [ " \$ {DESTINATION}" != " \$ {DESTINATION%/}" ]; then
77
+ TARGET=" \$ {DESTINATION}/\$ {1##*/}"
78
+ [ -d " \$ {DESTINATION}" ] || mkdir -p " \$ {DESTINATION}" || echo " Cannot create \$ {DESTINATION}" && exit 1
79
+ elif [ -d " \$ {DESTINATION}" ]; then
80
+ TARGET=" \$ {DESTINATION}/${1##*/ } "
81
+ else
82
+ TARGET=" \$ {DESTINATION}"
83
+ [ -d " \$ {DESTINATION%/*}" ] || mkdir -p " \$ {DESTINATION%/*}" || echo " Cannot create directory \$ {DESTINATION%/*}" && exit 1
84
+ fi
85
+ echo " \$ {URI}"
86
+ wget --inet4-only -c " \$ {URI}" -O " \$ {TARGET}"
87
+ }
88
+ setWinetricks () {
89
+ if [ -f " \$ {APPDIR_BINDIR}/winetricks" ]; then
90
+ WINETRICKSBIN=" \$ {APPDIR_BINDIR}/winetricks"
91
+ elif [ \$ (which winetricks) & > /dev/null ]; then
92
+ LOCAL_WINETRICKS_VERSION=\$ (winetricks --version | awk -F' ' ' {print \$1}' )
93
+ if [ " \$ {LOCAL_WINETRICKS_VERSION}" -ge " 20220411" ]; then
94
+ WINETRICKSBIN=" \$ (which winetricks)"
95
+ fi
96
+ else
97
+ if [ ! -z " \$ {WINETRICKS_URL}" ]; then
98
+ cli_download " \$ {WINETRICKS_URL}" " \$ {APPDIR_BINDIR}/winetricks"
99
+ chmod 755 " \$ {APPDIR_BINDIR}/winetricks"
100
+ WINETRICKSBIN=" \$ {APPDIR_BINDIR}/winetricks"
101
+ if [ -z " ${CONFIG_PATH} " ]; then
102
+ sed -ri ' s/(WINETRICKSBIN=)(".*")/\1TAYLOR/' " \$ {CONFIG_PATH}"
103
+ fi
104
+ else
105
+ echo " WINETRICKS_URL not set."
106
+ fi
107
+ fi
108
+ export WINETRICKSBIN
109
+ }
110
+ runWinetricks () {
111
+ if [ ! -z " \$ {WINETRICKSBIN}" ] && [ -f " \$ {WINETRICKSBIN}" ]; then
112
+ :
113
+ else
114
+ setWinetricks
115
+ fi
116
+ " \$ {WINETRICKSBIN}" " $@ "
117
+ " \$ {WINESERVER_EXE}" -w
118
+ }
119
+
72
120
selectAppImage () {
73
121
echo " ======= Running AppImage Selection only: ======="
74
122
APPIMAGE_FILENAME=" "
@@ -160,13 +208,7 @@ while getopts "\$OPTSTRING" opt; do
160
208
exit 0 ;;
161
209
winetricks)
162
210
shift
163
- # Determine if user downloaded winetricks or used system winetricks
164
- if [ -f " \$ {APPDIR_BINDIR}/winetricks" ]; then
165
- WINETRICKSBIN=" \$ {APPDIR_BINDIR}/winetricks"
166
- else WINETRICKSBIN=" \$ (which winetricks)"
167
- fi
168
- " \$ {WINETRICKSBIN}" " \$ @"
169
- " \$ {WINESERVER_EXE}" -w
211
+ runWinetricks;
170
212
exit 0 ;;
171
213
# selectAppImage)
172
214
# selectAppImage ;;
0 commit comments