1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
--- spyder-3.2.3.orig/setup.py 2017-08-29 00:42:56.000000000 +0200
+++ spyder-3.2.3/setup.py 2017-09-16 20:57:08.610147911 +0200
@@ -77,13 +77,7 @@
def get_data_files():
"""Return data_files in a platform dependent manner"""
if sys.platform.startswith('linux'):
- if PY3:
- data_files = [('share/applications', ['scripts/spyder3.desktop']),
- ('share/pixmaps', ['img_src/spyder3.png']),
- ('share/metainfo', ['scripts/spyder3.appdata.xml'])]
- else:
- data_files = [('share/applications', ['scripts/spyder.desktop']),
- ('share/pixmaps', ['img_src/spyder.png'])]
+ data_files = [('share/pixmaps', ['img_src/spyder.png'])]
elif os.name == 'nt':
data_files = [('scripts', ['img_src/spyder.ico',
'img_src/spyder_reset.ico'])]
@@ -106,102 +100,6 @@
#==============================================================================
-# Make Linux detect Spyder desktop file
-#==============================================================================
-class MyInstallData(install_data):
- def run(self):
- install_data.run(self)
- if sys.platform.startswith('linux'):
- try:
- subprocess.call(['update-desktop-database'])
- except:
- print("ERROR: unable to update desktop database",
- file=sys.stderr)
-CMDCLASS = {'install_data': MyInstallData}
-
-
-#==============================================================================
-# Sphinx build (documentation)
-#==============================================================================
-def get_html_help_exe():
- """Return HTML Help Workshop executable path (Windows only)"""
- if os.name == 'nt':
- hhc_base = r'C:\Program Files%s\HTML Help Workshop\hhc.exe'
- for hhc_exe in (hhc_base % '', hhc_base % ' (x86)'):
- if osp.isfile(hhc_exe):
- return hhc_exe
- else:
- return
-
-try:
- from sphinx import setup_command
-
- class MyBuild(build):
- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
- + build.user_options
- def __init__(self, *args, **kwargs):
- build.__init__(self, *args, **kwargs)
- self.no_doc = False
- def with_doc(self):
- setup_dir = os.path.dirname(os.path.abspath(__file__))
- is_doc_dir = os.path.isdir(os.path.join(setup_dir, 'doc'))
- install_obj = self.distribution.get_command_obj('install')
- return (is_doc_dir and not self.no_doc and not install_obj.no_doc)
- sub_commands = build.sub_commands + [('build_doc', with_doc)]
- CMDCLASS['build'] = MyBuild
-
-
- class MyInstall(install):
- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
- + install.user_options
- def __init__(self, *args, **kwargs):
- install.__init__(self, *args, **kwargs)
- self.no_doc = False
- CMDCLASS['install'] = MyInstall
-
-
- class MyBuildDoc(setup_command.BuildDoc):
- def run(self):
- build = self.get_finalized_command('build')
- sys.path.insert(0, os.path.abspath(build.build_lib))
- dirname = self.distribution.get_command_obj('build').build_purelib
- self.builder_target_dir = osp.join(dirname, 'spyder', 'doc')
-
- if not osp.exists(self.builder_target_dir):
- os.mkdir(self.builder_target_dir)
-
- hhc_exe = get_html_help_exe()
- self.builder = "html" if hhc_exe is None else "htmlhelp"
-
- try:
- setup_command.BuildDoc.run(self)
- except UnicodeDecodeError:
- print("ERROR: unable to build documentation because Sphinx "\
- "do not handle source path with non-ASCII characters. "\
- "Please try to move the source package to another "\
- "location (path with *only* ASCII characters).",
- file=sys.stderr)
- sys.path.pop(0)
-
- # Building chm doc, if HTML Help Workshop is installed
- if hhc_exe is not None:
- fname = osp.join(self.builder_target_dir, 'Spyderdoc.chm')
- subprocess.call('"%s" %s' % (hhc_exe, fname), shell=True)
- if osp.isfile(fname):
- dest = osp.join(dirname, 'spyder')
- try:
- shutil.move(fname, dest)
- except shutil.Error:
- print("Unable to replace %s" % dest)
- shutil.rmtree(self.builder_target_dir)
-
- CMDCLASS['build_doc'] = MyBuildDoc
-except ImportError:
- print('WARNING: unable to build documentation because Sphinx '\
- 'is not installed', file=sys.stderr)
-
-
-#==============================================================================
# Main scripts
#==============================================================================
# NOTE: the '[...]_win_post_install.py' script is installed even on non-Windows
@@ -261,8 +159,7 @@
'Programming Language :: Python :: 3',
'Development Status :: 5 - Production/Stable',
'Topic :: Scientific/Engineering',
- 'Topic :: Software Development :: Widget Sets'],
- cmdclass=CMDCLASS)
+ 'Topic :: Software Development :: Widget Sets'])
#==============================================================================
|