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
d74dc6c2
Commit
d74dc6c2
authored
Feb 27, 2017
by
Tristan Cavelier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
xxx component/onlyoffice-core: remove icu, cef and boost third party
parent
69a148b0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
99 additions
and
17 deletions
+99
-17
component/onlyoffice-core/buildout.cfg
component/onlyoffice-core/buildout.cfg
+99
-17
No files found.
component/onlyoffice-core/buildout.cfg
View file @
d74dc6c2
...
...
@@ -5,24 +5,27 @@ extends =
../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
../p7zip/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 wrapper
# for
binary
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)
# XXX please, put the v8 third party components in slapos !
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
...
...
@@ -31,33 +34,112 @@ patch-options = -p0
patches =
${:_profile_base_location_}/rewrite-scripts.patch#3c82738b72fe2765d7da8c98a872f15d
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
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 )
# 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:${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"
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
# 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="${:location}/lib:${icu4c-55.1:location}/lib:${curl:location}/lib$${LD_LIBRARY_PATH:-:$LD_LIBRARY_PATH}"
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
# 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 "$@"
# 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