adding build client static 32bit

This commit is contained in:
AleaJactaEst 2018-05-02 00:00:37 +02:00
parent 73ea688f68
commit b86b051567

View file

@ -339,6 +339,82 @@ Linux client_static debian_amd64_strech build:
- code/build/bin
expire_in: 2 week
Linux client_static debian_amd32_strech build:
stage: build
except:
- mac-ci-build
tags:
- Docker
image: i386/debian:9
script:
# Prepare environment
- apt-get update
- apt-get dist-upgrade -y
- apt-get install -y autoconf autogen automake bison build-essential cmake cpputest fakeroot libboost-all-dev libfreetype6-dev libgif-dev libgl1-mesa-dev libjpeg62-turbo-dev liblzma-dev libopenal-dev libpng-dev libssh2-1-dev libssl-dev libtool libtool-bin libx11-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxxf86vm-dev mercurial rrdtool unzip wget zlib1g-dev
- apt-get install -y liblua5.2-0 liblua5.2-dev
# Build Curl
- wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz -O curl.tar.gz
- mkdir -p curl/build
- tar xvf curl.tar.gz -C curl --strip 1
- (cd curl/build; cmake -DCMAKE_BUILD_TYPE=Release -DCURL_ZLIB=ON -DBUILD_CURL_EXE=OFF -DCURL_STATICLIB=ON -DHTTP_ONLY=ON -DENABLE_IPV6=ON -DCMAKE_USE_OPENSSL=ON -DOPENSSL_SSL_LIBRARIES=/usr/lib/i386-linux-gnu/libssl.a -DOPENSSL_CRYPTO_LIBRARIES=/usr/lib/i386-linux-gnu/libcrypto.a -DCMAKE_USE_LIBSSH2=OFF -DZLIB_LIBRARY=/usr/lib/i386-linux-gnu/libz.a -DCMAKE_C_FLAGS='-fPIC' ..)
- (cd curl/build; make)
- (cd curl/build; make install)
# Build luabind
- mkdir -p luabind
- wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg.orig.tar.gz -O luabind.tar.gz
- wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg-11.debian.tar.xz -O luabind-debian.tar.xz
- tar xvf luabind.tar.gz -C luabind --strip 1 || exit 2
- tar xvf luabind-debian.tar.xz -C luabind || exit 2
- cd luabind
- for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done
- export -p DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH); bjam -d2 release debug install cflags="-fPIC $(dpkg-buildflags --get CFLAGS)" cxxflags="-fPIC $(dpkg-buildflags --get CXXFLAGS) -Wno-deprecated-declarations" linkflags=" $(dpkg-buildflags --get LDFLAGS)"
- export -p DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH); bjam -d2 release debug install link=static cflags="-fPIC $(dpkg-buildflags --get CFLAGS)" cxxflags="-fPIC $(dpkg-buildflags --get CXXFLAGS) -Wno-deprecated-declarations" linkflags=" $(dpkg-buildflags --get LDFLAGS)"
- cd ..
# Build libogg
- mkdir -p libogg/build
- wget -q http://http.debian.net/debian/pool/main/libo/libogg/libogg_1.3.2.orig.tar.gz -O libogg.tar.gz
- wget -q http://http.debian.net/debian/pool/main/libo/libogg/libogg_1.3.2-1.diff.gz -O libogg.diff.gz
- tar xvf libogg.tar.gz -C libogg --strip 1 || exit 2
- gunzip libogg.diff.gz
- cd libogg
- patch -p1 < ../libogg.diff
- cd build
- ../configure --disable-maintainer-mode --host=$(dpkg-architecture -qDEB_HOST_GNU_TYPE) --build=$(dpkg-architecture -qDEB_BUILD_GNU_TYPE) --libdir=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) --enable-static --prefix=/usr CPPFLAGS="-D_FORTIFY_SOURCE=2" CFLAGS="-Wformat=2 -g -fPIC" CXXFLAGS="-Wformat=2 -g -fPIC" LDFLAGS="-Wl,-z,now"
- make
- make install
- cd ../..
# Build libvorbis
- mkdir -p libvorbis
- wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz
- tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2
# Get list package
- wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis -O list_libvorbis
# get last patch for our release
- line=$(egrep '(libvorbis_1.3.5)(.*)(tar[.]xz)' list_libvorbis | tail -n 1)
# get only name of the patch
- tmp=${line#*href} ; tmp2=${tmp%%>*} ; tmp3=${tmp2#*\"} ; namepatch=${tmp3%\"*}
# download this patch
- wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/$namepatch -O libvorbis.debian.tar.xz
- tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2
- cd libvorbis
- for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done
- ./configure --enable-static --with-pic
- make
- make install
- cd ..
# Action
- mkdir -p code/build
- (cd code; patch -i ../patch/libcrypto.patch)
- (cd code; patch -i ../patch/libicuuc.patch)
- (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON ..)
- (cd code/build; make khanat_client)
- (cd code/build/bin; ls -lh)
artifacts:
name: "khanat-client_static-debian_i386_strech-$CI_COMMIT_REF_NAME"
paths:
- code/build/bin
expire_in: 2 week
# Fedora Client
Linux client fedora_amd64_27 build:
stage: build