1. 18 May, 2022 1 commit
    • Amin Bandali's avatar
      build: Update for Qt 6, add --no-webengine switch, add Parabola. · c26393df
      Amin Bandali authored
      * build.py (QT5_VERSION):
      (write_qt_conf): Remove (vestigial and not used anymore).
      (PACMAN_BASED_DISTROS): Add parabola.
      (OSX_DEPENDENCIES_UNLINK): Update dependency list for Qt 6, and move
      lrc dependencies into client dependency lists.
      (PACMAN_QT_WEBENGINE): Move Qt WebEngine pacakge(s) into separate
      list, so that they can be conditionally included or excluded.
      (run_dependencies): Install daemon dependencies earlier than and
      separately from lrc and client dependencies, mainly so that the
      installation of daemon dependencies could still succeed on distros
      that don't currently have Qt 6 packaged.
      (parse_args): Add new --gnome switch, only use client-gnome when
      this switch is given.  Add new --macos switch, only use client-macos
      when this switch is given.  Otherwise, default to using client-qt.
      Add new --no-webengine switch, disable using Qt WebEngine when this
      switch is given.  Remove vestigial --qtver switch not used anymore.
      Also, replace a few mentions of "Ring" with "Jami" in strings.
      (validate_args): Test for minimum version of Windows 10 and do not
      require an exact match/equality.
      * scripts/build-windows.py (build_lrc):
      (parsed_args): Remove vestigial and unneeded --qtver switch and its
      corresponding variable.  Both make-lrc.py and make-client.py scripts
      in their corresponding repositories have an up-to-date default Qt
      version number, and specifying the version from this script is both
      unnecessary and defeats their purpose.
      * scripts/install.sh (QT6_MIN_VER): Rename to QT_MIN_VER.
      (qt6ver): Remove, not used anymore.
      (qt6path): Rename to qtpath.
      (sys_qt6ver): Rename to sys_qtver.
      (installed_qt6ver): Rename to installed_qtver.
      (required_qt6ver): Rename to required_qtver.
      (enable_webengine): New variable for tracking whether or not to use
      Qt WebEngine.  Defaults to true.
      (getopts): Add w option; when given, set enable_webengine to false.
      (client_cmake_flags): Set -DWITH_WEBENGINE="${enable_webengine}".
      Note: as of the time of this commit, QLibraryInfo from the qt6-base
      package in Debian (and Ubuntu) currently has path issues and returns
      wrong paths, stemming from '/lib' being a symlink.  This leads to
      "Qt WebEngine resources not found" errors as the WebEngine tries to
      find its needed resources at a wrong location '/share/qt6/resources'.
      The issue has already been reported by others and a proposed patch to
      fix it by disabling Qt's relocatable feature is pending review:
      In the mean time, using './build.py --install --no-webengine' to build
      Jami without Qt WebEngine works.  Alternatively, using a custom build
      of Qt (such as our libqt-jami) that does not suffer from this issue
      would also work, using './build.py --install --qt=/usr/lib/libqt-jami'
      where '/usr/lib/libqt-jami' should be the prefix directory where the
      custom Qt build is installed.
      GitLab: #1434
      Change-Id: Ie053522de19b33871a1082ce46f3d36380a8b5aa
  2. 11 May, 2022 1 commit
  3. 03 May, 2022 1 commit
  4. 12 Apr, 2022 2 commits
  5. 11 Apr, 2022 2 commits
  6. 07 Apr, 2022 3 commits
  7. 23 Mar, 2022 1 commit
    • Amin Bandali's avatar
      packaging: fix libclient dependency issues of deb packages · 030db788
      Amin Bandali authored
      Since for our deb packages all the binary packages share the same
      source package, and are built in the same environment, depending on
      the distro and dpkg tools versions, dpkg-shlibdeps might incorrectly
      add the wrong libclient package for either clients.  For example,
      have the jami-gnome package depend on both jami-libclient-gnome and
      jami-libclient; which is wrong, since jami-libclient-gnome and
      jami-libclient conflict with each other and cannot be installed
      simultaneously.  So, we instruct dpkg-shlibdeps to exclude the two
      libclient packages from ${shlibs:Depends}, which is fine because
      we already manually add the correct one to each client's Depends.
      Also, use the system libarchive-dev package for Ubuntu 18.04 as well;
      since like with Debian 10, building libarchive from daemon's contribs
      fails there too.
      GitLab: #1415
      Change-Id: I1c065a7fd3fc58324c7893d5d23039f2a5109931
  8. 17 Mar, 2022 3 commits
    • Amin Bandali's avatar
      packaging: use system libarchive on Debian 10 · 519e16a3
      Amin Bandali authored
      The bundled one from the daemon contribs does not build on Debian 10
      for some reason.
      Change-Id: Id6fbc1e09bdf2912663f78502b255e975aebec1a
    • Amin Bandali's avatar
      packaging: build bundled ffmpeg for libclient and client-qt · 2f1ebdd4
      Amin Bandali authored
      Recent libclient and client-qt use avframe from ffmpeg's libavutil.
      Change-Id: Ia860e374eb2b8d6c22a79ee0f5a22673a292bf19
    • Amin Bandali's avatar
      build: add separate lrc-gnome submodule for client-gnome · fd10998d
      Amin Bandali authored
      After the recent merge of the video renderer changes into lrc and
      client-qt, the build for client-gnome is currently broken because it
      has not yet been updated to follow the new API, a non-trivial task.
      Thus, we add a separate lrc-gnome submodule for use by client-gnome,
      as a temporary measure until the future vendoring of lrc into the two
      With this change, the users of the Qt client ('jami' package) would
      continue using 'jami-libclient' as a dependency, whereas for users of
      the GNOME client ('jami-gnome') they would install and use the new
      'jami-libclient-gnome' package.
      Change-Id: I6aacb6c495c9a2953c328f2e9bfe6acd2b8cc645
  9. 15 Mar, 2022 1 commit
  10. 31 Jan, 2022 1 commit
  11. 28 Jan, 2022 1 commit
  12. 25 Jan, 2022 1 commit
  13. 14 Jan, 2022 1 commit
    • Amin Bandali's avatar
      Bump Qt up to 6.2.2, add missing nodejs build-dep for libqt-jami · 880936d2
      Amin Bandali authored
      * Makefile (QT_PATCH): Bump up to 2.
      (QT_TARBALL_CHECKSUM): Update to Qt 6.2.2 release tarball's sha256sum.
      * docker/Dockerfile_ubuntu_18.04: Move the nodejs installation earlier
      in the Dockerfile, as it needs to already be installed by the time we
      want to install libqt-jami's build dependencies.
      * packaging/rules/debian-qt/control (libqt-jami) <Build-Depends>: Add
      missing nodejs (>= 10.19) dependency.
      Change-Id: Ie15a1f4c7cfb274dc6a1784ce41f5b7383002abe
  14. 13 Jan, 2022 1 commit
  15. 12 Jan, 2022 1 commit
    • Maxim Cournoyer's avatar
      build: Use guix shell. · ebe0ec02
      Maxim Cournoyer authored and Sébastien Blin's avatar Sébastien Blin committed
      The recently introduced 'guix shell' command automatically manages a
      cached profile for us; prefer it to 'guix environment', and do away
      with a channels file, given fixes in Guix have now been incorporated
      in the main branch.
      * Makefile (portable-release-tarball)<guix environment>: Replace by
      'guix shell'.
      * build.py (run_dependencies)[guix]: Likewise, and do not use a
      channels.scm file.
      (run_install): Likewise, and provide a hint when TARBALLS is not set.
      * guix/channels.scm: Delete file.
      * guix/manifest.scm: Adjust comment.
      Change-Id: I50ca99e51f0ebca136c9bbc5a0ca3063075432b4
  16. 11 Jan, 2022 2 commits
  17. 10 Jan, 2022 3 commits
    • Maxim Cournoyer's avatar
      Remove legacy symbolic links. · 330ee033
      Maxim Cournoyer authored
      * Makefile.packaging: Delete file.
      * make-ring.py: Likewise.
      Change-Id: Icc243592651374d208021b5713ed4fda5a4a537c
    • Maxim Cournoyer's avatar
      tarball: Rename top directory from ring-project to jami-project. · 21d9f320
      Maxim Cournoyer authored
      Change-Id: I2c7ae1349a69fb24f65ea435fa57fa7cc547c631
    • Maxim Cournoyer's avatar
      Jenkinsfile: Publish release artifacts for release branches. · 0739ac22
      Maxim Cournoyer authored
      Previously, the Jenkinsfile did not publish anything except for the
      repositories: the release tarball would not get copied to
      https://dl.jami.net for stable channel, and no commit nor tag would be
      published for the release.
      This change addresses these shortcomings with the following changes:
      1. Tarballs can be published for the stable channel.
      2. Release commits/tags can be published to their corresponding
      branch (stable/nightly).
      The RELEASE_VERSION string is also once again derived in a
      deterministic fashion, from the date of the last commit.
      * Jenkinsfile (SSH_PRIVATE_KEY): Remove variable.
      (JENKINS_SSH_KEY, DL_SSH_KEY): New variables.
      (params.DEPLOY): Fix description.
      (Checkout channel branch): New stage.
      (Generate release tarball): Also commit and tag.
      (Publish release artifacts): New stage to publish conditionally based on the
      DEPLOY parameter and the selected channel.
      (Sign & deploy packages): Use the 'sshagent' step to setup SSH access.
      <--remote-ssh-identity-file>: Remove argument.
      <--keyid>: Adjust variable name.
      * scripts/deploy-packages.sh (package_snap): Simplify.
      Change-Id: I9008ecc2a4ef9820dbc96e26c966ae72110d897d
  18. 07 Jan, 2022 1 commit
  19. 28 Dec, 2021 3 commits
  20. 22 Dec, 2021 2 commits
  21. 07 Dec, 2021 2 commits
  22. 02 Dec, 2021 2 commits
  23. 11 Nov, 2021 1 commit
  24. 10 Nov, 2021 1 commit
  25. 04 Nov, 2021 1 commit
  26. 30 Oct, 2021 1 commit