Skip to content
Snippets Groups Projects
Commit 8f4390ab authored by Albert  Babí Oller's avatar Albert Babí Oller
Browse files

packaging: client-qt build revision for linux

- use cmake to build client-qt (client's cmake includes global installation support)
- copy-runtime-files.py is no longer necessary since it is directly managed by cmake
- uninstall revision: use make uninstall rule for lrc, client-qt and client-gnome
- add doxygen and graphviz dependencies for building documentation

Change-Id: I3fb1d56cb80556337b2c10fda1a67f84c290158c
parent 49c538bc
No related branches found
No related tags found
No related merge requests found
......@@ -85,7 +85,7 @@ ZYPPER_INSTALL_SCRIPT = [
ZYPPER_DEPENDENCIES = [
# build system
'autoconf', 'autoconf-archive', 'automake', 'cmake', 'make', 'patch', 'gcc-c++',
'libtool', 'which', 'pandoc','nasm',
'libtool', 'which', 'pandoc','nasm', 'doxygen', 'graphviz',
# contrib dependencies
'curl', 'gzip', 'bzip2',
# daemon
......@@ -112,7 +112,7 @@ ZYPPER_CLIENT_QT_DEPENDENCIES = [
DNF_DEPENDENCIES = [
'autoconf', 'autoconf-archive', 'automake', 'cmake', 'make', 'speexdsp-devel', 'pulseaudio-libs-devel',
'libtool', 'dbus-devel', 'expat-devel', 'pcre-devel',
'libtool', 'dbus-devel', 'expat-devel', 'pcre-devel', 'doxygen', 'graphviz',
'yaml-cpp-devel', 'boost-devel', 'dbus-c++-devel', 'dbus-devel',
'libXext-devel', 'libXfixes-devel', 'yasm',
'speex-devel', 'chrpath', 'check', 'astyle', 'uuid-c++-devel', 'gettext-devel',
......@@ -135,8 +135,8 @@ DNF_CLIENT_QT_DEPENDENCIES = [
]
APT_DEPENDENCIES = [
'autoconf', 'autoconf-archive', 'autopoint', 'automake', 'cmake', 'make', 'dbus', 'doxygen', 'g++',
'gettext', 'gnome-icon-theme-symbolic', 'libasound2-dev', 'libavcodec-dev',
'autoconf', 'autoconf-archive', 'autopoint', 'automake', 'cmake', 'make', 'dbus', 'doxygen', 'graphviz',
'g++', 'gettext', 'gnome-icon-theme-symbolic', 'libasound2-dev', 'libavcodec-dev',
'libavdevice-dev', 'libavformat-dev', 'libboost-dev',
'libclutter-gtk-1.0-dev', 'libcppunit-dev', 'libdbus-1-dev',
'libdbus-c++-dev', 'libebook1.2-dev', 'libexpat1-dev', 'libgnutls28-dev',
......@@ -163,8 +163,8 @@ APT_CLIENT_QT_DEPENDENCIES = [
]
PACMAN_DEPENDENCIES = [
'autoconf', 'autoconf-archive', 'gettext', 'cmake', 'dbus', 'doxygen', 'gcc',
'ffmpeg', 'boost', 'cppunit', 'libdbus', 'dbus-c++', 'libe-book', 'expat',
'autoconf', 'autoconf-archive', 'gettext', 'cmake', 'dbus', 'doxygen', 'graphviz',
'gcc', 'ffmpeg', 'boost', 'cppunit', 'libdbus', 'dbus-c++', 'libe-book', 'expat',
'jack', 'opus', 'pcre', 'libpulse', 'speex', 'speexdsp', 'libtool', 'yaml-cpp',
'qt5-base', 'swig', 'yasm', 'qrencode', 'make', 'patch', 'pkg-config',
'automake', 'libva', 'libnm', 'libvdpau', 'openssl', 'pandoc', 'nasm'
......@@ -201,27 +201,15 @@ IOS_DEPENDENCIES_UNLINK = [
'pkg-config*', 'gettext*', 'swiftlint*', 'swiftgen*', 'libtasn'
]
UNINSTALL_SCRIPT = [
'make -C daemon uninstall',
'rm -rf ./lrc/build-global/',
'rm -rf ./lrc/build-local/',
'rm -rf ./client-gnome/build-global',
'rm -rf ./client-gnome/build-local',
'rm -rf ./client-qt/build-global',
'rm -rf ./client-qt/build-local',
UNINSTALL_DAEMON_SCRIPT = [
'make -C daemon uninstall'
]
OSX_UNINSTALL_SCRIPT = [
'make -C daemon uninstall',
'rm -rf install/client-macosx',
]
STOP_SCRIPT = [
'xargs kill < daemon.pid',
'xargs kill < jami-gnome.pid',
'rm -rf install/client-macosx'
]
def run_powersell_cmd(cmd):
p = subprocess.Popen(["powershell.exe", cmd], stdout=sys.stdout)
p.communicate()
......@@ -417,8 +405,25 @@ def run_uninstall(args):
if args.distribution == OSX_DISTRIBUTION_NAME:
execute_script(OSX_UNINSTALL_SCRIPT)
else:
execute_script(UNINSTALL_SCRIPT)
execute_script(UNINSTALL_DAEMON_SCRIPT)
CLIENT_SUFFIX = 'qt' if (args.qt is not None) else 'gnome'
INSTALL_DIR = '/build-global' if args.global_install else '/build-local'
# Client needs to be uninstalled first
if (os.path.exists('./client-' + CLIENT_SUFFIX + INSTALL_DIR)):
UNINSTALL_CLIENT = [
'make -C client-' + CLIENT_SUFFIX + INSTALL_DIR + ' uninstall',
'rm -rf ./client-' + CLIENT_SUFFIX + INSTALL_DIR
]
execute_script(UNINSTALL_CLIENT)
if (os.path.exists('./lrc' + INSTALL_DIR)):
UNINSTALL_LRC = [
'make -C lrc' + INSTALL_DIR + ' uninstall',
'rm -rf ./lrc' + INSTALL_DIR
]
execute_script(UNINSTALL_LRC)
def run_run(args):
if args.distribution == OSX_DISTRIBUTION_NAME:
......@@ -459,7 +464,7 @@ def run_run(args):
env=run_env
)
with open('jami-gnome.pid', 'w') as f:
with open("jami-" + client_suffix + ".pid", 'w') as f:
f.write(str(client_process.pid)+'\n')
if args.debug:
......@@ -495,6 +500,11 @@ def run_run(args):
def run_stop(args):
client_suffix = "qt" if (args.qt is not None) else "gnome"
STOP_SCRIPT = [
'xargs kill < daemon.pid',
'xargs kill < jami-' + client_suffix + '.pid'
]
execute_script(STOP_SCRIPT)
......
......@@ -167,40 +167,38 @@ cd "${TOP}/${client}"
mkdir -p "${BUILDDIR}"
cd "${BUILDDIR}"
if [ "${client}" = "client-qt" ]; then
if [ -z ${qt5path} ]; then
if command -v qmake &> /dev/null; then
echo "Build client-qt with $(qmake -v)"
qmake PREFIX="${INSTALL}/${client}" ..
if [ "${global}" = "true" ]; then
if [ "${prefix+set}" ]; then
cmake .. -DQT5_VER="${qt5ver}" \
-DQT5_PATH="${qt5path}" \
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DCMAKE_INSTALL_PREFIX="${prefix}" $static
else
echo "Build client-qt with $(qmake-qt5 -v)" # Fedora
qmake-qt5 PREFIX="${INSTALL}/${client}" ..
cmake .. -DQT5_VER="${qt5ver}" \
-DQT5_PATH="${qt5path}" \
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static
fi
else
echo "Build client-qt using Qt ${qt5path}"
eval ${qt5path}/bin/qmake PREFIX="${INSTALL}/${client}" ..
cmake .. -DQT5_VER="${qt5ver}" \
-DQT5_PATH="${qt5path}" \
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \
-DLRC="${INSTALL}/lrc"
fi
else
if [ "${global}" = "true" ]; then
if [ "${prefix+set}" ]; then
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_INSTALL_PREFIX="${prefix}" $static
else
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static
fi
if [ "${prefix+set}" ]; then
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DCMAKE_INSTALL_PREFIX="${prefix}" $static
else
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static
fi
else
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \
-DRINGTONE_DIR="${INSTALL}/daemon/share/ring/ringtones" \
-DLibRingClient_DIR="${INSTALL}/lrc/lib/cmake/LibRingClient" $static
cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \
-DRINGTONE_DIR="${INSTALL}/daemon/share/ring/ringtones" \
-DLibRingClient_DIR="${INSTALL}/lrc/lib/cmake/LibRingClient" $static
fi
fi
make -j"${proc}"
make_install "${global}" "${priv_install}"
# copy runtime files
if [ ${client} = "client-qt" ]; then
if [ -z ${qt5path} ]; then
python ../copy-runtime-files.py
else
python ../copy-runtime-files.py -q ${qt5path}
fi
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment