Mercurial > trustbridge
comparison INSTALL @ 1253:eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 25 Sep 2014 17:36:33 +0200 |
parents | 7839d3d696a1 |
children | dcce1e7201e2 |
comparison
equal
deleted
inserted
replaced
1252:9a482182f80f | 1253:eb4d7337edd7 |
---|---|
1 Installation Instructions | 1 /** @file INSTALL |
2 @brief Installation Instructions | |
2 ************************* | 3 ************************* |
3 | 4 |
4 For Debian based GNU / Linux | 5 For Debian based GNU / Linux |
5 ============================ | 6 ============================ |
6 Tested development platform: Ubuntu 14.4 amd64. | 7 Tested development platform: Ubuntu 14.4 amd64. |
14 | 15 |
15 export YOURPREFIX=<Prefix of your choice (default /usr)> | 16 export YOURPREFIX=<Prefix of your choice (default /usr)> |
16 export PATH=$YOURPREFIX/bin:$PATH | 17 export PATH=$YOURPREFIX/bin:$PATH |
17 | 18 |
18 curl https://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz.mirrorlist | grep SHA-256 | 19 curl https://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz.mirrorlist | grep SHA-256 |
19 | |
20 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0 | 20 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0 |
21 | 21 |
22 http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz | 22 http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz |
23 | 23 |
24 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz | 24 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz |
88 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ | 88 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ |
89 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \ | 89 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \ |
90 --without-zlib | 90 --without-zlib |
91 make && make install | 91 make && make install |
92 | 92 |
93 To compile the software you can use plain cmake. An out of source build is | 93 To compile the software you can use plain cmake. |
94 highly suggested. For build options see CMakeList.txt | 94 An out of source build is highly suggested. |
95 For build options see CMakeList.txt | |
95 | 96 |
96 cd trustbridge | 97 cd trustbridge |
97 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static | 98 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
98 mkdir build-linux | 99 mkdir build-linux |
99 cd build-linux | 100 cd build-linux |
101 | 102 |
102 | 103 |
103 I386 | 104 I386 |
104 ==== | 105 ==== |
105 Install dependencies (list might be incomplete) | 106 Install dependencies (list might be incomplete) |
107 | |
106 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ | 108 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ |
107 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ | 109 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ |
108 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ | 110 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ |
109 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ | 111 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ |
110 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ | 112 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ |
111 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ | 113 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ |
112 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ | 114 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ |
113 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ | 115 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ |
114 libsm-dev:i386 libnss3-dev:i386 | 116 libsm-dev:i386 libnss3-dev:i386 |
115 | 117 |
116 Create a new directory for qt. As qt has to build in source you need a different | 118 Create a new directory for qt. As qt has to build in source you need a different |
117 directory. | 119 directory: |
120 | |
118 mkdir i386 | 121 mkdir i386 |
119 cd i386 | 122 cd i386 |
120 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz | 123 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz |
121 cd qt-everywhere-opensource-src-5.3.2/qtbase/ | 124 cd qt-everywhere-opensource-src-5.3.2/qtbase/ |
122 ./configure --prefix=$YOURPREFIX/i386 \ | 125 ./configure --prefix=$YOURPREFIX/i386 \ |
128 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \ | 131 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \ |
129 && \ | 132 && \ |
130 nice make -j`nproc` && \ | 133 nice make -j`nproc` && \ |
131 make install | 134 make install |
132 | 135 |
133 Switch back to the polarssl directory | 136 Switch back to the polarssl directory: |
137 | |
134 cd ../../../polarssl-1.3.8/ | 138 cd ../../../polarssl-1.3.8/ |
135 mkdir build-i386 | 139 mkdir build-i386 |
136 cd build-i386 | 140 cd build-i386 |
137 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \ | 141 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \ |
138 -DCMAKE_VERBOSE_MAKEFILE=True \ | 142 -DCMAKE_VERBOSE_MAKEFILE=True \ |
139 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ | 143 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ |
140 nice make -j`nproc` && \ | 144 nice make -j`nproc` && \ |
141 make install | 145 make install |
142 | 146 |
143 Change to the curl directory | 147 Change to the curl directory: |
148 | |
144 cd ../../curl-7.38.0/ | 149 cd ../../curl-7.38.0/ |
145 mkdir build-i386 | 150 mkdir build-i386 |
146 cd build-i386 | 151 cd build-i386 |
147 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \ | 152 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \ |
148 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ | 153 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
188 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode | 193 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode |
189 it is needed for the Windows part of the binverify unit test on the build system. | 194 it is needed for the Windows part of the binverify unit test on the build system. |
190 | 195 |
191 wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz | 196 wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz |
192 sha256sum osslsigncode-1.7.1.tar.gz | 197 sha256sum osslsigncode-1.7.1.tar.gz |
193 # f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 | 198 f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
194 tar -xf osslsigncode-1.7.1.tar.gz | 199 tar -xf osslsigncode-1.7.1.tar.gz |
195 cd osslsigncode-1.7.1 | 200 cd osslsigncode-1.7.1 |
196 ./configure --without-curl --prefix=$YOURPREFIX | 201 ./configure --without-curl --prefix=$YOURPREFIX |
197 make && make install | 202 make && make install |
198 | 203 |
199 # for a windows binary (optional) | 204 #for a windows binary (optional): |
200 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET | 205 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET |
201 | 206 |
202 For Microsoft Windows | 207 For Microsoft Windows |
203 ===================== | 208 ===================== |
204 The Windows variant can be cross compiled on Debian based GNU / Linux systems. | 209 The Windows variant can be cross compiled on Debian based GNU / Linux systems. |
205 The minimum requirement is Debian stable. | 210 The minimum requirement is Debian stable. |
206 Tested development platform: Ubuntu 13.10. | 211 Tested development platform: Ubuntu 13.10. |
207 | 212 |
208 Dependencies on the Host system: | 213 Dependencies on the Host system: |
209 git autoconf automake bash bison bzip2 \ | 214 |
215 apt-get install git autoconf automake bash bison bzip2 \ | |
210 cmake flex gettext git g++ intltool \ | 216 cmake flex gettext git g++ intltool \ |
211 libffi-dev libtool libltdl-dev libssl-dev \ | 217 libffi-dev libtool libltdl-dev libssl-dev \ |
212 libxml-parser-perl make openssl patch perl \ | 218 libxml-parser-perl make openssl patch perl \ |
213 pkg-config scons sed unzip wget xz-utils autopoint \ | 219 pkg-config scons sed unzip wget xz-utils autopoint \ |
214 gperf | 220 gperf |
215 | 221 |
216 Build the windows binaries: | 222 Build the windows binaries: |
223 | |
217 MXEPATH=$YOURPREFIX/win | 224 MXEPATH=$YOURPREFIX/win |
218 git clone https://github.com/Intevation/mxe.git $MXEPATH | 225 git clone https://github.com/Intevation/mxe.git $MXEPATH |
219 cd $MXEPATH | 226 cd $MXEPATH |
220 git checkout trustbridge | 227 git checkout trustbridge |
221 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk | 228 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
222 make polarssl | 229 make polarssl |
223 make qtbase | 230 make qtbase |
224 (optional) make curl | 231 |
232 (optional) | |
233 | |
234 make curl | |
225 | 235 |
226 Add CMAKE_STRIP to the toolchain file: | 236 Add CMAKE_STRIP to the toolchain file: |
237 | |
227 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \ | 238 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \ |
228 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake" | 239 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake" |
229 | 240 |
230 Workaround Qt CMake Bugs: | 241 Workaround Qt CMake Bugs: |
242 | |
231 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ | 243 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
232 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' | 244 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
233 sed -i 's/^_qt5gui_find_extra_libs.*//' \ | 245 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
234 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake | 246 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
235 | 247 |
236 Compile the software: | 248 Compile the software: |
249 | |
237 cd trustbridge | 250 cd trustbridge |
238 mkdir build-windows | 251 mkdir build-windows |
239 cd build-windows | 252 cd build-windows |
240 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ | 253 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
241 cmake .. \ | 254 cmake .. \ |
247 ===================== | 260 ===================== |
248 The Admin tool needs some additional software to be able to create installtion | 261 The Admin tool needs some additional software to be able to create installtion |
249 packages: | 262 packages: |
250 | 263 |
251 apt-get install nsis wine sharutils | 264 apt-get install nsis wine sharutils |
265 */ |