Source code for pymyinstall.installcustom.install_custom_mingw
"""
Various functions to install `MinGW <http://www.mingw.org/>`_.
:githublink:`%|py|5`
"""
from __future__ import print_function
import sys
import os
from .install_custom import download_from_sourceforge
[docs]def install_mingw(dest_folder=".", fLOG=print, install=True, version=None):
"""
install `MinGW <http://www.mingw.org/>`_ (only on Windows)
:param dest_folder: where to download the setup
:param fLOG: logging function
:param install: install (otherwise only download)
:param version: version to install (unused)
:return: temporary file
Packages to install:
* gcc
* g77 3.4.5
* binutils
* mingw-runtime
* w32api
* gcc-core - C compiler
* gcc-g++ - C++ compiler
* gcc-objc - Objective C compiler
* gcc-gfortran - Fortran 90/95 compiler
* gcc-java - Java compiler
* gcc-ada - Ada compiler
* mingw-gdb - Windows native build of GNU debugger
* mingw32-make - Windows native build of GNU make
* mingw-utils - Miscellaneous utilities
::
mingw-get install binutils gcc g++ mingw32 fortran gdb mingw32 mingw w32api g77==3.4.5
:githublink:`%|py|42`
"""
if version is not None:
raise ValueError("cannot specify a version")
if not sys.platform.startswith("win"):
raise NotImplementedError(
"MinGW can only be installed on Windows at the moment")
name = "mingw-get-setup.exe"
newurl = "http://sourceforge.net/projects/mingw/files/Installer/{0}/download?use_mirror=autoselect".format(
name)
outfile = os.path.join(dest_folder, name)
fLOG("[pymy] mingw, download from ", newurl)
file = download_from_sourceforge(
newurl,
outfile,
fLOG=fLOG,
temp_folder=dest_folder)
if install:
raise NotImplementedError()
return file