WIP: add [onlyoffice-core] component (compiled from source)
NOTE:
- 
onlyoffice-core has 7 third parties :
- boost
 - cef (useless in onlyoffice-core)
 - cryptopp (embedded in onlyoffice-core source)
 - curl (embedded in onlyoffice-core source)
 - icu
 - pole (embedded in onlyoffice-core source)
 - v8
 
 - 
v8 has 6 third parties which are automatically downloaded by
fetchandgclient- google commands provided by [depot_tools]. I did not check what are the requirements for them. Here's the list of third parties :- binutils
 - icu
 - instrumented_libraries
 - jinja2
 - llvm-build
 - markupsafe
 
 - 
Requirements :
- 
v8__compile__(in the current state) needs 3GB to compile - 
qt5-qmake__compile__needs 4GB to compile - 
qt4-qmake__compile__needs 1.5GB to compile - 
onlyoffice-core__compile__(including v8 and boost) needs 5GB to compile 
 - 
 - 
Source :
- for qt4 : https://github.com/NixOS/nixpkgs/blob/3e387c3e005c87566b5403d24c86f71f4945a79b/pkgs/development/libraries/qt-4.x/4.8/default.nix#L101
 - for v8 : https://github.com/v8/v8/wiki/Building%20with%20Gyp (deprecated way)
 - for onlyoffice-core : http://helpcenter.onlyoffice.com/server/linux/document/compile-source-code.aspx
 
 - 
Other links :
 - 
How to install onlyoffice-core on Debian ? (tested on Debian 8. See tutorial.) Here are commands to run on a fresh Debian distribution :
# These dependencies are requirement for entire DocumentServer # nodejs and npm are not necessary for core sudo apt-get install --force-yes -yq \ wget build-essential \ libcurl4-gnutls-dev libglib2.0-dev libgdk-pixbuf2.0-dev \ libgtkglext1-dev libatk1.0-dev libcairo2-dev libxml2-dev \ libxss-dev libgconf2-dev \ default-jre \ qt5-qmake qt5-default \ p7zip-full git subversion # Download DocumentServer and sub modules (including core) git clone --recursive https://github.com/ONLYOFFICE/DocumentServer.git # Build third parties cd DocumentServer/core/Common/3dParty && ./make.sh # Build core cd ../.. && make # Binaries are generated here : ls -l build/lib/*/ ls -l build/bin/*/ ls -l build/AllFontsGen/ 
DONE:
- add & use [qt5-qmake] - used to build onlyoffice
 - add [qt4-qmake] - alternative used because qt5-qmake is not compilable everywhere
 - add & use [icu4c-55.1] - version 55.1 used by onlyoffice third party
 - add & use [cryptopp] instead of embedded source - version 5.6.3 used by onlyoffice third party
 - almost use [boost-lib] - version 1.58.0 used by onlyoffice third party
 - use [curl] instead of embedded source
 - add [pole]
 - add [depot_tools]
 - add [v8] - version 4.10.253 used by onlyoffice third party
 - add & use [onlyoffice-core] - revision 0bd10c2 used by latest OnlyOffice Document Server release
 - add & use [onlyoffice-boost-lib-1.58.0] - a modified version of [boost-lib] section - compile with [gcc] and use [icu4c-55.1]
 - remove [onlyoffice-x2t]
 
TODO:
- make [qt5-qmake] to compile on all systems
- it compiles on my first runner thanks to up to date system libraries
 - it does NOT compile on my second runner (VM based on debian8) - matching system libraries do not exist - matching slapos libraries do not exist either
- I know it misses 
<xcb/xcb_iccm.h>, it's not provided by [libxcb] 
 - I know it misses 
 
 - make [onlyoffice-core] to compile on all systems
- it compiles on my first runner with [qt5-qmake] (as originaly required by onlyoffice documentation)
 - it does NOT compile on my second runner with [qt4-qmake] due to an "internal compiler error - please report bug to gnu.org"
 
 - make generic [boost-lib] to use the 
--with-icu=${icu:location}option ?- currently using [onlyoffice-boost-lib-1.58.0] with 
--with-icu=${icu4c-55.1:location}to make-lboost_regexto work 
 - currently using [onlyoffice-boost-lib-1.58.0] with 
 - make [v8] to be fully standalone & use it in [onlyoffice-core]
- integrate v8 third parties in slapos too ?