Source code for pymyinstall.installcustom.install_custom_tdm_gcc
"""
Various functions to install `TDM-GCC <http://tdm-gcc.tdragon.net/>`_.
:githublink:`%|py|5`
"""
from __future__ import print_function
import sys
import os
import re
from .install_custom import download_page, download_from_sourceforge
[docs]def install_tdm_gcc(dest_folder=".", fLOG=print, install=False, version=None):
"""
install `TDM-GCC <http://tdm-gcc.tdragon.net/>`_ (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 download (unused)
:return: downloaded file
It should
::
mingw-get install binutils gcc g++ mingw32 fortran gdb mingw32 mingw w32api g77==3.4.5
:githublink:`%|py|28`
"""
if version is not None:
raise ValueError("cannot specify a version")
if not sys.platform.startswith("win"):
raise NotImplementedError(
"TDM-GCC can only be installed on Windows at the moment")
url = "http://tdm-gcc.tdragon.net/download"
page = download_page(url, is406=True)
reg = re.compile(
"<a href=\\\"http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC[%]20Installer/(tdm64-.*?[.]exe)/download\\\"")
find = reg.findall(page)
if len(find) == 0:
raise Exception("unable to find the file to download at " +
url + "\nfound: " + str(len(find)) + "\n" + "\n".join(find))
name = find[0]
newurl = "http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/{0}/download?use_mirror=autoselect".format(
name)
outfile = os.path.join(dest_folder, name)
fLOG("[pymy] tdm-gcc, download from ", newurl)
file = download_from_sourceforge(
newurl,
outfile,
fLOG=fLOG,
temp_folder=dest_folder)
if install:
raise NotImplementedError()
return file