packaging: detect vc_redist and prevent reinstallation

Change-Id: I149d58da06d6ab2ae8ea712da9a39374ac921cf1
1 file changed
tree: 1325f58cef7739e494899068686bd89ba7816fb5
  1. .tx/
  2. docker/
  3. images/
  4. ringtones/
  5. translations/
  6. web/
  7. .gitignore
  8. .gitmodules
  9. .gitreview
  10. aboutdialog.cpp
  11. aboutdialog.h
  12. aboutdialog.ui
  13. accountdetails.ui
  14. accountitemdelegate.cpp
  15. accountitemdelegate.h
  16. accountlistmodel.cpp
  17. accountlistmodel.h
  18. advancedsettingswidget.cpp
  19. advancedsettingswidget.h
  20. advancedsettingswidget.ui
  21. animatedoverlay.ui
  22. animationhelpers.cpp
  23. animationhelpers.h
  24. avatargraphicsview.cpp
  25. avatargraphicsview.h
  26. bannedcontactswidget.cpp
  27. bannedcontactswidget.h
  28. bannedcontactswidget.ui
  29. bannedlistmodel.cpp
  30. bannedlistmodel.h
  31. bezierconnectorwidget.cpp
  32. bezierconnectorwidget.h
  33. build-client.bat
  34. callwidget.cpp
  35. callwidget.h
  36. callwidget.ui
  37. contactdialog.ui
  38. conversationitemdelegate.cpp
  39. conversationitemdelegate.h
  40. conversationsfilterwidget.cpp
  41. conversationsfilterwidget.h
  42. copy-runtime-files.ps1
  43. currentaccountcombobox.cpp
  44. currentaccountcombobox.h
  45. deleteaccountdialog.cpp
  46. deleteaccountdialog.h
  47. deleteaccountdialog.ui
  48. deviceeditwidget.ui
  49. fetch-deps.bat
  50. globalsystemtray.cpp
  51. globalsystemtray.h
  52. ico.rc
  53. idlabel.cpp
  54. idlabel.h
  55. invitebuttonswidget.cpp
  56. invitebuttonswidget.h
  57. invitebuttonswidget.ui
  58. jami-qt.pro
  59. License.rtf
  60. linkdevwidget.cpp
  61. linkdevwidget.h
  62. linkdevwidget.ui
  63. linkify.js
  64. lrcinstance.h
  65. main.cpp
  66. mainwindow.cpp
  67. mainwindow.h
  68. mainwindow.ui
  69. messagewebpage.cpp
  70. messagewebpage.h
  71. messagewebview.cpp
  72. messagewebview.h
  73. navwidget.cpp
  74. navwidget.h
  75. newwizardwidget.cpp
  76. newwizardwidget.h
  77. newwizardwidget.ui
  78. passworddialog.cpp
  79. passworddialog.h
  80. passworddialog.ui
  81. photoboothdialog.cpp
  82. photoboothdialog.h
  83. photoboothdialog.ui
  84. photoboothwidget.cpp
  85. photoboothwidget.h
  86. photoboothwidget.ui
  87. pixbufmanipulator.cpp
  88. pixbufmanipulator.h
  89. qrencode-win32.patch
  90. README.md
  91. regnamedialog.cpp
  92. regnamedialog.h
  93. regnamedialog.ui
  94. ressources.qrc
  95. ring-client-windows.sln
  96. ring-client-windows.vcxproj
  97. ring-client-windows.vcxproj.filters
  98. ring.nsi
  99. ringbutton.cpp
  100. ringbutton.h
  101. ringbutton.ui
  102. ringcontactlineedit.cpp
  103. ringcontactlineedit.h
  104. ringthemeutils.h
  105. runguard.cpp
  106. runguard.h
  107. selectareadialog.cpp
  108. selectareadialog.h
  109. setavatardialog.cpp
  110. setavatardialog.h
  111. setavatardialog.ui
  112. settingsitemwidget.cpp
  113. settingsitemwidget.h
  114. settingskey.h
  115. settingswidget.cpp
  116. settingswidget.h
  117. settingswidget.ui
  118. shmclient.cpp
  119. shmclient.h
  120. smartlistmodel.cpp
  121. smartlistmodel.h
  122. smartlistselectorbuttonnotifier.cpp
  123. smartlistselectorbuttonnotifier.h
  124. smartlistview.cpp
  125. smartlistview.h
  126. stylesheet.css
  127. touch_res.bat
  128. update-translations.py
  129. utils.cpp
  130. utils.h
  131. version.h
  132. videooverlay.cpp
  133. videooverlay.h
  134. videooverlay.ui
  135. videoview.cpp
  136. videoview.h
  137. videoview.ui
  138. videowidget.cpp
  139. videowidget.h
  140. webchathelpers.cpp
  141. webchathelpers.h
  142. windowscontactbackend.cpp
  143. windowscontactbackend.h
  144. winsparkle.patch
README.md

Jami-qt

jami-qt is the cross platform client for Jami. For now, it's mainly used for the Windows platform and is not tested on other platforms.

jami-logo

For more information about the jami project, see the following:

Requirements

  • Jami client library and Jami daemon
  • Mingw-w64 build environment
  • Qt5 (we link against Qt5Core, Qt5Widgets, Qt5Gui) built with Mingw
  • Qt5 Svg, Qt5 ImageFormats & Qt5 WinExtras built with Mingw

Get the source code

  • git clone https://gerrit-ring.savoirfairelinux.com/ring-client-windows

Build instructions

NOTE: The build process is currently under a full refactorization. This section will be updated soon

Windows

TBD

Build winsparkle

In the client directory after having initialized the submodule:

cd winsparkle
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=<LRC Directory>/cmake/winBuild.cmake -DCMAKE_INSTALL_PREFIX=Install dir of Jami and LRC> ../cmake",
make
make install

Packaging

cd build/release
makensis ring.nsi

Linux

For now, this process is experimental. The best way to do that is:

  1. Compile the daemon and LRC as specified in these projects (see the respective repositories or https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Build-instructions).
  2. Install needed dependencies (TBD):
    • For Fedora:
sudo dnf install qt5-qtsvg-devel qt5-qtwebengine-devel qt5-multimedia-devel
  1. If you are not using the ring-project repository, you have to define the LRC environment variable to contains the install directory for LRC. Also, you will have to setup LD_LIBRARY_PATH if your install directory is a custom one.
  2. Then, build the client:
mkdir build
cd build
qmake-qt5 ../jami-qt.pro
make -j 9
  1. Then, you are finally ready to launch jami-qt in your build directory.

Known issues

  1. The build system is not straight forward
  2. Video doesn't work
  3. Can't maximize/minimize window
  4. Crash if the daemon is not started and installed.

Mac OS

TBD

Debugging

Compile the client with 'BUILD=Debug' and libRingClient with '-DCMAKE_BUILD_TYPE=Debug'