13 | | Special note: most of these components are the latest at the time of writing this page and work fine. Except for neon. Subversion has a problem with the latest version of neon, so stick with neon 0.25.5 until you know that Subversion will work with something newer. |
14 | | |
15 | | Here it is: |
16 | | ------------------------------------- |
17 | | |
18 | | {{{ |
19 | | #!/bin/sh |
20 | | # |
21 | | # installing trac on mac os x |
22 | | # |
23 | | # including subversion, and other needed components |
24 | | # |
25 | | |
26 | | |
27 | | # first clean out any of the old stuff. |
28 | | sudo rm -rf /usr/local/apr |
29 | | sudo rm -f /usr/local/lib/libneon* |
30 | | sudo rm -f /usr/local/lib/libsvn* |
31 | | sudo rm -f /usr/local/lib/pkgconfig/neon.pc |
32 | | sudo rm -f /usr/local/bin/swig |
33 | | sudo rm -f /usr/local/bin/neon-config |
34 | | sudo rm -f /usr/local/bin/svn* |
35 | | |
36 | | |
37 | | # make a new directory to download all the source into |
38 | | cd |
39 | | mkdir source |
40 | | cd source |
41 | | |
42 | | # download the source tarballs |
43 | | curl http://apache.mirror.pacific.net.au/apr/apr-util-0.9.13.tar.gz > apr-util-0.9.13.tar.gz |
44 | | curl http://apache.mirror.pacific.net.au/apr/apr-0.9.13.tar.gz > apr-0.9.13.tar.gz |
45 | | curl http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz > subversion-1.4.3.tar.gz |
46 | | curl http://dfn.dl.sourceforge.net/sourceforge/swig/swig-1.3.31.tar.gz > swig-1.3.31.tar.gz |
47 | | curl http://www.webdav.org/neon/neon-0.25.5.tar.gz > neon-0.25.5.tar.gz |
48 | | curl http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz > clearsilver-0.9.14.tar.gz |
49 | | curl http://optusnet.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz > docutils-0.4.tar.gz |
50 | | curl http://initd.org/pub/software/pysqlite/releases/2.3/2.3.3/pysqlite-2.3.3.tar.gz > pysqlite-2.3.3.tar.gz |
51 | | curl http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz > trac-0.10.4.tar.gz |
52 | | |
53 | | # expand them |
54 | | tar -zxf apr-util-0.9.13.tar.gz |
55 | | tar -zxf apr-0.9.13.tar.gz |
56 | | tar -zxf subversion-1.4.3.tar.gz |
57 | | tar -zxf swig-1.3.31.tar.gz |
58 | | tar -zxf neon-0.25.5.tar.gz |
59 | | tar -zxf clearsilver-0.9.14.tar.gz |
60 | | tar -zxf docutils-0.4.tar.gz |
61 | | tar -zxf pysqlite-2.3.3.tar.gz |
62 | | tar -zxf trac-0.10.4.tar.gz |
63 | | |
64 | | |
65 | | # make 'apr' |
66 | | cd apr-0.9.13 |
67 | | ./configure |
68 | | make |
69 | | sudo make install |
70 | | |
71 | | cd .. |
72 | | |
73 | | |
74 | | # make 'apr-util' |
75 | | |
76 | | cd apr-util-0.9.13 |
77 | | ./configure --with-apr=/usr/local/apr |
78 | | sudo make |
79 | | sudo make install |
80 | | |
81 | | cd .. |
82 | | |
83 | | |
84 | | |
85 | | # make 'neon' |
86 | | |
87 | | cd neon-0.25.5 |
88 | | ./configure --with-ssl |
89 | | make |
90 | | sudo make install |
91 | | |
92 | | cd .. |
93 | | |
94 | | |
95 | | |
96 | | # make 'swig' |
97 | | |
98 | | cd swig-1.3.31 |
99 | | ./configure --with-python=/usr/bin/python |
100 | | make |
101 | | sudo make install |
102 | | |
103 | | cd .. |
104 | | |
105 | | |
106 | | |
107 | | # make 'subverion' |
108 | | |
109 | | cd subversion-1.4.3 |
110 | | ./configure --with-apr=/usr/local/apr \ |
111 | | --with-apr-util=/usr/local/apr \ |
112 | | --with-zlib --with-ssl --with-neon=/usr/local \ |
113 | | --without-berkeley-db --enable-swig-bindings=python \ |
114 | | --with-swig=/usr/local/bin/swig PYTHON=/usr/bin/python |
115 | | make |
116 | | sudo make install |
117 | | |
118 | | make swig-py |
119 | | sudo make install-swig-py |
120 | | echo /usr/local/lib/svn-python > /Library/Python/2.3/site-packages/svn-python.pth |
121 | | |
122 | | cd .. |
123 | | |
124 | | |
125 | | |
126 | | # make 'clearsilver' |
127 | | |
128 | | cd clearsilver-0.9.14 |
129 | | # ruby is disabled here. you may wish to disable other parts of clearsilver |
130 | | # type "./configure --help" for more info. |
131 | | ./configure --prefix=/usr/local --with-python=/usr/bin/python --disable-ruby |
132 | | make |
133 | | # this is a hack to fix the files that want to run '/usr/local/bin/python' |
134 | | # when it should just be '/usr/bin/python' as per the configure line above |
135 | | if [ -f /usr/bin/python -a ! -e /usr/local/bin/python ]; |
136 | | then |
137 | | sudo ln -s /usr/bin/python /usr/local/bin/python |
138 | | fi |
139 | | sudo make install |
140 | | |
141 | | cd .. |
142 | | |
143 | | |
144 | | |
145 | | # make 'docutils' |
146 | | |
147 | | cd docutils-0.4 |
148 | | sudo python setup.py install |
149 | | |
150 | | cd .. |
151 | | |
152 | | |
153 | | # make 'pysqlite' |
154 | | cd pysqlite-2.3.3 |
155 | | sudo python setup.py install |
156 | | |
157 | | cd .. |
158 | | |
159 | | |
160 | | # and now for the finale!!! |
161 | | # making 'trac' |
162 | | |
163 | | cd trac-0.10.4 |
164 | | sudo ./setup.py install |
165 | | |
166 | | # make these available in '/usr/local/bin/' |
167 | | # this assumes that '/usr/local/bin/' is in the user's path to run tracd / trac-admin |
168 | | sudo ln -s /System/Library/Frameworks/Python.framework/Versions/Current/bin/trac* /usr/local/bin |
169 | | |
170 | | }}} |
171 | | |
| 13 | '''Note''': the version numbers need to be updated, depending on the availability of upgrades. |