winebuild.sh updates #1663

Merged
PeterSurda merged 3 commits from winebuild4 into v0.6 2020-08-30 10:23:55 +02:00

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# INIT # INIT
MACHINE_TYPE=`uname -m` MACHINE_TYPE=$(uname -m)
BASE_DIR=$(pwd) BASE_DIR=$(pwd)
PYTHON_VERSION=2.7.17 PYTHON_VERSION=2.7.17
PYQT_VERSION=4-4.11.4-gpl-Py2.7-Qt4.8.7 PYQT_VERSION=4-4.11.4-gpl-Py2.7-Qt4.8.7
@ -34,7 +34,7 @@ function download_sources_64 {
} }
function download_sources { function download_sources {
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
download_sources_64 download_sources_64
else else
download_sources_32 download_sources_32
@ -43,18 +43,18 @@ function download_sources {
function install_wine { function install_wine {
echo "Setting up wine" echo "Setting up wine"
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
export WINEPREFIX=${HOME}/.wine64 WINEARCH=win64 export WINEPREFIX=${HOME}/.wine64 WINEARCH=win64
else else
export WINEPREFIX=${HOME}/.wine32 WINEARCH=win32 export WINEPREFIX=${HOME}/.wine32 WINEARCH=win32
fi fi
rm -rf ${WINEPREFIX} rm -rf "${WINEPREFIX}"
rm -rf packages/pyinstaller/{build,dist} rm -rf packages/pyinstaller/{build,dist}
} }
function install_python(){ function install_python(){
cd ${SRCPATH} cd ${SRCPATH} || exit 1
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
echo "Installing Python ${PYTHON_VERSION} 64b" echo "Installing Python ${PYTHON_VERSION} 64b"
wine msiexec -i python-${PYTHON_VERSION}.amd64.msi /q /norestart wine msiexec -i python-${PYTHON_VERSION}.amd64.msi /q /norestart
echo "Installing vcredist for 64 bit" echo "Installing vcredist for 64 bit"
@ -63,20 +63,19 @@ function install_python(){
echo "Installing Python ${PYTHON_VERSION} 32b" echo "Installing Python ${PYTHON_VERSION} 32b"
wine msiexec -i python-${PYTHON_VERSION}.msi /q /norestart wine msiexec -i python-${PYTHON_VERSION}.msi /q /norestart
# MSVCR 2008 required for Windows XP # MSVCR 2008 required for Windows XP
cd ${SRCPATH} cd ${SRCPATH} || exit 1
echo "Installing vc_redist (2008) for 32 bit " echo "Installing vc_redist (2008) for 32 bit "
wine vcredist_x86.exe /Q wine vcredist_x86.exe /Q
fi fi
# add cert echo "Installing pytools 2020.2"
if [ -f /usr/local/share/ca-certificates/bitmessage-proxy.crt ]; then # last version compatible with python 2
wine python -m pip config set global.cert 'z:\usr\local\share\ca-certificates\bitmessage-proxy.crt' wine python -m pip install pytools==2020.2
fi
echo "Upgrading pip" echo "Upgrading pip"
wine python -m pip install --upgrade pip wine python -m pip install --upgrade pip
} }
function install_pyqt(){ function install_pyqt(){
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
echo "Installing PyQt-${PYQT_VERSION} 64b" echo "Installing PyQt-${PYQT_VERSION} 64b"
wine PyQt${PYQT_VERSION}-x64.exe /S /WX wine PyQt${PYQT_VERSION}-x64.exe /S /WX
else else
@ -86,7 +85,7 @@ function install_pyqt(){
} }
function install_openssl(){ function install_openssl(){
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
echo "Installing OpenSSL ${OPENSSL_VERSION} 64b" echo "Installing OpenSSL ${OPENSSL_VERSION} 64b"
wine Win64OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysilent /sp- /suppressmsgboxes wine Win64OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysilent /sp- /suppressmsgboxes
else else
@ -97,10 +96,11 @@ function install_openssl(){
function install_pyinstaller() function install_pyinstaller()
{ {
cd ${BASE_DIR} cd "${BASE_DIR}" || exit 1
echo "Installing PyInstaller" echo "Installing PyInstaller"
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
wine python -m pip install pyinstaller # 3.6 is the last version to support python 2.7
wine python -m pip install -I pyinstaller==3.6
else else
# 3.2.1 is the last version to work on XP # 3.2.1 is the last version to work on XP
# see https://github.com/pyinstaller/pyinstaller/issues/2931 # see https://github.com/pyinstaller/pyinstaller/issues/2931
@ -110,40 +110,60 @@ function install_pyinstaller()
function install_msgpack() function install_msgpack()
{ {
cd ${BASE_DIR} cd "${BASE_DIR}" || exit 1
echo "Installing msgpack" echo "Installing msgpack"
wine python -m pip install msgpack-python wine python -m pip install msgpack-python
} }
function install_pyopencl() function install_pyopencl()
{ {
cd ${SRCPATH} cd "${SRCPATH}" || exit 1
echo "Installing PyOpenCL" echo "Installing PyOpenCL"
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
wine python -m pip install pyopencl-2015.1-cp27-none-win_amd64.whl wine python -m pip install pyopencl-2015.1-cp27-none-win_amd64.whl
else else
wine python -m pip install pyopencl-2015.1-cp27-none-win32.whl wine python -m pip install pyopencl-2015.1-cp27-none-win32.whl
fi fi
sed -Ei 's/_DEFAULT_INCLUDE_OPTIONS = .*/_DEFAULT_INCLUDE_OPTIONS = [] /' $WINEPREFIX/drive_c/Python27/Lib/site-packages/pyopencl/__init__.py sed -Ei 's/_DEFAULT_INCLUDE_OPTIONS = .*/_DEFAULT_INCLUDE_OPTIONS = [] /' \
"$WINEPREFIX/drive_c/Python27/Lib/site-packages/pyopencl/__init__.py"
} }
function build_dll(){ function build_dll(){
cd ${BASE_DIR} cd "${BASE_DIR}" || exit 1
cd src/bitmsghash cd src/bitmsghash || exit 1
if [ ${MACHINE_TYPE} == 'x86_64' ]; then if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
echo "Create dll" echo "Create dll"
x86_64-w64-mingw32-g++ -D_WIN32 -Wall -O3 -march=native -I$HOME/.wine64/drive_c/OpenSSL-Win64/include -I/usr/x86_64-w64-mingw32/include -L$HOME/.wine64/drive_c/OpenSSL-Win64/lib -c bitmsghash.cpp x86_64-w64-mingw32-g++ -D_WIN32 -Wall -O3 -march=native \
x86_64-w64-mingw32-g++ -static-libgcc -shared bitmsghash.o -D_WIN32 -O3 -march=native -I$HOME/.wine64/drive_c/OpenSSL-Win64/include -L$HOME/.wine64/drive_c/OpenSSL-Win64 -L/usr/lib/x86_64-linux-gnu/wine -fPIC -shared -lcrypt32 -leay32 -lwsock32 -o bitmsghash64.dll -Wl,--out-implib,bitmsghash.a "-I$HOME/.wine64/drive_c/OpenSSL-Win64/include" \
-I/usr/x86_64-w64-mingw32/include \
"-L$HOME/.wine64/drive_c/OpenSSL-Win64/lib" \
-c bitmsghash.cpp
x86_64-w64-mingw32-g++ -static-libgcc -shared bitmsghash.o \
-D_WIN32 -O3 -march=native \
"-I$HOME/.wine64/drive_c/OpenSSL-Win64/include" \
"-L$HOME/.wine64/drive_c/OpenSSL-Win64" \
-L/usr/lib/x86_64-linux-gnu/wine \
-fPIC -shared -lcrypt32 -leay32 -lwsock32 \
-o bitmsghash64.dll -Wl,--out-implib,bitmsghash.a
else else
echo "Create dll" echo "Create dll"
i686-w64-mingw32-g++ -D_WIN32 -Wall -m32 -O3 -march=native -I$HOME/.wine32/drive_c/OpenSSL-Win32/include -I/usr/i686-w64-mingw32/include -L$HOME/.wine32/drive_c/OpenSSL-Win32/lib -c bitmsghash.cpp i686-w64-mingw32-g++ -D_WIN32 -Wall -m32 -O3 -march=native \
i686-w64-mingw32-g++ -static-libgcc -shared bitmsghash.o -D_WIN32 -O3 -march=native -I$HOME/.wine32/drive_c/OpenSSL-Win32/include -L$HOME/.wine32/drive_c/OpenSSL-Win32/lib/MinGW -fPIC -shared -lcrypt32 -leay32 -lwsock32 -o bitmsghash32.dll -Wl,--out-implib,bitmsghash.a "-I$HOME/.wine32/drive_c/OpenSSL-Win32/include" \
-I/usr/i686-w64-mingw32/include \
"-L$HOME/.wine32/drive_c/OpenSSL-Win32/lib" \
-c bitmsghash.cpp
i686-w64-mingw32-g++ -static-libgcc -shared bitmsghash.o \
-D_WIN32 -O3 -march=native \
"-I$HOME/.wine32/drive_c/OpenSSL-Win32/include" \
"-L$HOME/.wine32/drive_c/OpenSSL-Win32/lib/MinGW" \
-fPIC -shared -lcrypt32 -leay32 -lwsock32 \
-o bitmsghash32.dll -Wl,--out-implib,bitmsghash.a
fi fi
} }
function build_exe(){ function build_exe(){
cd ${BASE_DIR} cd "${BASE_DIR}" || exit 1
cd packages/pyinstaller cd packages/pyinstaller || exit 1
wine pyinstaller bitmessagemain.spec wine pyinstaller bitmessagemain.spec
} }