From 13429685569836425ce274bbae95c2db8b8d8ddb Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sat, 17 Mar 2018 12:59:18 +0100 Subject: [PATCH 1/9] adding patch squish --- patch/squish-limit.patch | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 patch/squish-limit.patch diff --git a/patch/squish-limit.patch b/patch/squish-limit.patch new file mode 100644 index 000000000..3bdc6c522 --- /dev/null +++ b/patch/squish-limit.patch @@ -0,0 +1,24 @@ +--- alpha.cpp.origin 2017-08-01 15:02:13.627989355 +0000 ++++ alpha.cpp 2017-08-01 15:03:07.591990587 +0000 +@@ -22,7 +22,7 @@ + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + -------------------------------------------------------------------------- */ +- ++#include + #include "alpha.h" + #include + + +--- singlecolourfit.cpp.origin 2017-08-01 15:03:27.175991034 +0000 ++++ singlecolourfit.cpp 2017-08-01 15:03:42.527991384 +0000 +@@ -22,7 +22,7 @@ + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + -------------------------------------------------------------------------- */ +- ++#include + #include "singlecolourfit.h" + #include "colourset.h" + #include "colourblock.h" + From aa0ce6bbf0dde46096b3f61ba639e23542511116 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sat, 17 Mar 2018 16:39:17 +0100 Subject: [PATCH 2/9] adding patch to include libcrypto on build --- patch/libcrypto.patch | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 patch/libcrypto.patch diff --git a/patch/libcrypto.patch b/patch/libcrypto.patch new file mode 100644 index 000000000..ece4bc609 --- /dev/null +++ b/patch/libcrypto.patch @@ -0,0 +1,23 @@ +--- CMakeLists.txt-libcrypto 2018-03-17 16:37:45.862885882 +0100 ++++ CMakeLists.txt-ref 2018-03-11 15:14:14.921459798 +0100 +@@ -440,20 +440,6 @@ + SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${IDN_LIBRARY}) + ENDIF() + +- # Solve issue : "md5.c:(.text+0x12): undefined reference to `MD5_Init' +- # libcrypto +- FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib/x86_64-linux-gnu) +- IF(LIBCRYPTO_LIBRARY) +- MESSAGE("-- Found crypto (amd64): ${LIBCRYPTO_LIBRARY}") +- SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) +- ELSE() +- FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib) +- IF(LIBCRYPTO_LIBRARY) +- MESSAGE("-- Found crypto: ${LIBCRYPTO_LIBRARY}") +- SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) +- ENDIF() +- ENDIF() +- + # CURL Macports version depends on libidn, libintl and libiconv too + IF(APPLE) + FIND_LIBRARY(INTL_LIBRARY intl) From 37c3128c2aaaf7ccafc5c3431c423ebc67180b6b Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sat, 17 Mar 2018 17:00:42 +0100 Subject: [PATCH 3/9] update patch to include libcrypto on build --- patch/libcrypto.patch | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/patch/libcrypto.patch b/patch/libcrypto.patch index ece4bc609..6e45021e7 100644 --- a/patch/libcrypto.patch +++ b/patch/libcrypto.patch @@ -1,23 +1,23 @@ ---- CMakeLists.txt-libcrypto 2018-03-17 16:37:45.862885882 +0100 -+++ CMakeLists.txt-ref 2018-03-11 15:14:14.921459798 +0100 -@@ -440,20 +440,6 @@ +--- code/CMakeLists.txt 2018-03-11 15:14:14.921459798 +0100 ++++ code/CMakeLists.txt-libcrypto 2018-03-17 16:37:45.862885882 +0100 +@@ -440,6 +440,20 @@ SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${IDN_LIBRARY}) ENDIF() -- # Solve issue : "md5.c:(.text+0x12): undefined reference to `MD5_Init' -- # libcrypto -- FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib/x86_64-linux-gnu) -- IF(LIBCRYPTO_LIBRARY) -- MESSAGE("-- Found crypto (amd64): ${LIBCRYPTO_LIBRARY}") -- SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) -- ELSE() -- FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib) -- IF(LIBCRYPTO_LIBRARY) -- MESSAGE("-- Found crypto: ${LIBCRYPTO_LIBRARY}") -- SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) -- ENDIF() -- ENDIF() -- ++ # Solve issue : "md5.c:(.text+0x12): undefined reference to `MD5_Init' ++ # libcrypto ++ FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib/x86_64-linux-gnu) ++ IF(LIBCRYPTO_LIBRARY) ++ MESSAGE("-- Found crypto (amd64): ${LIBCRYPTO_LIBRARY}") ++ SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) ++ ELSE() ++ FIND_LIBRARY(LIBCRYPTO_LIBRARY NAMES libcryto crypto PATHS /usr/lib) ++ IF(LIBCRYPTO_LIBRARY) ++ MESSAGE("-- Found crypto: ${LIBCRYPTO_LIBRARY}") ++ SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${LIBCRYPTO_LIBRARY}) ++ ENDIF() ++ ENDIF() ++ # CURL Macports version depends on libidn, libintl and libiconv too IF(APPLE) FIND_LIBRARY(INTL_LIBRARY intl) From d6226b41b0b26123dfbe1338ea09cbfc8efe0332 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sat, 17 Mar 2018 17:39:52 +0100 Subject: [PATCH 4/9] update patch to include libcrypto on build --- patch/libcrypto.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patch/libcrypto.patch b/patch/libcrypto.patch index 6e45021e7..98573632e 100644 --- a/patch/libcrypto.patch +++ b/patch/libcrypto.patch @@ -1,5 +1,5 @@ ---- code/CMakeLists.txt 2018-03-11 15:14:14.921459798 +0100 -+++ code/CMakeLists.txt-libcrypto 2018-03-17 16:37:45.862885882 +0100 +--- code/CMakeLists.txt-old 2018-03-11 15:14:14.921459798 +0100 ++++ code/CMakeLists.txt 2018-03-17 16:37:45.862885882 +0100 @@ -440,6 +440,20 @@ SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${IDN_LIBRARY}) ENDIF() From 57454f38590b797ed6c399293a04db196f3722ac Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sat, 17 Mar 2018 20:47:12 +0100 Subject: [PATCH 5/9] update pacth libcrypto --- patch/libcrypto.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patch/libcrypto.patch b/patch/libcrypto.patch index 98573632e..5910b285b 100644 --- a/patch/libcrypto.patch +++ b/patch/libcrypto.patch @@ -1,4 +1,4 @@ ---- code/CMakeLists.txt-old 2018-03-11 15:14:14.921459798 +0100 +--- code/CMakeLists.txt.origin 2018-03-16 22:55:31.148698694 +0100 +++ code/CMakeLists.txt 2018-03-17 16:37:45.862885882 +0100 @@ -440,6 +440,20 @@ SET(CURL_LIBRARIES ${CURL_LIBRARIES} ${IDN_LIBRARY}) From 5630bbed5d341c09bfdeeb94e0a61e816d8502eb Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 18 Mar 2018 10:56:00 +0100 Subject: [PATCH 6/9] adding patch to link with libicuuc --- patch/libicuuc.patch | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 patch/libicuuc.patch diff --git a/patch/libicuuc.patch b/patch/libicuuc.patch new file mode 100644 index 000000000..5421af69e --- /dev/null +++ b/patch/libicuuc.patch @@ -0,0 +1,20 @@ +--- code/CMakeLists.txt.origin 2018-03-17 16:37:45.862885882 +0100 ++++ code/CMakeLists.txt 2018-03-18 10:40:02.320751401 +0100 +@@ -148,6 +148,18 @@ + IF(LIBLZMA_LIBRARIES) + SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES}) + ENDIF() ++ # under Linux, recent libxml2 versions are linked without libicuuc & libicud ++ata ++ IF(WITH_STATIC_EXTERNAL) ++ find_library (LIBICUUC_LIBRARY NAMES icuuc) ++ IF(LIBICUUC_LIBRARY) ++ SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBICUUC_LIBRARY}) ++ ENDIF() ++ find_library (LIBICUDATA_LIBRARY NAMES icudata) ++ IF(LIBICUDATA_LIBRARY) ++ SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBICUDATA_LIBRARY}) ++ ENDIF() ++ ENDIF() + ENDIF() + ENDIF() From b3af849cffb58a8a9f42260912242dc879227cd6 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 18 Mar 2018 11:13:56 +0100 Subject: [PATCH 7/9] update patch to link with libicuuc --- patch/libicuuc.patch | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/patch/libicuuc.patch b/patch/libicuuc.patch index 5421af69e..7026b2088 100644 --- a/patch/libicuuc.patch +++ b/patch/libicuuc.patch @@ -4,8 +4,7 @@ IF(LIBLZMA_LIBRARIES) SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES}) ENDIF() -+ # under Linux, recent libxml2 versions are linked without libicuuc & libicud -+ata ++ # under Linux, recent libxml2 versions are linked without libicuuc & libicudata + IF(WITH_STATIC_EXTERNAL) + find_library (LIBICUUC_LIBRARY NAMES icuuc) + IF(LIBICUUC_LIBRARY) From 0d800848a83982205156ee9dcaa019727f575300 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 18 Mar 2018 21:01:40 +0100 Subject: [PATCH 8/9] update patch libicuuc.patch --- patch/libicuuc.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/patch/libicuuc.patch b/patch/libicuuc.patch index 7026b2088..36812a285 100644 --- a/patch/libicuuc.patch +++ b/patch/libicuuc.patch @@ -1,6 +1,6 @@ --- code/CMakeLists.txt.origin 2018-03-17 16:37:45.862885882 +0100 +++ code/CMakeLists.txt 2018-03-18 10:40:02.320751401 +0100 -@@ -148,6 +148,18 @@ +@@ -148,6 +148,17 @@ IF(LIBLZMA_LIBRARIES) SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES}) ENDIF() @@ -17,3 +17,4 @@ + ENDIF() ENDIF() ENDIF() + From ed9868115daf83edde4fe54c7f3fb33e19e7282a Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Mon, 19 Mar 2018 21:34:48 +0100 Subject: [PATCH 9/9] reduce nb cpu to compile client --- .gitlab-ci.yml | 245 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 243 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f7c8220ab..cf11c6fe7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,8 @@ +# Build manually : +# gitlab-runner exec docker --timeout=3600 'Linux server debian_amd64_strech build' +# gitlab-runner exec docker --timeout=3600 'Linux client debian_amd64_strech build' +# gitlab-runner exec docker --timeout=3600 'Linux client_static debian_amd64_strech build' +# gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client build' stages: - build - test @@ -15,6 +20,11 @@ Linux client build: - Docker image: debian:jessie script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" + - echo "disableproc:$disableproc, nb core compile:$(nproc --ignore=$disableproc) optionproc:$optionproc" # Installation des dépendances - echo "deb http://ftp.debian.org/debian/ jessie-backports non-free contrib main" >> /etc/apt/sources.list - apt-get update @@ -33,13 +43,13 @@ Linux client build: # Compilation de curl - cd curl-7.50.0 - ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-ipv6 --disable-crypto-auth --disable-sspi --disable-tls-srp --without-gnutls --without-librtmp --without-libidn --disable-versioned-symbols --disable-pop3 --without-libssh2 --with-ssl - - make install -j$(nproc) + - make install $optionproc - cd .. ## Compilation de Khanat # Configuration - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON ../../code # Compilation et installation - - make -j$(nproc) install DESTDIR=../../Linux/x86_64 + - make $optionproc install DESTDIR=../../Linux/x86_64 # Packaging - cd ../../ - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ @@ -50,6 +60,237 @@ Linux client build: paths: - khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run +Linux server debian_amd64_strech build: + stage: build + tags: + - Docker + image: amd64/debian:9 + script: + # Prepare environment + - apt-get update + - apt-get dist-upgrade -y + - DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server + - apt-get install -y git + libcurl4-openssl-dev + libfreetype6-dev + libx11-dev + libgl1-mesa-dev + libxxf86vm-dev + libxrandr-dev + libxrender-dev + libopenal-dev + libxml2-dev + cmake + build-essential + libpng-dev + libjpeg62-turbo-dev + rrdtool + bison + libxmu-dev + autoconf + automake + default-libmysqlclient-dev + libgif-dev + cpputest + libssl-dev + liblzma-dev + unzip + zlib1g-dev + libssh2-1-dev + libboost-all-dev + libopenal-dev + libgl1-mesa-dev + mercurial + wget + autogen + libtool + libtool-bin + fakeroot + libxml2-dev + - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 + - mkdir -p squish + - (cd squish; wget -c https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libsquish/squish-1.11.zip) + - (cd squish; unzip squish-1.11.zip) + - (cd squish/squish-1.11; patch -i ../../patch/squish-limit.patch) + - (cd squish/squish-1.11; make) + - (cd squish/squish-1.11; make install) + # Action + - mkdir -p code/build + - (cd code/build ; cmake -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=OFF ..) + - (cd code/build; make ryzom_admin_service ryzom_ai_service ryzom_backup_service ryzom_dynamic_scenario_service ryzom_entities_game_service ryzom_frontend_service ryzom_general_utilities_service ryzom_gpm_service ryzom_ios_service ryzom_log_analyser_service ryzom_logger_service ryzom_mail_forum_service ryzom_mirror_service ryzom_mission_compiler ryzom_monitor_service ryzom_naming_service ryzom_patchman_service ryzom_pd_support_service ryzom_persistant_data_service ryzom_reference_builder_service ryzom_session_browser_service ryzom_shard_unifier_service ryzom_tick_service ryzom_welcome_service sheets_packer bnp_make make_sheet_id patch_gen) + - (cd code/build/bin; ls -lh) + artifacts: + name: "khanat-server-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/bin + expire_in: 2 week + + +Linux client debian_amd64_strech build: + stage: build + tags: + - Docker + image: amd64/debian:9 + script: + # Prepare environment + - apt-get update + - apt-get dist-upgrade -y + - apt-get install -y libfreetype6-dev + libx11-dev + libgl1-mesa-dev + libxxf86vm-dev + libxrandr-dev + libxrender-dev + libopenal-dev + libxml2-dev + cmake + build-essential + libpng-dev + libjpeg62-turbo-dev + rrdtool + bison + libxmu-dev + autoconf + automake + libgif-dev + cpputest + libssl-dev + liblzma-dev + unzip + zlib1g-dev + libssh2-1-dev + libboost-all-dev + libopenal-dev + libgl1-mesa-dev + mercurial + wget + autogen + libtool + libtool-bin + fakeroot + libxml2-dev + - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-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/x86_64-linux-gnu/libssl.a -DOPENSSL_CRYPTO_LIBRARIES=/usr/lib/x86_64-linux-gnu/libcrypto.a -DCMAKE_USE_LIBSSH2=OFF -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.a -DCMAKE_C_FLAGS='-fPIC' ..) + - (cd curl/build; make) + - (cd curl/build; make install) + # Action + - mkdir -p code/build + - (cd code; patch -i ../patch/libcrypto.patch) + - (cd code/build ; cmake -DWITH_NEL=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-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/bin + expire_in: 2 week + + +Linux client_static debian_amd64_strech build: + stage: build + tags: + - Docker + image: amd64/debian:9 + script: + # Prepare environment + - apt-get update + - apt-get dist-upgrade -y + - apt-get install -y libfreetype6-dev + libx11-dev + libgl1-mesa-dev + libxxf86vm-dev + libxrandr-dev + libxrender-dev + libopenal-dev + libxml2-dev + cmake + build-essential + libpng-dev + libjpeg62-turbo-dev + rrdtool + bison + libxmu-dev + autoconf + automake + libgif-dev + cpputest + libssl-dev + liblzma-dev + unzip + zlib1g-dev + libssh2-1-dev + libboost-all-dev + libopenal-dev + libgl1-mesa-dev + mercurial + wget + autogen + libtool + libtool-bin + fakeroot + libxml2-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/x86_64-linux-gnu/libssl.a -DOPENSSL_CRYPTO_LIBRARIES=/usr/lib/x86_64-linux-gnu/libcrypto.a -DCMAKE_USE_LIBSSH2=OFF -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.a -DCMAKE_C_FLAGS='-fPIC' ..) + - (cd curl/build; make) + - (cd curl/build; make install) + # Build + - 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)" 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)" 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 + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u1.debian.tar.xz -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_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/bin + expire_in: 2 week + + # Job de compilation pour OSX OSX client build: stage: build