code: def make_long_description():
      
      readme_path = README_PATH
  
      # Remove our HTML comments because PyPI does not allow it.
      # See the setup.py docstring for more info on this.
      readme_md = strip_html_comments(read(readme_path))
      history_md = strip_html_comments(read(HISTORY_PATH))
      license_md = """\
  License
  =======
  
  """ + read(LICENSE_PATH)
  
      sections = [readme_md, history_md, license_md]
      md_description = '\n\n'.join(sections)
  
      # Write the combined Markdown file to a temp path.
      md_ext = os.path.splitext(readme_path)[1]
      md_description_path = make_temp_path(RST_DESCRIPTION_PATH, new_ext=md_ext)
      write(md_description, md_description_path)
  
      rst_temp_path = make_temp_path(RST_DESCRIPTION_PATH)
      long_description = convert_md_to_rst(md_path=md_description_path,
                                           rst_temp_path=rst_temp_path)
  
      return "\n".join([RST_LONG_DESCRIPTION_INTRO, long_description])
docs: Generate the reST long_description for setup() from source files.
  
      Returns the generated long_description as a unicode string.