mirror of
https://git.freebsd.org/ports.git
synced 2025-06-20 04:00:41 -04:00
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time. WWW: https://www.onlyoffice.com/ Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D33923
107 lines
3 KiB
Python
107 lines
3 KiB
Python
--- build_tools/tools/freebsd/automate.py.orig 2021-12-18 16:54:46 UTC
|
|
+++ build_tools/tools/freebsd/automate.py
|
|
@@ -0,0 +1,104 @@
|
|
+#!/usr/bin/env python
|
|
+
|
|
+import sys
|
|
+sys.path.append('../../scripts')
|
|
+import base
|
|
+import os
|
|
+import subprocess
|
|
+
|
|
+def get_branch_name(directory):
|
|
+ cur_dir = os.getcwd()
|
|
+ os.chdir(directory)
|
|
+ # detect build_tools branch
|
|
+ #command = "git branch --show-current"
|
|
+ command = "git symbolic-ref --short -q HEAD"
|
|
+ popen = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
|
|
+ current_branch = "master"
|
|
+ try:
|
|
+ stdout, stderr = popen.communicate()
|
|
+ popen.wait()
|
|
+ current_branch = stdout.strip().decode("utf-8")
|
|
+ finally:
|
|
+ popen.stdout.close()
|
|
+ popen.stderr.close()
|
|
+ os.chdir(cur_dir)
|
|
+ return current_branch
|
|
+
|
|
+def install_deps():
|
|
+ if base.is_file("./packages_complete"):
|
|
+ return
|
|
+
|
|
+ # dependencies
|
|
+ packages = ["git-lite",
|
|
+ "bash",
|
|
+ "png",
|
|
+ "jpeg-turbo",
|
|
+ "p7zip",
|
|
+ "qt5-qmake",
|
|
+ "boost-libs",
|
|
+ "openjdk8",
|
|
+ "openjdk11",
|
|
+ "subversion"]
|
|
+
|
|
+# base.cmd("sudo", ["pkg", "install"] + packages)
|
|
+ base.set_env('QT_SELECT', 'qt5')
|
|
+
|
|
+ # nodejs
|
|
+# if not base.is_file("./node_js_setup_10.x"):
|
|
+# base.cmd("sudo", ["touch", "./node_js_setup_10.x"])
|
|
+# base.cmd("sudo", ["npm", "install", "-g", "npm@6"])
|
|
+
|
|
+ return
|
|
+
|
|
+if not base.is_file("./node_js_setup_10.x"):
|
|
+ print("install dependencies...")
|
|
+ install_deps()
|
|
+
|
|
+if not base.is_dir("./qt"):
|
|
+ base.cmd("mkdir", ["qt",])
|
|
+ base.cmd("ln", ["-s", "/usr/local/lib/qt5", "qt/clang_64"])
|
|
+
|
|
+# Apply a patch on the node_gyp cache in case of npm-node10 use..
|
|
+#base.cmd("bash", ["patch_nodegyp.sh",])
|
|
+
|
|
+branch = get_branch_name("../..")
|
|
+
|
|
+array_args = sys.argv[1:]
|
|
+array_modules = []
|
|
+
|
|
+config = {}
|
|
+for arg in array_args:
|
|
+ if (0 == arg.find("--")):
|
|
+ indexEq = arg.find("=")
|
|
+ if (-1 != indexEq):
|
|
+ config[arg[2:indexEq]] = arg[indexEq + 1:]
|
|
+ else:
|
|
+ # XXX Currently only server has been checked for compilation under FreeBSD
|
|
+ if arg != 'server':
|
|
+ print("module %s not supported yet under FreeBSD" % arg)
|
|
+ array_modules.append(arg)
|
|
+
|
|
+if ("branch" in config):
|
|
+ branch = config["branch"]
|
|
+
|
|
+print("---------------------------------------------")
|
|
+print("build branch: " + branch)
|
|
+print("---------------------------------------------")
|
|
+
|
|
+modules = " ".join(array_modules)
|
|
+# XXX Currently only server has been checked for compilation under FreeBSD
|
|
+if "" == modules:
|
|
+ modules = "server"
|
|
+
|
|
+print("---------------------------------------------")
|
|
+print("build modules: " + modules)
|
|
+print("---------------------------------------------")
|
|
+
|
|
+build_tools_params = ["--branch", branch,
|
|
+ "--module", modules,
|
|
+ "--update", "1",
|
|
+ "--platform", "freebsd_64",
|
|
+ "--qt-dir", os.getcwd() + "/qt"]
|
|
+
|
|
+base.cmd_in_dir("../..", "./configure.py", build_tools_params)
|
|
+base.cmd_in_dir("../..", "./make.py")
|