Merge branch 'develop' into 'develop'
Develop See merge request khaganat/mmorpg_khanat/khanat-opennel-code!37
This commit is contained in:
commit
b4eb7b3b12
4 changed files with 310 additions and 2 deletions
245
.gitlab-ci.yml
245
.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
|
||||
|
|
23
patch/libcrypto.patch
Normal file
23
patch/libcrypto.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- 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})
|
||||
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)
|
20
patch/libicuuc.patch
Normal file
20
patch/libicuuc.patch
Normal file
|
@ -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,17 @@
|
||||
IF(LIBLZMA_LIBRARIES)
|
||||
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES})
|
||||
ENDIF()
|
||||
+ # under Linux, recent libxml2 versions are linked without libicuuc & libicudata
|
||||
+ 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()
|
||||
|
24
patch/squish-limit.patch
Normal file
24
patch/squish-limit.patch
Normal file
|
@ -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 <limits.h>
|
||||
#include "alpha.h"
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
--- 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 <limits.h>
|
||||
#include "singlecolourfit.h"
|
||||
#include "colourset.h"
|
||||
#include "colourblock.h"
|
||||
|
Loading…
Reference in a new issue