Mercurial > trustbridge
view INSTALL @ 849:57b32e354e86
Remove additional dependencies to harfbuzz
This was accidentally commited because current MXE master
builds qt with this depdency
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 30 Jul 2014 16:26:37 +0200 |
parents | 9792c69201c2 |
children | e4cf249ba1a6 |
line wrap: on
line source
Installation Instructions ************************* For Debian based GNU / Linux ============================ Tested development platform: Ubuntu 14.4. The following commands build qt5 and polarssl which are dependencies of the Software. For build dependencies please refer to the Qt documentation ( qtbase/src/plugins/platforms/xcb/README ). Polarssl needs cmake and build-essentials. export YOURPREFIX=<Prefix of your choice (default /usr)> export PATH=$YOURPREFIX/bin:$PATH curl https://download.qt-project.org/official_releases/qt/5.3/5.3.1/single/qt-everywhere-opensource-src-5.3.1.tar.xz.mirrorlist | grep SHA-256 29d2ab3b1aef87e2dd806b278802e357274016475a513341348040468bf233ac http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.1/single/qt-everywhere-opensource-src-5.3.1.tar.xz sha256sum qt-everywhere-opensource-src-5.3.1.tar.xz tar -xf qt-everywhere-opensource-src-5.3.1.tar.xz cd qt-everywhere-opensource-src-5.3.1/qtbase build dependencies have to to be installed at this point, see ../qtbase/src/plugins/platforms/xcb/README ./configure --prefix=$YOURPREFIX \ -opensource \ -release -nomake tests -nomake examples -confirm-license \ -static -no-cups -no-nis -no-icu -fontconfig \ -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ -system-libpng -qpa xcb -xcb -no-nis -no-libjpeg -no-gif && \ nice make -j8 && \ make install cd .. && \ cd qttools/src/designer/src/uitools && \ qmake && \ nice make -j8 && \ make install cd ../../../linguist && \ qmake && \ nice make -j8 &&\ make install curl -O https://polarssl.org/download/polarssl-1.3.8-gpl.tgz 318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1 polarssl-1.3.8-gpl.tgz tar -xf polarssl-1.3.8-gpl.tgz cd polarssl-1.3.8 mkdir build cd build cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX make && make test && make install To compile the software you can use plain cmake. An out of source build is highly suggested. For build options see CMakeList.txt hg clone https://wald.intevation.org/hg/trustbridge/ cd trustbridge hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static mkdir build-linux cd build-linux cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX Hiawatha (for Downloader unit test) =================================== Hiawatha is used in the downloader unit tests to provide a testbench for the ssl connection. To build it you may need libxslt-dev as additional dependency. wget https://www.hiawatha-webserver.org/files/hiawatha-9.5.tar.gz sha256sum hiawatha-9.5.tar.gz c181011db1af187006190fc186689a0707a6f1e7b524c2a4347840e8fdf68b4f hiawatha-9.5.tar.gz tar -xf hiawatha-9.5.tar.gz cp polarssl-1.3.7-gpl.tgz hiawatha-9.5/polarssl/polarssl.tgz cd hiawatha-9.5/polarssl sed -i 's/wget.*//' upgrade ./upgrade 1.3.7 cd .. mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX make && make install Osslsigncode (for binverify unit test) ====================================== Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode it is needed for the Windows part of the binverify unit test on the build system. wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz sha256sum osslsigncode-1.7.1.tar.gz # f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 tar -xf osslsigncode-1.7.1.tar.gz cd osslsigncode-1.7.1 ./configure --without-curl --prefix=$YOURPREFIX make && make install # for a windows binary (optional) OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET For Microsoft Windows ===================== The Windows variant can be cross compiled on Debian based GNU / Linux systems. The minimum requirement is Debian stable. Tested development platform: Ubuntu 13.10. Dependencies on the Host system: git autoconf automake bash bison bzip2 \ cmake flex gettext git g++ intltool \ libffi-dev libtool libltdl-dev libssl-dev \ libxml-parser-perl make openssl patch perl \ pkg-config scons sed unzip wget xz-utils autopoint \ gperf Build the windows binaries: MXEPATH=$YOURPREFIX/win git clone https://github.com/mxe/mxe.git $MXEPATH cd $MXEPATH echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk make polarssl make qtbase Workaround Qt CMake Bugs: find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' sed -i 's/^_qt5gui_find_extra_libs.*//' \ $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake Make an NSS build available in the MXE prefix: # TODO -> Document how to build NSS,.. cp -r <magic nss folder> $MXEPATH/usr/i686-w64-mingw32.static/ Compile the software: cd trustbridge mkdir build-windows cd build-windows MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ cmake .. \ -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ -DCMAKE_VERBOSE_MAKEFILE=True Runtime Depdendencies ===================== The Admin tool needs some additional software to be able to create installtion packages: apt-get install nsis wine sharutils