Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
slapos
Commits
2146ab87
Commit
2146ab87
authored
Jan 26, 2018
by
Boris Kocherov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
component/onlyoffice-core: simplify
parent
2248826a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
115 deletions
+19
-115
component/onlyoffice-core/buildout.cfg
component/onlyoffice-core/buildout.cfg
+19
-115
No files found.
component/onlyoffice-core/buildout.cfg
View file @
2146ab87
[buildout]
extends =
../gcc/buildout.cfg
../binutils/buildout.cfg
../curl/buildout.cfg
../libxml2/buildout.cfg
../zlib/buildout.cfg
../boost-lib/buildout.cfg
../icu/buildout.cfg
# for 3dparty dependencies
# git is used by v8 fetch.sh
../git/buildout.cfg
# bash is used to run fetch.sh
../bash/buildout.cfg
# for onlyoffice boost
../bzip2/buildout.cfg
../zlib/buildout.cfg
# for qmake
../qt/buildout.cfg
# for binary wrapper
../dash/buildout.cfg
parts +=
onlyoffice-core
[onlyoffice-core]
# XXX please, put the v8 third party components in slapos !
recipe = slapos.recipe.cmmi
location = ${buildout:parts-directory}/${:_buildout_section_name_}
# 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
pre-configure-QMAKE_CXXFLAGS =
-std=c++11
-Wno-comment
-Wno-deprecated-declarations
-Wno-endif-labels
-Wno-parentheses
-Wno-reorder
-Wno-sign-compare
-Wno-switch
-Wno-unknown-pragmas
-Wno-unused
-I${curl:location}/include
-I${libxml2:location}/include
-I${zlib:location}/include
pre-configure-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
pre-configure =
set -e -x
# put QMAKE_{CXXFLAGS,LFLAGS} into shell vars
qmake_cxxflags=$(echo " ${:pre-configure-QMAKE_CXXFLAGS}" | sed ':a;N;$!ba;s/\n/ /g')
qmake_lflags=$(echo " ${:pre-configure-QMAKE_LFLAGS}" | sed ':a;N;$!ba;s/\n/ /g')
# prepare spec for cryptopp third party (XXX use slapos cryptopp)
sed 's:^CRYPTOPP_QMAKE_SPEC=SED_IT$:CRYPTOPP_QMAKE_SPEC="${qt5-qmake:location}/qtbase/mkspecs/linux-g++":' -i Common/3dParty/cryptopp/build.sh
# fix some typos
sed 's,\(include($$PWD/OfficeUtils.pri)\)),\1,g' -i OfficeUtils/OfficeUtils.pro
sed 's,\$\$SOURCES_UTILS,'"$PWD/OfficeUtils/src,g" -i OfficeUtils/OfficeUtils.pri
# patch Makefile
sed 's@qmake -r@qmake -r -spec ${qt5-qmake:location}/qtbase/mkspecs/linux-g++ '"'QMAKE_CXXFLAGS +=$qmake_cxxflags' 'QMAKE_LFLAGS +=$qmake_lflags'@g" -i Makefile
# link boost on 3dParty folders
mkdir -p Common/3dParty/boost/boost_1_58_0
# XXX use symlinks !
# XXX use shared libraries as most as possible !
cp -at Common/3dParty/boost/boost_1_58_0 ${onlyoffice-boost-lib-1.58.0:location}/*
# link icu on 3dParty folders
mkdir -p Common/3dParty/icu/slapos/usr/local
ln -sfT ${icu4c-55.1:location}/lib Common/3dParty/icu/slapos/build
ln -sfT ${icu4c-55.1:location}/include Common/3dParty/icu/slapos/usr/local/include
for os in linux mac win ; do for arch in 64 32 ; do ln -sf slapos Common/3dParty/icu/$${os}_$${arch} ; done ; done
bash="${bash:location}/bin/bash"
( cd Common/3dParty/v8 && "$bash" fetch.sh )
( cd Common/3dParty/v8 && "$bash" build.sh )
# Note: curl, cryptopp and pole third parties are already embedded.
# Note: cef third party seems to be useless in core.
# https://github.com/ONLYOFFICE/DocumentServer/
url = https://lab.nexedi.com/bk/onlyoffice_core/repository/archive.tar.bz2?ref=b051e75b179b3599c09937668fbbd2d7e2c50683
md5sum = b2713373d687dd1c7121c286fa156626
configure-command = true
make-targets = lib bin
environment =
PATH=${
gcc:location}/bin:${binutils:location}/bin:${qt5-qmake:location}/qtbase
/bin:%(PATH)s
#${git:location}/bin:
LD
_LIBRARY_PATH=${gcc:location}/lib64:${gcc:location}/lib:${binutils:location}/lib:${qt5-qmake:location}/qtbase
/lib
PATH=${
qt5-qmake:location}
/bin:%(PATH)s
CXXFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${icu4c:location}/include -I${onlyoffice-boost:location}/include -Wno-comment -Wno-deprecated-declarations -Wno-endif-labels -Wno-parentheses -Wno-reorder -Wno-sign-compare -Wno-switch -Wno-unknown-pragmas -Wno-unused
LD
FLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${icu4c:location}/lib -Wl,-rpath=${icu4c:location}/lib -L${onlyoffice-boost:location}/lib -Wl,-rpath=${onlyoffice-boost:location}/lib -Wl,-rpath=${:location}
/lib
post-install =
# XXX check if `make install` is possible to use instead
set -e -x
mkdir -p ${:location}/bin ${:location}/lib
mv -t ${:location}/lib build/lib/*/*
# the binary linux_64 in build/bin/AllFontsGen is renamed AllFontsGen here.
mv build/bin/AllFontsGen/* ${:location}/bin/AllFontsGen
mv -t ${:location}/lib build/lib/*/*.so
mv -t ${:location}/bin build/bin/*/*
# the binary linux_64 in build/bin/AllFontsGen is renamed AllFontsGen here.
# mv build/bin/AllFontsGen/* ${:location}/bin/AllFontsGen
# create wrapper for x2t binary
mv ${:location}/bin/x2t ${:location}/bin/x2t.bin
echo '#!/bin/sh
exec ${dash:location}/bin/dash -c '\''
export LD_LIBRARY_PATH="${onlyoffice-core:location}/lib:${icu4c-55.1:location}/lib:${curl:location}/lib$${LD_LIBRARY_PATH:-:$LD_LIBRARY_PATH}"
# (XXX add boost/lib if we use it as shared library)
exec ${:location}/bin/x2t.bin "$@"'\'' "$0" "$@"' > ${:location}/bin/x2t
chmod +x ${:location}/bin/x2t
# create wrapper for AllFontsGen binary
mv ${:location}/bin/AllFontsGen ${:location}/bin/AllFontsGen.bin
echo '#!/bin/sh
exec ${dash:location}/bin/dash -c '\''
export LD_LIBRARY_PATH="${gcc:location}/lib64:${gcc:location}/lib$${LD_LIBRARY_PATH:-:$LD_LIBRARY_PATH}"
exec ${:location}/bin/AllFontsGen.bin "$@"'\'' "$0" "$@"' > ${:location}/bin/AllFontsGen
chmod +x ${:location}/bin/AllFontsGen
[onlyoffice-boost-lib-1.58.0]
# The goal of this section is to compile boost-lib with the same compiler as [onlyoffice-core]
<= boost-lib
url = http://freefr.dl.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.gz
md5sum = 5a5d5614d9a07672e1ab2a250b5defc5
configure-command = ./bootstrap.sh --with-libraries=filesystem,system,date_time,regex --with-icu=${icu4c-55.1:location}
make-targets = true
post-install =
set -e -x
# XXX should not be available only for linux_64 !
# please do the same magic as in [onlyoffice-core] :
# create dir `slapos` and add symlinks `{linux,mac,win}_{32,64}`
mkdir -p build/linux_64/static && ./b2 --clean && ./bjam link=static && cp stage/lib/* build/linux_64/static
mkdir -p build/linux_64/static_fpic && ./b2 --clean && ./bjam link=static cxxflags=-fPIC && cp stage/lib/* build/linux_64/static_fpic
mkdir -p build/linux_64/shared && ./b2 --clean && ./bjam link=shared && cp stage/lib/* build/linux_64/shared
# XXX clean useless files !
mv -t ${:location} *
[onlyoffice-boost]
recipe = slapos.recipe.cmmi
url = http://downloads.sourceforge.net/sourceforge/boost/boost_1_58_0.tar.bz2
md5sum = b8839650e61e9c1c0a89f371dd475546
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command = ./bootstrap.sh --prefix=${:location} --with-python=${python2.7:location}/bin/python2.7 --with-libraries=regex --with-icu=${icu4c:location}
make-binary =
make-options =
make-targets = ./b2 link=shared dll-path=${:location}/lib:${bzip2:location}/lib:${zlib:location}/lib:${icu4c:location}/lib install
environment =
PATH=${gcc:location}/bin:${binutils:location}/bin:%(PATH)s
LD_LIBRARY_PATH=${gcc:location}/lib64:${gcc:location}/lib:${binutils:location}/lib
BZIP2_INCLUDE=${bzip2:location}/include
BZIP2_LIBPATH=${bzip2:location}/lib
ZLIB_INCLUDE=${zlib:location}/include
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment