#940: Prepare OGAgent for Windows builder

remotes/github/python3
Ramón M. Gómez 2020-05-06 19:40:23 +02:00
parent de4289ae2b
commit 7521269654
2 changed files with 56 additions and 67 deletions

View File

@ -1,67 +0,0 @@
#!/bin/sh
# We need:
# * Wine (32 bit)
# * winetricks (in some distributions)
export WINEARCH=win32 WINEPREFIX=$PWD/wine WINEDEBUG=fixme-all
WINE=wine
download() {
mkdir downloads
# Get needed software
cd downloads
wget -nd https://www.python.org/ftp/python/2.7.17/python-2.7.17.msi -O python-2.7.msi
wget -nd https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi
wget -nd https://bootstrap.pypa.io/get-pip.py
wget -nd https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe/download -O pyqt-install.exe
wget -nd https://prdownloads.sourceforge.net/nsis/nsis-3.05-setup.exe?download -O nsis-install.exe
wget -nd http://nsis.sourceforge.net/mediawiki/images/d/d7/NSIS_Simple_Firewall_Plugin_1.20.zip
cd ..
}
install_python() {
if which winetricks &>/dev/null; then
echo "Setting up wine prefix (using winetricks)"
winetricks
fi
cd downloads
echo "Installing python"
$WINE msiexec /qn /i python-2.7.msi
echo "Installing vc for python"
$WINE msiexec /qn /i VCForPython27.msi
echo "Installing pyqt (needs X)"
$WINE pyqt-install.exe
echo "Installing nsis (needs X?)"
$WINE nsis-install.exe
cd ..
}
setup_pip() {
echo "Seting up pip..."
$WINE C:\\Python27\\python -m pip install --upgrade pip
}
install_packages() {
echo "Installing pywin32"
$WINE C:\\Python27\\python -m pip install pywin32
echo "Installing py2exe"
$WINE C:\\Python27\\python -m pip install py2exe_py2
echo "Installing required packages"
$WINE C:\\Python27\\python -m pip install requests six
# Using easy_install instead of pip to install pycrypto
$WINE C:\\Python27\\Scripts\\easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe
# Copy nsis required NSIS_Simple_Firewall_Plugin_1
echo "Copying simple firewall plugin for nsis installer"
unzip -o downloads/NSIS_Simple_Firewall_Plugin_1.20.zip SimpleFC.dll -d $WINEPREFIX/drive_c/Program\ Files/NSIS/Plugins/x86-ansi/
unzip -o downloads/NSIS_Simple_Firewall_Plugin_1.20.zip SimpleFC.dll -d $WINEPREFIX/drive_c/Program\ Files/NSIS/Plugins/x86-unicode/
}
download
install_python
setup_pip
install_packages

View File

@ -0,0 +1,56 @@
#!/bin/sh
# We need:
# * Wine (64 bit)
# * winetricks (in some distributions)
export WINEARCH=win64 WINEPREFIX=$PWD/wine WINEDEBUG=fixme-all
WINE=wine
# Get needed software
download() {
mkdir -p downloads
cd downloads
wget -nd https://www.python.org/ftp/python/3.7.7/python-3.7.7-amd64.exe -O python3.msi
wget -nd https://download.visualstudio.microsoft.com/download/pr/5e397ebe-38b2-4e18-a187-ac313d07332a/00945fbb0a29f63183b70370043e249218249f83dbc82cd3b46c5646503f9e27/vs_BuildTools.exe
wget -nd https://prdownloads.sourceforge.net/nsis/nsis-3.05-setup.exe?download -O nsis-install.exe
wget -nd http://nsis.sourceforge.net/mediawiki/images/d/d7/NSIS_Simple_Firewall_Plugin_1.20.zip
cd ..
}
install_python() {
cd downloads
echo "Installing python"
$WINE python3.msi /quiet TargetDir=C:\\Python37 PrependPath=1
echo "Installing Build Tools for Visual Studio"
$WINE vs_BuildTools.exe
echo "Installing NSIS (needs X?)"
$WINE nsis-install.exe /S
cd ..
}
setup_pip() {
echo "Setting up pip and setuptools"
$WINE pip install --upgrade pip
$WINE pip install --upgrade setuptools
}
install_packages() {
echo "Installing PyQt5"
$WINE pip install PyQt5
echo "Installing required packages"
$WINE pip install pycrypto requests six
# Using easy_install instead of pip to install pycrypto
$WINE pip install pycrypto
echo "Installing PyInstaller"
$WINE pip install PyInstaller
echo "Copying simple firewall plugin for nsis installer"
unzip -o downloads/NSIS_Simple_Firewall_Plugin_1.20.zip SimpleFC.dll -d $WINEPREFIX/drive_c/Program\ Files/NSIS/Plugins/x86-ansi/
unzip -o downloads/NSIS_Simple_Firewall_Plugin_1.20.zip SimpleFC.dll -d $WINEPREFIX/drive_c/Program\ Files/NSIS/Plugins/x86-unicode/
}
download
install_python
setup_pip
install_packages