[Pkg-privacy-commits] [onionshare] 22/55: Add instructions for installing cx_Freeze in Windows, and add cx_Freeze support to setup.py for Windows
Ulrike Uhlig
u-guest at moszumanska.debian.org
Thu Sep 8 10:26:47 UTC 2016
This is an automated email from the git hooks/post-receive script.
u-guest pushed a commit to branch debian
in repository onionshare.
commit 3f1180c404082ce9d8cdcd70071b4594a60727a6
Author: Micah Lee <micah at micahflee.com>
Date: Sun Sep 4 19:36:56 2016 -0700
Add instructions for installing cx_Freeze in Windows, and add cx_Freeze support to setup.py for Windows
---
BUILD.md | 10 +++++++-
setup.py | 86 +++++++++++++++++++++++++++++++++++++++-------------------------
2 files changed, 62 insertions(+), 34 deletions(-)
diff --git a/BUILD.md b/BUILD.md
index 4027a32..971bdb8 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -98,7 +98,15 @@ Download the latest Python 3.5.x, 32-bit (x86) from https://www.python.org/downl
Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-windows-x86-2.0.3-1-online.exe`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x.
-Open a command prompt and install some dependencies with pip: `pip install pyinstaller==3.1.1 pypiwin32 flask stem PyQt5`
+Installing cx_Freeze with support for python 3.5 is annoying. Here are the steps (thanks https://github.com/sekrause/cx_Freeze-Wheels):
+
+* Download and install the Visual C++ Build Tools 2005 from http://go.microsoft.com/fwlink/?LinkId=691126. I downloaded `visualcppbuildtools_full.exe`.
+* Install the python wheel package: `pip install wheel`
+* Download a [snapshot](https://bitbucket.org/anthony_tuininga/cx_freeze/downloads) of the latest development version of cx_Freeze, extract it, and cd into the folder you extracted it to
+* Build the package: `python setup.py bdist_wheel`
+* Install it with pip: `pip install dist\cx_Freeze-5.0-cp35-cp35m-win32.whl`
+
+Open a command prompt and install dependencies with pip: `pip install pypiwin32 flask stem PyQt5`
Download and install the [Microsoft Visual C++ 2008 Redistributable Package (x86)](http://www.microsoft.com/en-us/download/details.aspx?id=29).
diff --git a/setup.py b/setup.py
index 95273dd..c0bac7b 100644
--- a/setup.py
+++ b/setup.py
@@ -19,12 +19,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
-import os, sys
-
-try:
- from setuptools import setup
-except ImportError:
- from distutils.core import setup
+import os, sys, platform
def file_list(path):
files = []
@@ -77,30 +72,55 @@ html = [
'resources/html/404.html'
]
-setup(
- name='onionshare',
- version=version,
- description=description,
- long_description=long_description,
- author='Micah Lee',
- author_email='micah at micahflee.com',
- url='https://github.com/micahflee/onionshare',
- license="GPL v3",
- keywords='onion, share, onionshare, tor, anonymous, web server',
- 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'), images),
- (os.path.join(sys.prefix, 'share/onionshare/locale'), locale),
- (os.path.join(sys.prefix, 'share/onionshare/html'), html),
- ('/usr/share/nautilus-python/extensions/', ['install/scripts/onionshare-nautilus.py']),
- ]
-)
+os = platform.system()
+
+if os == 'Windows':
+ from cx_Freeze import setup, Executable
+ #base = "Win32GUI"
+ base = None
+ setup(
+ name="onionshare",
+ version=version,
+ description=description,
+ long_description=long_description,
+ options={
+ "build_exe": {
+ "packages": [],
+ "excludes": []
+ }
+ },
+ executables=[
+ Executable("install/scripts/onionshare", base=base),
+ Executable("install/scripts/onionshare-gui", base=base)
+ ]
+ )
+
+else:
+ from setuptools import setup
+ setup(
+ name='onionshare',
+ version=version,
+ description=description,
+ long_description=long_description,
+ author='Micah Lee',
+ author_email='micah at micahflee.com',
+ url='https://github.com/micahflee/onionshare',
+ license="GPL v3",
+ keywords='onion, share, onionshare, tor, anonymous, web server',
+ 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'), images),
+ (os.path.join(sys.prefix, 'share/onionshare/locale'), locale),
+ (os.path.join(sys.prefix, 'share/onionshare/html'), html),
+ ('/usr/share/nautilus-python/extensions/', ['install/scripts/onionshare-nautilus.py']),
+ ]
+ )
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/onionshare.git
More information about the Pkg-privacy-commits
mailing list