Browse Source
- update and clean up and make sure it works - it builds the binary but I haven't tried to run the binary - it probably still missing some fine tuning, OpenCL probably doesn't workv0.6
3 changed files with 166 additions and 175 deletions
@ -1,173 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
# INIT |
|||
MACHINE_TYPE=`uname -m` |
|||
BASE_DIR=$(pwd) |
|||
PYTHON_VERSION=2.7.15 |
|||
PYQT_VERSION=4-4.11.4-gpl-Py2.7-Qt4.8.7 |
|||
OPENSSL_VERSION=1_0_2t |
|||
DIRECTORY32BIT=SoftwareDownloads32bit |
|||
DIRECTORY64BIT=SoftwareDownloads64bit |
|||
|
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
if [ ! -d "$DIRECTORY64BIT" ]; then |
|||
mkdir SoftwareDownloads64bit |
|||
cd SoftwareDownloads64bit |
|||
else |
|||
echo "Directory already exists" |
|||
cd SoftwareDownloads64bit |
|||
fi |
|||
else |
|||
if [ ! -d "$DIRECTORY32BIT" ]; then |
|||
mkdir SoftwareDownloads32bit |
|||
cd SoftwareDownloads32bit |
|||
else |
|||
echo "Directory 32 bit alrready exists" |
|||
cd SoftwareDownloads32bit |
|||
fi |
|||
fi |
|||
#Functions |
|||
function install_wine { |
|||
|
|||
|
|||
wget -nc https://dl.winehq.org/wine-builds/Release.key --no-check-certificate |
|||
sudo apt-key add Release.key |
|||
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/' |
|||
sudo apt-get -y update |
|||
sudo apt-get -y install wine1.8 winetricks |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
sudo apt-get -y install wine64-development |
|||
env WINEPREFIX=$HOME/.wine64 WINEARCH=win64 winecfg |
|||
WINE="env WINEPREFIX=$HOME/.wine64 wine" |
|||
export WINEPREFIX |
|||
|
|||
else |
|||
sudo apt-get -y install wine32-development |
|||
env WINEPREFIX=$HOME/.wine32 WINEARCH=win32 winecfg |
|||
WINE="env WINEPREFIX=$HOME/.wine32 wine" |
|||
export WINEPREFIX |
|||
|
|||
fi |
|||
} |
|||
|
|||
function install_python(){ |
|||
echo "Download Python2.7" |
|||
|
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
# For 64 bit machine |
|||
wget -nc wget http://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}.amd64.msi --no-check-certificate |
|||
echo "Install Python2.7 for 64 bit" |
|||
$WINE msiexec -i python-${PYTHON_VERSION}.amd64.msi /q /norestart |
|||
|
|||
wget -nc https://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe --no-check-certificate |
|||
$WINE vcredist_x64.exe /q /norestart |
|||
echo "Installed vcredist for 64 bit" |
|||
$WINE pip install --upgrade pip |
|||
|
|||
else |
|||
# For 32 bit machine |
|||
wget -nc https://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}.msi --no-check-certificate |
|||
echo "Install Python2.7 for 32 bit" |
|||
$WINE msiexec -i python-${PYTHON_VERSION}.msi /q /norestart |
|||
|
|||
echo "Installing vc_redist for 32 bit " |
|||
wget -nc https://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe --no-check-certificate |
|||
$WINE vcredist_x86.exe /q /norestart |
|||
#insatlled msvcr120.dll for 32 bit system |
|||
wget -nc http://www.dll-found.com/zip/m/msvcr120.dll.zip --no-check-certificate |
|||
unzip msvcr120.dll.zip |
|||
sudo cp msvcr120.dll $HOME/.wine32/drive_c/windows/system32/ |
|||
$WINE pip install --upgrade pip |
|||
|
|||
fi |
|||
} |
|||
|
|||
function install_pyqt(){ |
|||
|
|||
echo "Download PyQT" |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
# For 64 bit machine |
|||
wget -nc --content-disposition https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe?raw=true --no-check-certificate |
|||
$WINE PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe /q /norestart /silent /verysiling /sp- /suppressmsgboxes |
|||
else |
|||
# For 32 bit machine |
|||
wget -nc --content-disposition https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe?raw=true --no-check-certificate |
|||
$WINE PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe /q /norestart /silent /verysiling /sp- /suppressmsgboxes |
|||
fi |
|||
} |
|||
|
|||
function install_openssl(){ |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
wget -nc --content-disposition https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/Win64OpenSSL-${OPENSSL_VERSION}.exe?raw=true --no-check-certificate |
|||
$WINE Win64OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysiling /sp- /suppressmsgboxes |
|||
|
|||
else |
|||
wget -nc --content-disposition https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/Win32OpenSSL-${OPENSSL_VERSION}.exe?raw=true --no-check-certificate |
|||
$WINE Win32OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysiling /sp- /suppressmsgboxes |
|||
echo "Install PyInstaller 32 bit" |
|||
fi |
|||
} |
|||
|
|||
function install_pyinstaller() |
|||
{ |
|||
$WINE pip install pyinstaller |
|||
echo "Install PyInstaller" |
|||
echo "Install Pyopencl" |
|||
|
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
wget -nc https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/pyopencl-2015.1-cp27-none-win_amd64.whl --no-check-certificate |
|||
$WINE pip install pyopencl-2015.1-cp27-none-win_amd64.whl |
|||
$WINE pip install msgpack-python |
|||
|
|||
else |
|||
wget -nc --content-disposition https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/pyopencl-2015.1-cp27-none-win_amd64one-win32.whl?raw=true --no-check-certificate |
|||
$WINE pip install msgpack-python |
|||
$WINE pip install pyopencl-2015.1-cp27-none-win32.whl |
|||
fi |
|||
echo "Install Message Pack" |
|||
|
|||
} |
|||
|
|||
|
|||
function build_dll(){ |
|||
cd $BASE_DIR |
|||
rm -rf master.zip |
|||
rm -rf PyBitmessage |
|||
git clone https://github.com/Bitmessage/PyBitmessage.git |
|||
cd PyBitmessage/src/bitmsghash |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
# Do stuff for 64 bit machine |
|||
echo "Install MinGW" |
|||
sudo apt-get -y install mingw-w64 |
|||
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++ -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 |
|||
echo "DLL generated successfully " |
|||
cd .. |
|||
cp -R bitmsghash ../../../src/ |
|||
cd ../../../ |
|||
cd packages/pyinstaller/ |
|||
env WINEPREFIX=$HOME/.wine64 wine pyinstaller bitmessagemain.spec |
|||
else |
|||
echo "Install MinGW for 32 bit" |
|||
sudo apt-get install mingw-w64 |
|||
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++ -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 |
|||
cd .. |
|||
cp -R bitmsghash ../../../src/ |
|||
cd ../../../ |
|||
cd packages/pyinstaller/ |
|||
env WINEPREFIX=$HOME/.wine32 wine pyinstaller bitmessagemain.spec |
|||
fi |
|||
} |
|||
|
|||
|
|||
install_wine |
|||
install_python |
|||
install_pyqt |
|||
install_openssl |
|||
install_pyinstaller |
|||
build_dll |
@ -0,0 +1,164 @@ |
|||
#!/bin/bash |
|||
|
|||
# INIT |
|||
MACHINE_TYPE=`uname -m` |
|||
BASE_DIR=$(pwd) |
|||
PYTHON_VERSION=2.7.17 |
|||
PYQT_VERSION=4-4.11.4-gpl-Py2.7-Qt4.8.7 |
|||
OPENSSL_VERSION=1_0_2t |
|||
SRCPATH=~/Downloads |
|||
|
|||
#Functions |
|||
function download_sources_32 { |
|||
if [ ! -d ${SRCPATH} ]; then |
|||
mkdir -p ${SRCPATH} |
|||
fi |
|||
wget -P ${SRCPATH} -c -nc --content-disposition \ |
|||
https://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}.msi \ |
|||
https://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/PyQt${PYQT_VERSION}-x32.exe?raw=true \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/Win32OpenSSL-${OPENSSL_VERSION}.exe?raw=true \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/pyopencl-2015.1-cp27-none-win32.whl?raw=true |
|||
#wget -P ${SRCPATH} -nc http://www.dll-found.com/zip/m/msvcr120.dll.zip |
|||
#wget -P ${SRCPATH} -nc http://www.dll-found.com/zip/m/msvcr100.dll.zip |
|||
} |
|||
|
|||
function download_sources_64 { |
|||
if [ ! -d ${SRCPATH} ]; then |
|||
mkdir -p ${SRCPATH} |
|||
fi |
|||
wget -P ${SRCPATH} -c -nc --content-disposition \ |
|||
http://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}.amd64.msi \ |
|||
https://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/PyQt${PYQT_VERSION}-x64.exe?raw=true \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/Win64OpenSSL-${OPENSSL_VERSION}.exe?raw=true \ |
|||
https://github.com/Bitmessage/ThirdPartyLibraries/blob/master/pyopencl-2015.1-cp27-none-win_amd64.whl?raw=true |
|||
} |
|||
|
|||
function download_sources { |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
download_sources_64 |
|||
else |
|||
download_sources_32 |
|||
fi |
|||
} |
|||
|
|||
function install_wine { |
|||
echo "Setting up wine" |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
export WINEPREFIX=${HOME}/.wine64 WINEARCH=win64 |
|||
else |
|||
export WINEPREFIX=${HOME}/.wine32 WINEARCH=win32 |
|||
fi |
|||
rm -rf ${WINEPREFIX} |
|||
rm -rf packages/pyinstaller/{build,dist} |
|||
} |
|||
|
|||
function install_python(){ |
|||
cd ${SRCPATH} |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
echo "Installing Python ${PYTHON_VERSION} 64b" |
|||
wine msiexec -i python-${PYTHON_VERSION}.amd64.msi /q /norestart |
|||
echo "Installing vcredist for 64 bit" |
|||
wine vcredist_x64.exe /q /norestart |
|||
echo "Upgrading pip" |
|||
wine python -m pip install --upgrade pip |
|||
else |
|||
echo "Installing Python ${PYTHON_VERSION} 32b" |
|||
wine msiexec -i python-${PYTHON_VERSION}.msi /q /norestart |
|||
echo "Installing vc_redist for 32 bit " |
|||
wine vcredist_x86.exe /q /norestart |
|||
#echo "Unpacking MSVCR120.DLL" |
|||
#unzip msvcr120.dll.zip -o -d $HOME/.wine32/drive_c/windows/system32/ |
|||
#unzip msvcr100.dll.zip -o -d $HOME/.wine32/drive_c/windows/system32/ |
|||
echo "Upgrading pip" |
|||
wine python -m pip install --upgrade pip |
|||
|
|||
fi |
|||
} |
|||
|
|||
function install_pyqt(){ |
|||
|
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
echo "Installing PyQt-${PYQT_VERSION} 64b" |
|||
wine PyQt${PYQT_VERSION}-x64.exe /S /WX |
|||
else |
|||
echo "Installing PyQt-${PYQT_VERSION} 32b" |
|||
wine PyQt${PYQT_VERSION}-x32.exe /S /WX |
|||
fi |
|||
} |
|||
|
|||
function install_openssl(){ |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
echo "Installing OpenSSL ${OPENSSL_VERSION} 64b" |
|||
wine Win64OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysilent /sp- /suppressmsgboxes |
|||
else |
|||
echo "Installing OpenSSL ${OPENSSL_VERSION} 32b" |
|||
wine Win32OpenSSL-${OPENSSL_VERSION}.exe /q /norestart /silent /verysilent /sp- /suppressmsgboxes |
|||
fi |
|||
} |
|||
|
|||
function install_pyinstaller() |
|||
{ |
|||
echo "Installing PyInstaller" |
|||
wine python -m pip install pyinstaller |
|||
} |
|||
|
|||
function install_msgpack() |
|||
{ |
|||
echo "Installing msgpack" |
|||
wine python -m pip install msgpack-python |
|||
} |
|||
|
|||
function install_pyopencl() |
|||
{ |
|||
cd $SRCPATH |
|||
echo "Installing PyOpenCL" |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
wine python -m pip install pyopencl-2015.1-cp27-none-win_amd64.whl |
|||
else |
|||
wine python -m pip install pyopencl-2015.1-cp27-none-win32.whl |
|||
fi |
|||
} |
|||
|
|||
|
|||
function build_dll(){ |
|||
cd $BASE_DIR |
|||
cd src/bitmsghash |
|||
if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
|||
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++ -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 |
|||
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++ -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 |
|||
} |
|||
|
|||
function build_exe(){ |
|||
cd $BASE_DIR |
|||
cd packages/pyinstaller |
|||
wine pyinstaller bitmessagemain.spec |
|||
} |
|||
|
|||
# prepare on ubuntu |
|||
# dpkg --add-architecture i386 |
|||
# apt update |
|||
# apt -y install wget wine-stable wine-development winetricks mingw-w64 wine32 wine64 xvfb |
|||
|
|||
|
|||
download_sources |
|||
if [ "$1" == "--download-only" ]; then |
|||
exit |
|||
fi |
|||
|
|||
install_wine |
|||
install_python |
|||
install_pyqt |
|||
install_openssl |
|||
install_pyopencl |
|||
install_msgpack |
|||
install_pyinstaller |
|||
build_dll |
|||
build_exe |
Loading…
Reference in new issue