install.py

Sat, 19 Jul 2014 13:56:43 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 19 Jul 2014 13:56:43 +0200
changeset 3705
a88eb398a4ed
parent 3697
c947a7eaace4
child 3714
4080395e3426
permissions
-rw-r--r--

Fixed an issue in the install script causing a wrong application name on Mac.

12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 #!/usr/bin/env python3
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3
3160
209a07d7e401 Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3036
diff changeset
4 # Copyright (c) 2002-2014 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 #
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
6 # This is the install script for eric6.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
9 Installation script for the eric6 IDE and all eric6 related tools.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3065
diff changeset
12 from __future__ import unicode_literals
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3065
diff changeset
13 from __future__ import print_function
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
14 try:
2846
b852fe4d153a Fix for the installer script
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2791
diff changeset
15 import cStringIO as io
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
16 except (ImportError):
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3065
diff changeset
17 import io # __IGNORE_WARNING__
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2480
diff changeset
18
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 import sys
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 import os
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import re
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 import compileall
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 import py_compile
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 import glob
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 import shutil
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 import fnmatch
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 import distutils.sysconfig
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
28 import codecs
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 # Define the globals.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 progName = None
1658
c61997a63efe Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1538
diff changeset
32 currDir = os.getcwd()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 modDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 pyModDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 platBinDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 distDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 apisDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 doCleanup = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 doCompile = True
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
40 includePythonVariant = False
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 cfg = {}
3468
869d0b6e1e16 Added an API file for QSS and corrected an issue in the APIs manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
42 progLanguages = ["Python", "Ruby", "QSS"]
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
43 sourceDir = "eric"
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
44 configName = 'eric6config.py'
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
45 defaultMacAppBundleName = "eric6.app"
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
46 macAppBundleName = "eric6.app"
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
47 macAppBundlePath = "/Applications"
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
48 macPythonExe = "{0}/Resources/Python.app/Contents/MacOS/Python".format(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
49 sys.exec_prefix)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
51 # Define blacklisted versions of the prerequisites
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
52 BlackLists = {
1188
87c12a25512c Added a blacklisted sip version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1161
diff changeset
53 "sip": ["4.11", "4.12.3"],
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
54 "PyQt5": [],
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
55 "QScintilla2": [],
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
56 }
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
57 PlatformsBlackLists = {
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
58 "windows": {
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
59 "sip": [],
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
60 "PyQt5": [],
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
61 "QScintilla2": [],
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
62 },
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
63
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
64 "linux": {
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
65 "sip": [],
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
66 "PyQt5": [],
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
67 "QScintilla2": [],
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
68 },
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
69
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
70 "mac": {
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
71 "sip": [],
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
72 "PyQt5": [],
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
73 "QScintilla2": [],
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
74 },
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
75 }
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
76
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
77 # Define file name markers for Python variants
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
78 PythonMarkers = {
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
79 2: "_py2",
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
80 3: "_py3",
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
81 }
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
82
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
83
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
84 def exit(rcode=0):
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
85 """
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
86 Exit the install script.
3019
7912530a33e2 Fixed a few documentation strings that got broken while doing the line shortening job. That concludes the later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3003
diff changeset
87
7912530a33e2 Fixed a few documentation strings that got broken while doing the line shortening job. That concludes the later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3003
diff changeset
88 @param rcode result code to report back (integer)
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
89 """
1658
c61997a63efe Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1538
diff changeset
90 global currDir
c61997a63efe Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1538
diff changeset
91
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
92 if sys.platform.startswith("win"):
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
93 # different meaning of input between Py2 and Py3
2428
11e6e63a89d0 Wrapped calls to input() by try-except in install.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2423
diff changeset
94 try:
11e6e63a89d0 Wrapped calls to input() by try-except in install.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2423
diff changeset
95 input("Press enter to continue...")
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
96 except (EOFError, SyntaxError):
2428
11e6e63a89d0 Wrapped calls to input() by try-except in install.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2423
diff changeset
97 pass
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
98
1658
c61997a63efe Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1538
diff changeset
99 os.chdir(currDir)
c61997a63efe Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1538
diff changeset
100
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
101 sys.exit(rcode)
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
102
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
103
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
104 def usage(rcode=2):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 Display a usage message and exit.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 @param rcode the return code passed back to the calling process.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
110 global progName, modDir, distDir, apisDir
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
111 global macAppBundleName, macAppBundlePath, macPythonExe
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113 print()
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 print("Usage:")
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
115 if sys.platform == "darwin":
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
116 print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]"
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
117 " [-m name] [-p python]".format(progName))
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
118 elif sys.platform.startswith("win"):
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
119 print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file]"
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
120 .format(progName))
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
121 else:
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
122 print(" {0} [-chxyz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]"
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
123 .format(progName))
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
124 print("where:")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
125 print(" -h display this help message")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 print(" -a dir where the API files will be installed")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 if apisDir:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
128 print(" (default: {0})".format(apisDir))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 else:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130 print(" (no default value)")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
131 print(" -b dir where the binaries will be installed")
2586
d6daabefb7a6 Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2583
diff changeset
132 print(" (default: {0})".format(platBinDir))
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
133 print(" -d dir where eric6 python files will be installed")
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
134 print(" (default: {0})".format(modDir))
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
135 print(" -f file configuration file naming the various installation"
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
136 " paths")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 if not sys.platform.startswith("win"):
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
138 print(" -i dir temporary install prefix")
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
139 print(" (default: {0})".format(distDir))
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
140 if sys.platform == "darwin":
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
141 print(" -m name name of the Mac app bundle")
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
142 print(" (default: {0})".format(macAppBundleName))
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
143 print(" -n path path of the directory the Mac app bundle will")
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
144 print(" be created in")
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
145 print(" (default: {0}".format(macAppBundlePath))
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
146 print(" -p python name of the python executable")
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
147 print(" (default: {0})".format(macPythonExe))
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
148 print(" -c don't cleanup old installation first")
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
149 print(" -x don't perform dependency checks (use on your own"
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
150 " risk)")
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
151 print(" -y add the Python variant to the executable names")
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
152 print(" -z don't compile the installed python files")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 print()
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
154 print("The file given to the -f option must be valid Python code"
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
155 " defining a")
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
156 print("dictionary called 'cfg' with the keys 'ericDir', 'ericPixDir',"
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
157 " 'ericIconDir',")
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
158 print("'ericDTDDir', 'ericCSSDir', 'ericStylesDir', 'ericDocDir',"
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
159 " 'ericExamplesDir',")
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
160 print("'ericTranslationsDir', 'ericTemplatesDir', 'ericCodeTemplatesDir',")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161 print("'ericOthersDir','bindir', 'mdir' and 'apidir.")
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
162 print("These define the directories for the installation of the various"
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
163 " parts of eric6.")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
165 exit(rcode)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 def initGlobals():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 """
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
170 Module function to set the values of globals that need more than a
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2763
diff changeset
171 simple assignment.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
2586
d6daabefb7a6 Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2583
diff changeset
173 global platBinDir, modDir, pyModDir, apisDir
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 if sys.platform.startswith("win"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 platBinDir = sys.exec_prefix
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 if platBinDir.endswith("\\"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 platBinDir = platBinDir[:-1]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 platBinDir = "/usr/local/bin"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 modDir = distutils.sysconfig.get_python_lib(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 pyModDir = modDir
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
185 pyqtDataDir = os.path.join(modDir, "PyQt5")
2608
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
186 if os.path.exists(os.path.join(pyqtDataDir, "qsci")):
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
187 # it's the installer
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
188 qtDataDir = pyqtDataDir
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
189 else:
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
190 try:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
191 from PyQt5.QtCore import QLibraryInfo
2608
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
192 qtDataDir = QLibraryInfo.location(QLibraryInfo.DataPath)
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
193 except ImportError:
01118174a2f5 Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2586
diff changeset
194 qtDataDir = None
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 if qtDataDir:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 apisDir = os.path.join(qtDataDir, "qsci", "api")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 apisDir = None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 def copyToFile(name, text):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 Copy a string to a file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 @param name the name of the file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 @param text the contents to copy to the file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 """
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
208 f = open(name, "w")
2846
b852fe4d153a Fix for the installer script
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2791
diff changeset
209 if sys.version_info[0] == 2:
b852fe4d153a Fix for the installer script
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2791
diff changeset
210 text = codecs.encode(text, "utf-8")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 f.write(text)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 f.close()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 def wrapperName(dname, wfile):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 Create the platform specific name for the wrapper script.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 @param dname name of the directory to place the wrapper into
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 @param wfile basename (without extension) of the wrapper script
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 @return the name of the wrapper script
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 if sys.platform.startswith("win"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 wname = dname + "\\" + wfile + ".bat"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 wname = dname + "/" + wfile
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 return wname
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230
3613
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
231 def createPyWrapper(pydir, wfile, isGuiScript=True):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 Create an executable wrapper for a Python script.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
899
4687532058ba Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 896
diff changeset
235 @param pydir the name of the directory where the Python script will
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
236 eventually be installed (string)
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
237 @param wfile the basename of the wrapper (string)
902
c06241839b12 Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 900
diff changeset
238 @param isGuiScript flag indicating a wrapper script for a GUI
c06241839b12 Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 900
diff changeset
239 application (boolean)
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
240 @return the platform specific name of the wrapper (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 """
3613
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
242 global includePythonVariant
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
243
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
244 if includePythonVariant:
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
245 marker = PythonMarkers[sys.version_info.major]
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
246 else:
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
247 marker = ""
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
248
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 # all kinds of Windows systems
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 if sys.platform.startswith("win"):
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
251 wname = wfile + marker + ".bat"
899
4687532058ba Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 896
diff changeset
252 if isGuiScript:
900
c5d8b27ac6c1 Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 899
diff changeset
253 wrapper = \
1402
474db48f495c Fixed an issue in creating the startup scripts for Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1400
diff changeset
254 '''@echo off\n''' \
2583
92b902f6455e Fixed the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2577
diff changeset
255 '''start "" "{2}\\pythonw.exe"''' \
1400
a89de92379d5 Fixed an issue in creating the startup scripts for Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1390
diff changeset
256 ''' "{0}\\{1}.pyw"''' \
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
257 ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format(
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
258 pydir, wfile, sys.exec_prefix)
899
4687532058ba Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 896
diff changeset
259 else:
900
c5d8b27ac6c1 Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 899
diff changeset
260 wrapper = \
c5d8b27ac6c1 Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 899
diff changeset
261 '''@"{0}\\python" "{1}\\{2}.py"''' \
1402
474db48f495c Fixed an issue in creating the startup scripts for Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1400
diff changeset
262 ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format(
2577
14296525eff5 Changed the installation directory on Windows to be the 'Scripts' subdirectory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2480
diff changeset
263 sys.exec_prefix, pydir, wfile)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 # Mac OS X
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 elif sys.platform == "darwin":
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
267 major = sys.version_info.major
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
268 pyexec = "{0}/bin/pythonw{1}".format(sys.exec_prefix, major)
2618
bc7339209500 Fixed an issue in the install script related to the usage of a virtual environment on Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2608
diff changeset
269 if not os.path.exists(pyexec):
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
270 pyexec = "{0}/bin/python{1}".format(sys.exec_prefix, major)
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
271 wname = wfile + marker
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
272 wrapper = ('''#!/bin/sh\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
273 '''\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
274 '''exec "{0}" "{1}/{2}.py" "$@"\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
275 .format(pyexec, pydir, wfile))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 # *nix systems
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 else:
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
279 wname = wfile + marker
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
280 wrapper = ('''#!/bin/sh\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
281 '''\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
282 '''exec "{0}" "{1}/{2}.py" "$@"\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
283 .format(sys.executable, pydir, wfile))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 copyToFile(wname, wrapper)
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
286 os.chmod(wname, 0o755)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 return wname
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290
1115
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
291 def copyTree(src, dst, filters, excludeDirs=[], excludePatterns=[]):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 Copy Python, translation, documentation, wizards configuration,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 designer template files and DTDs of a directory tree.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 @param src name of the source directory
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 @param dst name of the destination directory
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 @param filters list of filter pattern determining the files to be copied
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 @param excludeDirs list of (sub)directories to exclude from copying
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
300 @keyparam excludePatterns list of filter pattern determining the files to
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
301 be skipped
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 names = os.listdir(src)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 except OSError:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
306 # ignore missing directories (most probably the i18n directory)
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
307 return
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 for name in names:
1115
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
310 skipIt = False
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
311 for excludePattern in excludePatterns:
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
312 if fnmatch.fnmatch(name, excludePattern):
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
313 skipIt = True
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 break
1115
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
315 if not skipIt:
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
316 srcname = os.path.join(src, name)
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
317 dstname = os.path.join(dst, name)
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
318 for filter in filters:
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
319 if fnmatch.fnmatch(srcname, filter):
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
320 if not os.path.isdir(dst):
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
321 os.makedirs(dst)
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
322 shutil.copy2(srcname, dstname)
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
323 os.chmod(dstname, 0o644)
1115
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
324 break
3032cc87dee2 Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents: 945
diff changeset
325 else:
3621
15f23ed3f216 Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3613
diff changeset
326 if os.path.isdir(srcname) and srcname not in excludeDirs:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
327 copyTree(srcname, dstname, filters,
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
328 excludePatterns=excludePatterns)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 def createGlobalPluginsDir():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 Create the global plugins directory, if it doesn't exist.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 global cfg, distDir
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
337 pdir = os.path.join(cfg['mdir'], "eric6plugins")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 fname = os.path.join(pdir, "__init__.py")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 if not os.path.exists(fname):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 if not os.path.exists(pdir):
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
341 os.mkdir(pdir, 0o755)
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
342 f = open(fname, "w")
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 473
diff changeset
343 f.write(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 '''# -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 Package containing the global plugins.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
349 '''
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 f.close()
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
352 os.chmod(fname, 0o644)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
355 def cleanupSource(dirName):
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
356 """
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
357 Cleanup the sources directory to get rid of leftover files
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
358 and directories.
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
359
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
360 @param dirName name of the directory to prune (string)
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
361 """
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
362 # step 1: delete all Ui_*.py files without a corresponding
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
363 # *.ui file
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
364 dirListing = os.listdir(dirName)
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
365 for formName, sourceName in [
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
366 (f.replace('Ui_', "").replace(".py", ".ui"), f)
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
367 for f in dirListing if fnmatch.fnmatch(f, "Ui_*.py")]:
3594
778ae276540f Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3593
diff changeset
368 if not os.path.exists(os.path.join(dirName, formName)):
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
369 os.remove(os.path.join(dirName, sourceName))
3594
778ae276540f Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3593
diff changeset
370 if os.path.exists(os.path.join(dirName, sourceName + "c")):
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
371 os.remove(os.path.join(dirName, sourceName + "c"))
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
372
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
373 # step 2: delete the __pycache__ directory and all *.pyc files
3594
778ae276540f Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3593
diff changeset
374 if os.path.exists(os.path.join(dirName, "__pycache__")):
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
375 shutil.rmtree(os.path.join(dirName, "__pycache__"))
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
376 for name in [f for f in dirListing if fnmatch.fnmatch(f, "*.pyc")]:
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
377 os.remove(os.path.join(dirName, name))
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
378
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
379 # step 3: descent into subdirectories and delete them if empty
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
380 for name in os.listdir(dirName):
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
381 name = os.path.join(dirName, name)
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
382 if os.path.isdir(name):
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
383 cleanupSource(name)
3595
a8433c7a0d8c Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3594
diff changeset
384 if len(os.listdir(name)) == 0:
a8433c7a0d8c Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3594
diff changeset
385 os.rmdir(name)
3593
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
386
e3435c1ce0cf Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3542
diff changeset
387
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 def cleanUp():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 Uninstall the old eric files.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 """
3705
a88eb398a4ed Fixed an issue in the install script causing a wrong application name on Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3697
diff changeset
392 global platBinDir, includePythonVariant
2306
0f020f39977b Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2275
diff changeset
393
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 try:
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
395 from eric6config import getConfig
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 except ImportError:
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
397 # eric6 wasn't installed previously
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 return
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 global pyModDir, progLanguages
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401
146
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
402 # Remove the menu entry for Linux systems
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
403 if sys.platform.startswith("linux"):
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
404 for name in ["/usr/share/pixmaps/eric.png",
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
405 "/usr/share/applications/eric6.desktop",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
406 "/usr/share/appdata/eric6.appdata.xml",
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
407 "/usr/share/pixmaps/ericWeb.png",
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
408 "/usr/share/applications/eric6_webbrowser.desktop"]:
146
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
409 if os.path.exists(name):
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
410 os.remove(name)
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
411
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 # Remove the wrapper scripts
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 rem_wnames = [
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
414 "eric6_api", "eric6_compare",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
415 "eric6_configure", "eric6_diff",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
416 "eric6_doc", "eric6_qregularexpression",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
417 "eric6_qregexp", "eric6_re",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
418 "eric6_trpreviewer", "eric6_uipreviewer",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
419 "eric6_unittest", "eric6",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
420 "eric6_tray", "eric6_editor",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
421 "eric6_plugininstall", "eric6_pluginuninstall",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
422 "eric6_pluginrepository", "eric6_sqlbrowser",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
423 "eric6_webbrowser", "eric6_iconeditor",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
424 "eric6_snap",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 ]
3597
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
426 if includePythonVariant:
137370f7114b Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3596
diff changeset
427 marker = PythonMarkers[sys.version_info.major]
3678
2866383fd342 Adjusted the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3670
diff changeset
428 rem_wnames = [n + marker for n in rem_wnames]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
430 try:
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
431 for rem_wname in rem_wnames:
2586
d6daabefb7a6 Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2583
diff changeset
432 for d in [platBinDir, getConfig('bindir')]:
2577
14296525eff5 Changed the installation directory on Windows to be the 'Scripts' subdirectory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2480
diff changeset
433 rwname = wrapperName(d, rem_wname)
14296525eff5 Changed the installation directory on Windows to be the 'Scripts' subdirectory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2480
diff changeset
434 if os.path.exists(rwname):
14296525eff5 Changed the installation directory on Windows to be the 'Scripts' subdirectory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2480
diff changeset
435 os.remove(rwname)
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
436
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
437 # Cleanup our config file(s)
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
438 for name in ['eric6config.py', 'eric6config.pyc', 'eric6.pth']:
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
439 e5cfile = os.path.join(pyModDir, name)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
440 if os.path.exists(e5cfile):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
441 os.remove(e5cfile)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
442 e5cfile = os.path.join(pyModDir, "__pycache__", name)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
443 path, ext = os.path.splitext(e5cfile)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
444 for f in glob.glob("{0}.*{1}".format(path, ext)):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
445 os.remove(f)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
446
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
447 # Cleanup the install directories
3003
cb43c34239b1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2992
diff changeset
448 for name in ['ericExamplesDir', 'ericDocDir', 'ericDTDDir',
cb43c34239b1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2992
diff changeset
449 'ericCSSDir', 'ericIconDir', 'ericPixDir',
cb43c34239b1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2992
diff changeset
450 'ericTemplatesDir', 'ericCodeTemplatesDir',
cb43c34239b1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2992
diff changeset
451 'ericOthersDir', 'ericStylesDir', 'ericDir']:
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
452 if os.path.exists(getConfig(name)):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
453 shutil.rmtree(getConfig(name), True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
455 # Cleanup translations
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
456 for name in glob.glob(
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
457 os.path.join(getConfig('ericTranslationsDir'), 'eric6_*.qm')):
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
458 if os.path.exists(name):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
459 os.remove(name)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
460
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
461 # Cleanup API files
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
462 try:
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
463 apidir = getConfig('apidir')
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
464 for progLanguage in progLanguages:
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
465 for name in getConfig('apis'):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
466 apiname = os.path.join(apidir, progLanguage.lower(), name)
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
467 if os.path.exists(apiname):
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
468 os.remove(apiname)
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
469 for apiname in glob.glob(
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
470 os.path.join(apidir, progLanguage.lower(), "*.bas")):
3697
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
471 if os.path.basename(apiname) != "eric5.bas":
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
472 os.remove(apiname)
1381
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
473 except AttributeError:
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
474 pass
b66bcd609f83 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1346
diff changeset
475
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
476 if sys.platform == "darwin":
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
477 # delete the Mac app bundle
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
478 if os.path.exists("/Developer/Applications/Eric6"):
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
479 shutil.rmtree("/Developer/Applications/Eric6")
3509
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
480 try:
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
481 macAppBundlePath = getConfig("macAppBundlePath")
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
482 macAppBundleName = getConfig("macAppBundleName")
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
483 except AttributeError:
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
484 macAppBundlePath = "/Applications"
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
485 macAppBundleName = "eric6.app"
3509
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
486 if os.path.exists("/Applications/" + macAppBundleName):
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
487 shutil.rmtree("/Applications/" + macAppBundleName)
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
488 bundlePath = os.path.join(macAppBundlePath, macAppBundleName)
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
489 if os.path.exists(bundlePath):
bf0673c8f155 Fixed the install script again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3508
diff changeset
490 shutil.rmtree(bundlePath)
2420
c5a0bc75d5b6 Fixed an issue in the install script.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2411
diff changeset
491 except (IOError, OSError) as msg:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
492 sys.stderr.write(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
493 'Error: {0}\nTry install with admin rights.\n'.format(msg))
1385
9eaf0cda4fb4 Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1381
diff changeset
494 exit(7)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496
2177
a59ffbc5fe4c Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2160
diff changeset
497 def shutilCopy(src, dst, perm=0o644):
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
498 """
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
499 Wrapper function around shutil.copy() to ensure the permissions.
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
500
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
501 @param src source file name (string)
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
502 @param dst destination file name or directory name (string)
2177
a59ffbc5fe4c Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2160
diff changeset
503 @keyparam perm permissions to be set (integer)
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
504 """
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
505 shutil.copy(src, dst)
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
506 if os.path.isdir(dst):
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
507 dst = os.path.join(dst, os.path.basename(src))
2177
a59ffbc5fe4c Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2160
diff changeset
508 os.chmod(dst, perm)
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
509
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
510
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 def installEric():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513 Actually perform the installation steps.
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
514
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
515 @return result code (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
516 """
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
517 global distDir, doCleanup, cfg, progLanguages, sourceDir, configName
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519 # Create the platform specific wrappers.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 wnames = []
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
521 for name in ["eric6_api", "eric6_doc"]:
3613
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
522 wnames.append(createPyWrapper(cfg['ericDir'], name, False))
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
523 for name in ["eric6_compare", "eric6_configure", "eric6_diff",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
524 "eric6_editor", "eric6_iconeditor", "eric6_plugininstall",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
525 "eric6_pluginrepository", "eric6_pluginuninstall",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
526 "eric6_qregexp", "eric6_qregularexpression", "eric6_re",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
527 "eric6_snap", "eric6_sqlbrowser", "eric6_tray",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
528 "eric6_trpreviewer", "eric6_uipreviewer", "eric6_unittest",
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
529 "eric6_webbrowser", "eric6"]:
3613
47e29cc0f29c Refined the install and cleanup scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3612
diff changeset
530 wnames.append(createPyWrapper(cfg['ericDir'], name))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 # set install prefix, if not None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 if distDir:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
534 for key in list(cfg.keys()):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 cfg[key] = os.path.normpath(distDir + os.sep + cfg[key])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 # Install the files
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 # make the install directories
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
540 for key in list(cfg.keys()):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 if not os.path.isdir(cfg[key]):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 os.makedirs(cfg[key])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
544 # copy the eric6 config file
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 if distDir:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
546 shutilCopy(configName, cfg['mdir'])
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
547 if os.path.exists(configName + 'c'):
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
548 shutilCopy(configName + 'c', cfg['mdir'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 else:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
550 shutilCopy(configName, modDir)
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
551 if os.path.exists(configName + 'c'):
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
552 shutilCopy(configName + 'c', modDir)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
554 # copy the various parts of eric6
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
555 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
556 sourceDir, cfg['ericDir'],
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
557 ['*.py', '*.pyc', '*.pyo', '*.pyw'],
1130
3e9f0330f833 Removed some obsolete code (forgot about it) and made some PEP-8 related fixes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1115
diff changeset
558 ['{1}{0}Examples'.format(os.sep, sourceDir)],
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
559 excludePatterns=["eric6config.py*"])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
560 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
561 sourceDir, cfg['ericDir'], ['*.rb'],
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
562 ['{1}{0}Examples'.format(os.sep, sourceDir)])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
563 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
564 '{1}{0}Plugins'.format(os.sep, sourceDir),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
565 '{0}{1}Plugins'.format(cfg['ericDir'], os.sep),
203
0bd3912f3c5f Refined the Mercurial log browser and log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
566 ['*.png', '*.style'])
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
567 copyTree(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
568 '{1}{0}Documentation'.format(os.sep, sourceDir), cfg['ericDocDir'],
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
569 ['*.html', '*.qch'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
570 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
571 '{1}{0}DTDs'.format(os.sep, sourceDir), cfg['ericDTDDir'],
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
572 ['*.dtd'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
573 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
574 '{1}{0}CSSs'.format(os.sep, sourceDir), cfg['ericCSSDir'],
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
575 ['*.css'])
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
576 copyTree(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
577 '{1}{0}Styles'.format(os.sep, sourceDir), cfg['ericStylesDir'],
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
578 ['*.qss'])
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
579 copyTree(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
580 '{1}{0}i18n'.format(os.sep, sourceDir), cfg['ericTranslationsDir'],
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
581 ['*.qm'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
582 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
583 '{1}{0}icons'.format(os.sep, sourceDir), cfg['ericIconDir'],
2217
e80c74f2a25a Added some icons to the "Languages" and "End-of-Line Type" context menus of the editor and changed the status labels for programming language and end-of-line type of the main window to show an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2177
diff changeset
584 ['*.png', 'LICENSE*.*', 'readme.txt'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
585 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
586 '{1}{0}pixmaps'.format(os.sep, sourceDir), cfg['ericPixDir'],
1538
c14a5ecdb6f4 Fixed install script (forgot to install the *.gif icons).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1525
diff changeset
587 ['*.png', '*.xpm', '*.ico', '*.gif'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
588 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
589 '{1}{0}DesignerTemplates'.format(os.sep, sourceDir),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
590 cfg['ericTemplatesDir'],
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
591 ['*.tmpl'])
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
592 copyTree(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
593 '{1}{0}CodeTemplates'.format(os.sep, sourceDir),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
594 cfg['ericCodeTemplatesDir'],
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
595 ['*.tmpl'])
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
596 copyTree(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
597 '{1}{0}Examples'.format(os.sep, sourceDir), cfg['ericExamplesDir'],
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
598 ['*.py', '*.pyc', '*.pyo'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 # copy the wrappers
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 for wname in wnames:
2177
a59ffbc5fe4c Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2160
diff changeset
602 shutilCopy(wname, cfg['bindir'], perm=0o755)
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
603 os.remove(wname)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605 # copy the license file
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
606 shutilCopy(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
607 '{1}{0}LICENSE.GPL3'.format(os.sep, sourceDir), cfg['ericDir'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 # create the global plugins directory
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 createGlobalPluginsDir()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611
2420
c5a0bc75d5b6 Fixed an issue in the install script.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2411
diff changeset
612 except (IOError, OSError) as msg:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
613 sys.stderr.write(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
614 'Error: {0}\nTry install with admin rights.\n'.format(msg))
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
615 return(7)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 # copy some text files to the doc area
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 for name in ["LICENSE.GPL3", "THANKS", "changelog"]:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 try:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
620 shutilCopy(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
621 '{2}{0}{1}'.format(os.sep, name, sourceDir), cfg['ericDocDir'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622 except EnvironmentError:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
623 print("Could not install '{2}{0}{1}'.".format(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
624 os.sep, name, sourceDir))
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
625 for name in glob.glob(os.path.join(sourceDir, 'README*.*')):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 try:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
627 shutilCopy(name, cfg['ericDocDir'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 except EnvironmentError:
622
54c2a58acef4 Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 620
diff changeset
629 print("Could not install '{1}'.".format(name))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 # copy some more stuff
1455
f708ac785a89 Corrected the install script for the QScintilla 2.6 changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1410
diff changeset
632 for name in ['default.e4k', 'default_Mac.e4k']:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633 try:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
634 shutilCopy(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
635 '{2}{0}{1}'.format(os.sep, name, sourceDir),
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
636 cfg['ericOthersDir'])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 except EnvironmentError:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
638 print("Could not install '{2}{0}{1}'.".format(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
639 os.sep, name, sourceDir))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 # install the API file
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 for progLanguage in progLanguages:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 apidir = os.path.join(cfg['apidir'], progLanguage.lower())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 if not os.path.exists(apidir):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 os.makedirs(apidir)
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
646 for apiName in glob.glob(os.path.join(sourceDir, "APIs",
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
647 progLanguage, "*.api")):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 try:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
649 shutilCopy(apiName, apidir)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 except EnvironmentError:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
651 print("Could not install '{0}'.".format(apiName))
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
652 for apiName in glob.glob(os.path.join(sourceDir, "APIs",
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
653 progLanguage, "*.bas")):
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1188
diff changeset
654 try:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
655 shutilCopy(apiName, apidir)
1342
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1188
diff changeset
656 except EnvironmentError:
30226d5a7ffb Added code to write base class information to be used by the eric assistant plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1188
diff changeset
657 print("Could not install '{0}'.".format(apiName))
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
658 if progLanguage == "Python":
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
659 # copy Python3 API files to the same destination
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
660 for apiName in glob.glob(os.path.join(sourceDir, "APIs",
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
661 "Python3", "*.api")):
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
662 try:
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
663 shutilCopy(apiName, apidir)
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
664 except EnvironmentError:
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
665 print("Could not install '{0}'.".format(apiName))
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
666 for apiName in glob.glob(os.path.join(sourceDir, "APIs",
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
667 "Python3", "*.bas")):
3697
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
668 if os.path.exists(os.path.join(
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
669 apidir, os.path.basename(
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
670 apiName.replace(".bas", ".api")))):
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
671 try:
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
672 shutilCopy(apiName, apidir)
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
673 except EnvironmentError:
c947a7eaace4 Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3693
diff changeset
674 print("Could not install '{0}'.".format(apiName))
146
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
675
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
676 # create menu entry for Linux systems
afeb742e7148 Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
677 if sys.platform.startswith("linux"):
386
58c14f563abc Fixed an issue in the install.py script where some paths didn't honour the distDir settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 382
diff changeset
678 if distDir:
473
b314592e3d79 Corrected an issue in the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 441
diff changeset
679 dst = os.path.normpath(os.path.join(distDir, "usr/share/pixmaps"))
b314592e3d79 Corrected an issue in the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 441
diff changeset
680 if not os.path.exists(dst):
b314592e3d79 Corrected an issue in the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 441
diff changeset
681 os.makedirs(dst)
3607
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
682 shutilCopy(
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
683 os.path.join(sourceDir, "icons", "default", "eric.png"),
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
684 os.path.join(dst, "eric.png"))
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
685 shutilCopy(
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
686 os.path.join(sourceDir, "icons", "default", "ericWeb48.png"),
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
687 os.path.join(dst, "ericWeb.png"))
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
688 dst = os.path.normpath(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
689 os.path.join(distDir, "usr/share/applications"))
473
b314592e3d79 Corrected an issue in the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 441
diff changeset
690 if not os.path.exists(dst):
b314592e3d79 Corrected an issue in the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 441
diff changeset
691 os.makedirs(dst)
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
692 shutilCopy(os.path.join(sourceDir, "eric6.desktop"), dst)
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
693 shutilCopy(os.path.join(sourceDir, "eric6_webbrowser.desktop"),
3607
0baeb7c76a5b Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3597
diff changeset
694 dst)
3609
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
695 dst = os.path.normpath(
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
696 os.path.join(distDir, "usr/share/appdata"))
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
697 if not os.path.exists(dst):
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
698 os.makedirs(dst)
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
699 shutilCopy(os.path.join(sourceDir, "eric6.appdata.xml"), dst)
386
58c14f563abc Fixed an issue in the install.py script where some paths didn't honour the distDir settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 382
diff changeset
700 else:
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
701 shutilCopy(os.path.join(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
702 sourceDir, "icons", "default", "eric.png"),
1495
fa0f2cdd245b Changed the main window icon to use a transparent background.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1488
diff changeset
703 "/usr/share/pixmaps/eric.png")
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
704 shutilCopy(os.path.join(
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
705 sourceDir, "eric6.desktop"),
386
58c14f563abc Fixed an issue in the install.py script where some paths didn't honour the distDir settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 382
diff changeset
706 "/usr/share/applications")
3609
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
707 if os.path.exists("/usr/share/appdata"):
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
708 shutilCopy(os.path.join(
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
709 sourceDir, "eric6.appdata.xml"),
3609
5f17196652d5 Added an appdata file for the IDE to be installed on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3607
diff changeset
710 "/usr/share/appdata")
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
711 shutilCopy(os.path.join(
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
712 sourceDir, "icons", "default", "ericWeb48.png"),
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
713 "/usr/share/pixmaps/ericWeb.png")
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
714 shutilCopy(os.path.join(
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
715 sourceDir, "eric6_webbrowser.desktop"),
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
716 "/usr/share/applications")
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
717
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
718 # Create a Mac application bundle
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
719 if sys.platform == "darwin":
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
720 createMacAppBundle(cfg['ericDir'])
2383
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
721
e999256385bd Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents: 2312
diff changeset
722 return 0
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
723
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
724
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
725 def createMacAppBundle(pydir):
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
726 """
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
727 Create a Mac application bundle.
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
728
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
729 @param pydir the name of the directory where the Python script will
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
730 eventually be installed (string)
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
731 """
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
732 global cfg, sourceDir, macAppBundleName, macPythonExe, macAppBundlePath
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
733
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
734 dirs = {
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
735 "contents": "{0}/{1}/Contents/".format(
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
736 macAppBundlePath, macAppBundleName),
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
737 "exe": "{0}/{1}/Contents/MacOS".format(
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
738 macAppBundlePath, macAppBundleName),
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
739 "icns": "{0}/{1}/Contents/Resources".format(
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
740 macAppBundlePath, macAppBundleName)
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
741 }
1387
1734bc5f4f82 Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1385
diff changeset
742 os.makedirs(dirs["contents"])
3510
31d7e522ecb2 Yet another fix for the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3509
diff changeset
743 os.makedirs(dirs["exe"])
31d7e522ecb2 Yet another fix for the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3509
diff changeset
744 os.makedirs(dirs["icns"])
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
745
2308
f83826045e51 Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2307
diff changeset
746 if macAppBundleName == defaultMacAppBundleName:
f83826045e51 Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2307
diff changeset
747 starter = os.path.join(dirs["exe"], "eric")
f83826045e51 Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2307
diff changeset
748 os.symlink(macPythonExe, starter)
f83826045e51 Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2307
diff changeset
749 else:
3612
786d97a08a14 Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3609
diff changeset
750 starter = "python{0}".format(sys.version_info.major)
1488
de290ce82a75 Finally managed the issue with showing the correct name for the Mac OS X application menu entry in the main menu bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1474
diff changeset
751
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
752 wname = os.path.join(dirs["exe"], "eric6")
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
753 path = os.getenv("PATH", "")
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
754 if path:
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
755 pybin = os.path.join(sys.exec_prefix, "bin")
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
756 pathlist = path.split(os.pathsep)
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
757 if pybin not in pathlist:
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
758 pathlist.insert(0, pybin)
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
759 path = os.pathsep.join(pathlist)
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
760 wrapper = ('''#!/bin/sh\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
761 '''\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
762 '''PATH={0}\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
763 '''exec "{1}" "{2}/{3}.py" "$@"\n'''
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
764 .format(path, starter, pydir, "eric6"))
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
765 else:
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
766 wrapper = ('''#!/bin/sh\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
767 '''\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
768 '''exec "{0}" "{1}/{2}.py" "$@"\n'''
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
769 .format(starter, pydir, "eric6"))
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
770 copyToFile(wname, wrapper)
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
771 os.chmod(wname, 0o755)
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
772
2160
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
773 shutilCopy(os.path.join(sourceDir, "pixmaps", "eric_2.icns"),
1874d4410904 Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2145
diff changeset
774 os.path.join(dirs["icns"], "eric.icns"))
1390
f4a7915db1e6 Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1389
diff changeset
775
3022
57179e4cdadd Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3019
diff changeset
776 copyToFile(
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
777 os.path.join(dirs["contents"], "Info.plist"),
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
778 '''<?xml version="1.0" encoding="UTF-8"?>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
779 '''<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
780 ''' "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
781 '''<plist version="1.0">\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
782 '''<dict>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
783 ''' <key>CFBundleExecutable</key>\n'''
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
784 ''' <string>eric6</string>\n'''
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
785 ''' <key>CFBundleIconFile</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
786 ''' <string>eric.icns</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
787 ''' <key>CFBundleInfoDictionaryVersion</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
788 ''' <string>1.0</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
789 ''' <key>CFBundleName</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
790 ''' <string>{0}</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
791 ''' <key>CFBundleDisplayName</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
792 ''' <string>{0}</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
793 ''' <key>CFBundlePackageType</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
794 ''' <string>APPL</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
795 ''' <key>CFBundleSignature</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
796 ''' <string>????</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
797 ''' <key>CFBundleVersion</key>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
798 ''' <string>1.0</string>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
799 '''</dict>\n'''
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
800 '''</plist>\n'''.format(macAppBundleName.replace(".app", "")))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
801
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 def createInstallConfig():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
804 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
805 Create the installation config dictionary.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
806 """
2586
d6daabefb7a6 Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2583
diff changeset
807 global modDir, platBinDir, cfg, apisDir
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
809 ericdir = os.path.join(modDir, "eric6")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 cfg = {
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
811 'ericDir': ericdir,
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
812 'ericPixDir': os.path.join(ericdir, "pixmaps"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
813 'ericIconDir': os.path.join(ericdir, "icons"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
814 'ericDTDDir': os.path.join(ericdir, "DTDs"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
815 'ericCSSDir': os.path.join(ericdir, "CSSs"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
816 'ericStylesDir': os.path.join(ericdir, "Styles"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
817 'ericDocDir': os.path.join(ericdir, "Documentation"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
818 'ericExamplesDir': os.path.join(ericdir, "Examples"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
819 'ericTranslationsDir': os.path.join(ericdir, "i18n"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
820 'ericTemplatesDir': os.path.join(ericdir, "DesignerTemplates"),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
821 'ericCodeTemplatesDir': os.path.join(ericdir, 'CodeTemplates'),
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
822 'ericOthersDir': ericdir,
2586
d6daabefb7a6 Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2583
diff changeset
823 'bindir': platBinDir,
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
824 'mdir': modDir,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 }
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 if apisDir:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 cfg['apidir'] = apisDir
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 cfg['apidir'] = os.path.join(ericdir, "api")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 configLength = 15
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
832
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 def createConfig():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 Create a config file with the respective config entries.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 """
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
837 global cfg, sourceDir, macAppBundlePath
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 apis = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 for progLanguage in progLanguages:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
841 for apiName in glob.glob(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
842 os.path.join(sourceDir, "APIs", progLanguage, "*.api")):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
843 apis.append(os.path.basename(apiName))
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
844 if progLanguage == "Python":
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
845 # treat Python3 API files the same as Python API files
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
846 for apiName in glob.glob(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
847 os.path.join(sourceDir, "APIs", "Python3", "*.api")):
40
c2e5472b112c Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 21
diff changeset
848 apis.append(os.path.basename(apiName))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
850 fn = 'eric6config.py'
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
851 config = (
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
852 """# -*- coding: utf-8 -*-\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
853 """#\n"""
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
854 """# This module contains the configuration of the individual eric6"""
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
855 """ installation\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
856 """#\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
857 """\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
858 """_pkg_config = {{\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
859 """ 'ericDir': r'{0}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
860 """ 'ericPixDir': r'{1}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
861 """ 'ericIconDir': r'{2}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
862 """ 'ericDTDDir': r'{3}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
863 """ 'ericCSSDir': r'{4}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
864 """ 'ericStylesDir': r'{5}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
865 """ 'ericDocDir': r'{6}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
866 """ 'ericExamplesDir': r'{7}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
867 """ 'ericTranslationsDir': r'{8}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
868 """ 'ericTemplatesDir': r'{9}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
869 """ 'ericCodeTemplatesDir': r'{10}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
870 """ 'ericOthersDir': r'{11}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
871 """ 'bindir': r'{12}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
872 """ 'mdir': r'{13}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
873 """ 'apidir': r'{14}',\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
874 """ 'apis': {15},\n"""
3508
4861f0bb3509 Corrected the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3507
diff changeset
875 """ 'macAppBundlePath': r'{16}',\n"""
4861f0bb3509 Corrected the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3507
diff changeset
876 """ 'macAppBundleName': r'{17}',\n"""
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
877 """}}\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
878 """\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
879 """def getConfig(name):\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
880 """ '''\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
881 """ Module function to get a configuration value.\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
882 """\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
883 """ @param name name of the configuration value (string)\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
884 """ '''\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
885 """ try:\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
886 """ return _pkg_config[name]\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
887 """ except KeyError:\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
888 """ pass\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
889 """\n"""
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
890 """ raise AttributeError('"{{0}}" is not a valid configuration"""
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
891 """ value'.format(name))\n"""
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
892 ).format(
3036
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
893 cfg['ericDir'], cfg['ericPixDir'], cfg['ericIconDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
894 cfg['ericDTDDir'], cfg['ericCSSDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
895 cfg['ericStylesDir'], cfg['ericDocDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
896 cfg['ericExamplesDir'], cfg['ericTranslationsDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
897 cfg['ericTemplatesDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
898 cfg['ericCodeTemplatesDir'], cfg['ericOthersDir'],
30c81c9e88b8 Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
899 cfg['bindir'], cfg['mdir'],
3507
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
900 cfg['apidir'], apis,
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
901 macAppBundlePath, macAppBundleName,
b09e10d4f343 Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3468
diff changeset
902 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 copyToFile(fn, config)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
905
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
906 def doDependancyChecks():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 Perform some dependency checks.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
910 print('Checking dependencies')
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912 # perform dependency checks
3678
2866383fd342 Adjusted the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3670
diff changeset
913 if sys.version_info < (2, 7, 0):
2866383fd342 Adjusted the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3670
diff changeset
914 print('Sorry, you must have Python 2.7.0 or higher or '
3065
070b35dde35e Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3060
diff changeset
915 'Python 3.1.0 or higher.')
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
916 exit(5)
2846
b852fe4d153a Fix for the installer script
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2791
diff changeset
917 elif sys.version_info < (3, 1, 0) and sys.version_info[0] == 3:
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
918 print('Sorry, you must have Python 3.1.0 or higher.')
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
919 exit(5)
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
920 if sys.version_info > (3, 9, 9):
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
921 print('Sorry, eric6 requires Python 3 or Python 2 for running.')
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
922 exit(5)
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
923 print("Python Version: {0:d}.{1:d}.{2:d}".format(*sys.version_info[:3]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 try:
1525
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
926 import xml.etree # __IGNORE_WARNING__
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
927 except ImportError as msg:
2680
110ac646a3a0 Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2677
diff changeset
928 print('Your Python installation is missing the XML module.')
1525
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
929 print('Please install it and try again.')
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
930 exit(5)
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
931
1c7bd9144f43 Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
932 try:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
933 from PyQt5.QtCore import qVersion
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
934 except ImportError as msg:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
935 print('Sorry, please install PyQt5.')
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
936 print('Error: {0}'.format(msg))
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
937 exit(1)
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
938 print("Found PyQt5")
837
10547522aa98 Added a check for QtHelp to the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 796
diff changeset
939
10547522aa98 Added a check for QtHelp to the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 796
diff changeset
940 try:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
941 from PyQt5 import Qsci # __IGNORE_WARNING__
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
942
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
943 except ImportError as msg:
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
944 print("Sorry, please install QScintilla2 and")
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
945 print("its PyQt5 wrapper.")
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
946 print('Error: {0}'.format(msg))
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
947 exit(1)
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
948 print("Found QScintilla2")
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949
3681
3a79355b9ca5 Fixed a bugs in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3678
diff changeset
950 modulesOK = True
2312
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
951 for impModule in [
3681
3a79355b9ca5 Fixed a bugs in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3678
diff changeset
952 "PyQt5.QtGui", "PyQt5.QtNetwork", "PyQt5.QtPrintSupport",
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
953 "PyQt5.QtSql", "PyQt5.QtSvg", "PyQt5.QtWebKit",
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
954 "PyQt5.QtWebKitWidgets", "PyQt5.QtWidgets",
2312
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
955 ]:
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
956 name = impModule.split(".")[1]
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
957 try:
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
958 __import__(impModule)
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
959 print("Found", name)
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
960 except ImportError as msg:
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
961 print('Sorry, please install {0}.'.format(name))
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
962 print('Error: {0}'.format(msg))
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
963 modulesOK = False
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
964 if not modulesOK:
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
965 exit(1)
976dcb82c3e9 Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2308
diff changeset
966
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
967 # determine the platform dependent black list
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
968 if sys.platform.startswith("win"):
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
969 PlatformBlackLists = PlatformsBlackLists["windows"]
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
970 elif sys.platform.startswith("linux"):
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
971 PlatformBlackLists = PlatformsBlackLists["linux"]
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
972 else:
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
973 PlatformBlackLists = PlatformsBlackLists["mac"]
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
974
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
975 # check version of Qt
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
976 qtMajor = int(qVersion().split('.')[0])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
977 qtMinor = int(qVersion().split('.')[1])
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
978 if qtMajor < 5 or (qtMajor == 3 and qtMinor < 6):
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
979 print('Sorry, you must have Qt version 5.3.0 or higher.')
390
daa7c6ae6248 Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 386
diff changeset
980 exit(2)
433
988006cb898f Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 390
diff changeset
981 print("Qt Version: {0}".format(qVersion()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
982
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
983 # check version of sip
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
984 try:
3628
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
985 import sip
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
986 sipVersion = sip.SIP_VERSION_STR
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
987 # always assume, that snapshots are new enough
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
988 if "snapshot" not in sipVersion:
3628
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
989 while sipVersion.count('.') < 2:
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
990 sipVersion += '.0'
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
991 (maj, min, pat) = sipVersion.split('.')
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
992 maj = int(maj)
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
993 min = int(min)
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
994 pat = int(pat)
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
995 if maj < 4 or (maj == 4 and min < 14) or \
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
996 (maj == 4 and min == 14 and pat < 2):
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
997 print('Sorry, you must have sip 4.14.2 or higher or'
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
998 ' a recent snapshot release.')
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
999 exit(3)
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1000 # check for blacklisted versions
1914
fa4d57a6c3a9 Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1770
diff changeset
1001 for vers in BlackLists["sip"] + PlatformBlackLists["sip"]:
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1002 if vers == sipVersion:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1003 print(
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
1004 'Sorry, sip version {0} is not compatible with eric6.'
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1005 .format(vers))
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1006 print('Please install another version.')
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1007 exit(3)
3628
deb5973080a9 Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3621
diff changeset
1008 except (ImportError, AttributeError):
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1009 pass
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1010
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1011 # check version of PyQt
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1012 from PyQt5.QtCore import PYQT_VERSION_STR
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1013 pyqtVersion = PYQT_VERSION_STR
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1014 # always assume, that snapshots are new enough
133
5b6e8eb22796 Changed dependancy check of install script to better handle new PyQt snapshots.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
1015 if "snapshot" not in pyqtVersion:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1016 while pyqtVersion.count('.') < 2:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1017 pyqtVersion += '.0'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1018 (maj, min, pat) = pyqtVersion.split('.')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1019 maj = int(maj)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1020 min = int(min)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1021 pat = int(pat)
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
1022 if maj < 5 or (maj == 5 and min < 3):
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
1023 print('Sorry, you must have PyQt 5.3.0 or higher or'
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1024 ' a recent snapshot release.')
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1025 exit(4)
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1026 # check for blacklisted versions
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1027 for vers in BlackLists["PyQt5"] + PlatformBlackLists["PyQt5"]:
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1028 if vers == pyqtVersion:
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
1029 print('Sorry, PyQt5 version {0} is not compatible with eric6.'
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1030 .format(vers))
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1031 print('Please install another version.')
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1032 exit(4)
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1033 print("PyQt Version: ", pyqtVersion)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1034
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1035 # check version of QScintilla
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1036 from PyQt5.Qsci import QSCINTILLA_VERSION_STR
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1037 scintillaVersion = QSCINTILLA_VERSION_STR
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1038 # always assume, that snapshots are new enough
133
5b6e8eb22796 Changed dependancy check of install script to better handle new PyQt snapshots.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
1039 if "snapshot" not in scintillaVersion:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1040 while scintillaVersion.count('.') < 2:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1041 scintillaVersion += '.0'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1042 (maj, min, pat) = scintillaVersion.split('.')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1043 maj = int(maj)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1044 min = int(min)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1045 pat = int(pat)
3657
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
1046 if maj < 2 or (maj == 2 and min < 8):
ae833e7fcd6c Adopted the install script for PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
1047 print('Sorry, you must have QScintilla 2.8.0 or higher or'
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1048 ' a recent snapshot release.')
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1049 exit(5)
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1050 # check for blacklisted versions
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1051 for vers in BlackLists["QScintilla2"] + \
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1052 PlatformBlackLists["QScintilla2"]:
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1053 if vers == scintillaVersion:
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1054 print(
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1055 'Sorry, QScintilla2 version {0} is not compatible with'
3670
f0cb7579c0b4 Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3657
diff changeset
1056 ' eric6.'.format(vers))
565
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1057 print('Please install another version.')
21191e634b47 Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1058 exit(5)
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1059 print("QScintilla Version: ", QSCINTILLA_VERSION_STR)
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1060 print("All dependencies ok.")
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1061 print()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1062
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 908
diff changeset
1063
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1064 def compileUiFiles():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1065 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1066 Compile the .ui files to Python sources.
2969
0e1af1313b8b Regenerated source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
1067 """ # __IGNORE_WARNING__
624
d2ff1cb672eb Fixed a bug in the modified install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 622
diff changeset
1068 global sourceDir
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1069 try:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1070 from PyQt5.uic import compileUiDir
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1071 except ImportError:
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1072 from PyQt5.uic import compileUi
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1073
2969
0e1af1313b8b Regenerated source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
1074 def compileUiDir(dir, recurse=False, # __IGNORE_WARNING__
0e1af1313b8b Regenerated source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
1075 map=None, **compileUi_args):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1076 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1077 Creates Python modules from Qt Designer .ui files in a directory or
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1078 directory tree.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1079
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1080 Note: This function is a modified version of the one found in
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3628
diff changeset
1081 PyQt5.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1082
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1083 @param dir Name of the directory to scan for files whose name ends
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1084 with '.ui'. By default the generated Python module is created
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1085 in the same directory ending with '.py'.
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1086 @param recurse flag indicating that any sub-directories should be
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1087 scanned.
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1088 @param map an optional callable that is passed the name of the
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1089 directory containing the '.ui' file and the name of the Python
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1090 module that will be created. The callable should return a
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1091 tuple of the name of the directory in which the Python module
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1092 will be created and the (possibly modified) name of the module.
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1093 @param compileUi_args any additional keyword arguments that are
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1094 passed to the compileUi() function that is called to create
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1095 each Python module.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1096 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1097 def compile_ui(ui_dir, ui_file):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1098 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1099 Local function to compile a single .ui file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1100
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1101 @param ui_dir directory containing the .ui file (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1102 @param ui_file file name of the .ui file (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1103 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1104 # Ignore if it doesn't seem to be a .ui file.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1105 if ui_file.endswith('.ui'):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1106 py_dir = ui_dir
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1107 py_file = ui_file[:-3] + '.py'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1108
2992
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1109 # Allow the caller to change the name of the .py file or
dbdf27746da5 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2969
diff changeset
1110 # generate it in a different directory.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1111 if map is not None:
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1112 py_dir, py_file = list(map(py_dir, py_file))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1113
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1114 # Make sure the destination directory exists.