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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Levin Zimmermann
slapos
Commits
5bdd3486
Commit
5bdd3486
authored
Feb 21, 2017
by
Tristan Cavelier
Committed by
Romain Courteaud
Feb 26, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
component/onlyoffice-core: add [onlyoffice-core]
parent
8c26632d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
142 additions
and
0 deletions
+142
-0
component/onlyoffice-core/buildout.cfg
component/onlyoffice-core/buildout.cfg
+142
-0
No files found.
component/onlyoffice-core/buildout.cfg
0 → 100644
View file @
5bdd3486
[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.
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
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}/bin build/bin/*/*
# 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} *
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
ZLIB_LIBPATH=${zlib:location}/lib
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