import initial.
[Epoz.git] / mxTidyHowTo.txt
1 How do I install mxTidy with Zope / Plone?
2
3 Here are the steps. Be sure to use the same python as your Zope / Plone uses
4 for setting up mxTidy correctly!
5
6 1) Download these packages:
7
8 http://www.egenix.com/files/python/egenix-mx-base-2.0.5.tar.gz
9 http://www.egenix.com/files/python/egenix-mx-experimental-0.8.0.tar.gz
10
11 2) Untar the packages
12
13 tar xfvz egenix-mx-base-2.0.5.tar.gz
14 tar xfvz egenix-mx-experimental-0.8.0.tar.gz
15
16 3) Change to egenix-mx-base-2.0.5
17
18 python setup.py install
19
20 4) Change to egenix-mx-experimental-0.8.0
21
22 python setup.py install
23
24 Maybe you'll get an error like "Can't compile etc.pp."...
25
26 If so, copy the "patched" file below (it just skips
27 the "buggy" number-module which isn't needed for tidy) to
28 egenix-mx-experimental-0.8.0/mxEXPERIMENTAL.py and try again.
29
30 5) Restart your Zope / Plone to take changes effect!
31
32 -----------------------------------------------------
33 patched mxEXPERIMENTAL.py for easier mxTidy-Setup
34 -----------------------------------------------------
35
36 #!/usr/local/bin/python2.0
37
38 """ Configuration for the eGenix mx EXPERIMENTAL distribution.
39
40 Copyright (c) 1997-2000, Marc-Andre Lemburg; mailto:mal(ät)lemburg.com
41 Copyright (c) 2000-2003, eGenix.com Software GmbH;
42 mailto:info(ät)egenix.com
43 See the documentation for further information on copyrights,
44 or contact the author. All Rights Reserved.
45 """
46 from mxSetup import mx_Extension
47 import sys, glob, os
48
49 #
50 # Package version
51 #
52 version = '0.8.0'
53
54 #
55 # Setup information
56 #
57 name = "egenix-mx-experimental"
58
59 #
60 # Meta-Data
61 #
62 description = "eGenix mx-Extensions - EXPERIMENTAL package"
63 long_description = """\
64 The eGenix mx Extension Series are a collection of
65 Python extensions written in ANSI C and Python
66 which provide a large spectrum of useful additions
67 to everyday Python programming.
68
69 This package includes experimental subpackages of the
70 series. Please understand that the software in these
71 packages is still in alpha state and does not meet the
72 quality standards of production quality software.
73
74 This software is brought to you by eGenix.com. The included
75 subpackages are either covered by the eGenix.com Public
76 License or the eGenix.com Commercial License and/or other
77 licenses. Please check the subpackage documentation for
78 details or contact eGenix.com for more license information.
79 """
80 license = (
81 "Copyright (c) 2000-2003, eGenix.com Software GmbH, All Rights Reserved"
82 )
83 author = "Marc-Andre Lemburg"
84 author_email = "mal(ät)egenix.com"
85 url = "http://www.egenix.com/files/python/eGenix-mx-Extensions.html"
86
87 #
88 # Python packages
89 #
90 packages = [
91
92 'mx',
93
94 # mxTidy
95 'mx.Tidy',
96 'mx.Tidy.mxTidy',
97
98 # mxURL
99 'mx.URL',
100 'mx.URL.mxURL',
101
102 # mxUID
103 'mx.UID',
104 'mx.UID.mxUID',
105
106 ]
107
108 #
109 # C libraries
110 #
111
112 libraries = [
113
114 # libtidy.a needed by mxTidy
115 ('libtidy',
116 {'sources':
117 glob.glob(os.path.join('mx','Tidy','mxTidy','libtidy','*.c')),
118 'include_dirs':
119 [os.path.join('mx','Tidy','mxTidy','libtidy')],
120 'macros':
121 [('COMPILING_TIDY', 1)],
122 }),
123
124 ]
125
126 #
127 # C Extensions
128 #
129 ext_modules = [
130
131 # mxTidy
132 mx_Extension('mx.Tidy.mxTidy.mxTidy',
133 ['mx/Tidy/mxTidy/mxTidy.c'],
134 include_dirs=['mx/Tidy/mxTidy',
135 'mx/Tidy/mxTidy/libtidy'],
136 libraries=['libtidy'],
137 library_dirs=['mx/Tidy/mxTidy/libtidy']),
138
139 # mxURL
140 mx_Extension('mx.URL.mxURL.mxURL',
141 ['mx/URL/mxURL/mxURL.c'],
142 include_dirs=['mx/URL/mxURL']),
143
144 # mxUID
145 mx_Extension('mx.UID.mxUID.mxUID',
146 ['mx/UID/mxUID/mxUID.c'],
147 include_dirs=['mx/UID/mxUID']),
148
149 ]
150
151 #
152 # Data files
153 #
154 data_files = [
155
156 # mxTidy
157 'mx/Tidy/Doc/mxTidy.html',
158 'mx/Tidy/Doc/mxLicense.html',
159 'mx/Tidy/Doc/Overview.html',
160 'mx/Tidy/Doc/pending.html',
161 'mx/Tidy/Doc/release-notes.html',
162 'mx/Tidy/Doc/tidy.gif',
163 'mx/Tidy/COPYRIGHT',
164 'mx/Tidy/LICENSE',
165 'mx/Tidy/README',
166 'mx/Tidy/mxTidy/mxTidy.h',
167 'mx/Tidy/mxTidy/mxh.h',
168 'mx/Tidy/mxTidy/input.html',
169
170 # mxURL
171 'mx/URL/Doc/mxURL.html',
172 'mx/URL/Doc/mxLicense.html',
173 'mx/URL/COPYRIGHT',
174 'mx/URL/LICENSE',
175 'mx/URL/README',
176 'mx/URL/mxURL/mxURL.h',
177 'mx/URL/mxURL/mxh.h',
178
179 # mxUID
180 'mx/UID/Doc/mxUID.html',
181 'mx/UID/Doc/mxLicense.html',
182 'mx/UID/COPYRIGHT',
183 'mx/UID/LICENSE',
184 'mx/UID/README',
185 'mx/UID/mxUID/mxUID.h',
186 'mx/UID/mxUID/mxh.h',
187
188 ]