From 2345df30d5520452a21dc91e661de47a3b0f913f Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Sat, 7 Jan 2017 17:45:09 -0800 Subject: [PATCH] Remove cx_Freeze code from setup.py (so remove OSX/Windows), and refactor Linux slightly to use file_list function --- setup.py | 121 +++++++++---------------------------------------------- 1 file changed, 20 insertions(+), 101 deletions(-) diff --git a/setup.py b/setup.py index 097fb035..87ce1889 100644 --- a/setup.py +++ b/setup.py @@ -20,6 +20,7 @@ along with this program. If not, see . """ import os, sys, platform, tempfile +from distutils.core import setup def file_list(path): files = [] @@ -45,104 +46,22 @@ url = 'https://github.com/micahflee/onionshare' license = 'GPL v3' keywords = 'onion, share, onionshare, tor, anonymous, web server' -p = platform.system() - -# Windows and Mac -if p == 'Windows' or p == 'Darwin': - from cx_Freeze import setup, Executable - - if p == 'Windows': - executables = [ - Executable('install/scripts/onionshare', - icon='install/onionshare.ico', - base=None), - Executable('install/scripts/onionshare-gui', - icon='install/onionshare.ico', - shortcutName='OnionShare', - shortcutDir='ProgramMenuFolder', - base='Win32GUI') - ] - custom_info_plist = '' - - elif p == 'Darwin': - executables = [ - Executable('install/scripts/onionshare-gui'), - Executable('install/scripts/onionshare') - ] - - # Write the correct version into Info.plist - f = tempfile.NamedTemporaryFile(mode='w') - custom_info_plist = f.name - f.write(open('install/Info.plist').read().replace('{VERSION}', str(version))) - f.flush() - - setup( - name='OnionShare', version=version, - description=description, long_description=long_description, - author=author, author_email=author_email, - url=url, license=license, keywords=keywords, - options={ - 'build_exe': { - 'packages': ['jinja2.ext'], - 'excludes': [], - 'include_files': ['resources'] - }, - 'bdist_mac': { - 'iconfile': 'install/onionshare.icns', - 'bundle_name': 'OnionShare', - 'qt_menu_nib': '/usr/local/Cellar/qt5/5.6.1-1/plugins/platforms', - 'custom_info_plist': custom_info_plist - } - }, - executables=executables - ) - -# Linux -else: - from setuptools import setup - setup( - name='onionshare', version=version, - description=description, long_description=long_description, - author=author, author_email=author_email, - url=url, license=license, keywords=keywords, - packages=['onionshare', 'onionshare_gui'], - include_package_data=True, - scripts=['install/scripts/onionshare', 'install/scripts/onionshare-gui'], - data_files=[ - (os.path.join(sys.prefix, 'share/applications'), ['install/onionshare.desktop']), - (os.path.join(sys.prefix, 'share/appdata'), ['install/onionshare.appdata.xml']), - (os.path.join(sys.prefix, 'share/pixmaps'), ['install/onionshare80.xpm']), - (os.path.join(sys.prefix, 'share/onionshare'), [ - 'resources/version.txt', - 'resources/wordlist.txt' - ]), - (os.path.join(sys.prefix, 'share/onionshare/images'), [ - 'resources/images/logo.png', - 'resources/images/drop_files.png', - 'resources/images/server_stopped.png', - 'resources/images/server_started.png', - 'resources/images/server_working.png' - ]), - (os.path.join(sys.prefix, 'share/onionshare/locale'), [ - 'resources/locale/cs.json', - 'resources/locale/de.json', - 'resources/locale/en.json', - 'resources/locale/eo.json', - 'resources/locale/es.json', - 'resources/locale/fi.json', - 'resources/locale/fr.json', - 'resources/locale/it.json', - 'resources/locale/nl.json', - 'resources/locale/no.json', - 'resources/locale/pt.json', - 'resources/locale/ru.json', - 'resources/locale/tr.json' - ]), - (os.path.join(sys.prefix, 'share/onionshare/html'), [ - 'resources/html/index.html', - 'resources/html/denied.html', - 'resources/html/404.html' - ]), - ('/usr/share/nautilus-python/extensions/', ['install/scripts/onionshare-nautilus.py']), - ] - ) +setup( + name='onionshare', version=version, + description=description, long_description=long_description, + author=author, author_email=author_email, + url=url, license=license, keywords=keywords, + packages=['onionshare', 'onionshare_gui'], + include_package_data=True, + scripts=['install/scripts/onionshare', 'install/scripts/onionshare-gui'], + data_files=[ + (os.path.join(sys.prefix, 'share/applications'), ['install/onionshare.desktop']), + (os.path.join(sys.prefix, 'share/appdata'), ['install/onionshare.appdata.xml']), + (os.path.join(sys.prefix, 'share/pixmaps'), ['install/onionshare80.xpm']), + (os.path.join(sys.prefix, 'share/onionshare'), file_list('resources')), + (os.path.join(sys.prefix, 'share/onionshare/images'), file_list('resources/images')), + (os.path.join(sys.prefix, 'share/onionshare/locale'), file_list('resources/locale')), + (os.path.join(sys.prefix, 'share/onionshare/html'), file_list('resources/html')), + ('/usr/share/nautilus-python/extensions/', ['install/scripts/onionshare-nautilus.py']) + ] +)