parent
425a49edaf
commit
8f848609ef
1 changed files with 173 additions and 0 deletions
@ -0,0 +1,173 @@ |
||||
#!/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 |
Loading…
Reference in new issue