buildout.cfg 3.18 KB
[buildout]
extends =
  ../gcc/buildout.cfg
  ../binutils/buildout.cfg
  ../curl/buildout.cfg
  ../libxml2/buildout.cfg
  ../zlib/buildout.cfg
  ../icu/buildout.cfg
# for 3dparty dependencies
  ../git/buildout.cfg
  ../p7zip/buildout.cfg
# for qmake
  ../qt/buildout.cfg
# for wrapper
  ../dash/buildout.cfg
# XXX qmake ! use pre-configure !!
parts +=
  onlyoffice-core

[onlyoffice-core]
# XXX please, put the third party component in slapos !
#     boost, cef, icu, v8 and pole (is there others ??? XXX TRISTAN XXX)
recipe = slapos.recipe.cmmi
location = ${buildout:parts-directory}/${:_buildout_section_name_}
keep-compile-dir = true
# This url contains the hash provided by the DocumentServer core submodule hash.
# https://github.com/ONLYOFFICE/DocumentServer/tree/ONLYOFFICE-DocumentServer-4.2.9
url = https://github.com/ONLYOFFICE/core/archive/0bd10c28acd79a1e25a8b3fb94689819642e5eb5.tar.gz
md5sum = f7e77ff35f12e9ab485b60b7889e5d53
patch-options = -p0
patches =
  ${:_profile_base_location_}/rewrite-scripts.patch#3c82738b72fe2765d7da8c98a872f15d

pre-configure =
  sed 's:^CRYPTOPP_QMAKE_SPEC=SED_IT$:CRYPTOPP_QMAKE_SPEC="${qt5-qmake:location}/qtbase/mkspecs/linux-g++":' -i Common/3dParty/cryptopp/build.sh
  sed 's,\(include($$PWD/OfficeUtils.pri)\)),\1,g' -i OfficeUtils/OfficeUtils.pro
  sed 's,\$\$SOURCES_UTILS,'"$PWD/OfficeUtils/src,g" -i OfficeUtils/OfficeUtils.pri
  sed 's@qmake -r@qmake -r -spec ${qt5-qmake:location}/qtbase/mkspecs/linux-g++ "QMAKE_CXXFLAGS += -std=c++11 -I${curl:location}/include -I${libxml2:location}/include -I${zlib:location}/include" "QMAKE_LFLAGS += -L${curl:location}/lib -Wl,-rpath=${curl:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib"@g' -i Makefile
  ( cd Common/3dParty && ./make.sh )
configure-command = true
make-targets = lib bin
environment =
  PATH=${gcc:location}/bin:${binutils:location}/bin:${git:location}/bin:${p7zip:location}/bin:${qt5-qmake:location}/qtbase/bin:%(PATH)s
  CPPFLAGS="-I${qt5-qmake:location}/qtbase/include -I${curl:location}/include -I${libxml2:location}/include -I${zlib:location}/include"
  LD_LIBRARY_PATH=${gcc:location}/lib64:${gcc:location}/lib:${binutils:location}/lib:${qt5-qmake:location}/qtbase/lib:${curl:location}/lib:${libxml2:location}/lib:${zlib:location}/lib
  LDFLAGS="-Wl,-rpath=${gcc:location}/lib64 -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${curl:location}/lib -Wl,-rpath=${libxml2:location}/lib -Wl,-rpath=${zlib:location}/lib"
post-install =
  set -e -x
  mkdir -p ${:location}/bin ${:location}/lib
  mv -t ${:location}/lib build/lib/*/*
  mv build/bin/AllFontsGen/* ${:location}/bin/AllFontsGen
  mv -t ${:location}/bin build/bin/*/*
# create wrapper
  mv ${:location}/bin/x2t ${:location}/bin/x2t.bin
  echo '#!/bin/sh
  exec ${dash:location}/bin/dash -c '\''
  export LD_LIBRARY_PATH="${:location}/lib:${icu4c-55.1:location}/lib:${curl:location}/lib$${LD_LIBRARY_PATH:-:$LD_LIBRARY_PATH}"
  exec ${:location}/bin/x2t.bin "$@"'\'' "$0" "$@"' > ${:location}/bin/x2t
  chmod +x ${:location}/bin/x2t

# XXX how to use x2t binary :
#     export LD_LIBRARY_PATH=${onlyoffice-core:location}/lib:${icu4c-55.1:location}/lib
#     exec ${onlyoffice-core:location}/bin/x2t "$@"