The AppStream specification includes both a "metainfo" file format,
which can be used (among other things) to provide metadata about a
specific application, as well as a "catalog" file format used to provide
information about the contents of a repository. This patch adds a
"catalog" file for the Jami repos, which seems to be necessary in order
for some graphical package management applications to be able to launch
or uninstall Jami. In particular, this was an issue with GNOME Software
on all the rpm-based distributions supported by Jami (Fedora, openSUSE,
AlmaLinux).
This patch also fixes a few minor noncompliance issues with the existing
metainfo and .desktop files:
- the metainfo and .desktop files were renamed so that the names'
prefixes match the application's ID as defined by the <id> tag in the
metainfo file (in our case "net.jami.Jami") [1];
- the <br/> tags in the metainfo file were removed (they are not
supported -- metainfo files only allow a very limited number of tags,
not arbitrary html [2]); the list (<ul>) and list item (<li>) tags are
now used instead;
- the invalid categories "Communication" and "Productivity" were removed
[3, 4].
[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/
[2] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description
[3] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-categories
[4] https://specifications.freedesktop.org/menu-spec/latest/category-registry.html
GitLab: #1842
Change-Id: I4a8bab79b6e54d02c08f509d7a9196a0a2e1541e
The libpcre3-dev package doesn't exist on Debian testing, which caused
an error when trying to build Dockerfile_debian_testing. Adding the
newer libpcre2-dev package as an alternative in the debian/control file
fixes the issue.
GitLab: #1856
Change-Id: I3f9068a67101597eb2ffe7cb5a358870e7284e5b
This commit adds four patches to fix various issues that were preventing
Qt 6.6.1 from building on Debian testing and Debian unstable. These
patches are backports of fixes that were applied in later versions of
Qt; links to the relevant commits are included in the description at the
top of each patch.
There are also two changes in the Dockerfiles for Debian testing and
Debian unstable:
1) CMake 3.21 is no longer installed via the install-cmake.sh script.
This is not necessary anymore given that Debian testing and Debian
unstable now both come with more recent versions of CMake by default
(3.29 and 3.30 respectively).
2) The libre2-dev package (which is part of the dependencies in
debian-qt/control) is removed from the Docker image in order to force
Qt to build using the bundled version of the RE2 library. This is
necessary because the system version of the library on testing and
unstable (libre2-11) is not compatible with earlier versions due to
an API change, c.f.
https://codereview.qt-project.org/c/qt/qtwebengine/+/516094
GitLab: #1822
Change-Id: I763fb6692949052e2a846b3f4ce54619e6d98108
This is necessary because we use the core20 base snap, which is built
from Ubuntu 20.04 and therefore doesn't have a recent enough version of
PipeWire available by default.
Change-Id: Id039ec446f4b3f0e89b9ec27f37f81cfd6b3587e
The RPM automatic dependency generator adds provides for all
libraries under %{_libdir}. When vendoring libraries you must disable
this behaviour, otherwise other packages that link against Qt will
not pull in the distro qt packages if jami-libqt is already installed
Change-Id: I3f0a018ea12be7f29d04ca4441cbfdebc2efb909
This commit makes the necessary changes to migrate from Qt 6.5.3 to
Qt 6.6.1 and fixes the following issues:
- EditedPopup.qml: "layout polish loop" and "recursive rearrange"
errors (GitLab: #1510) as well as an unreported bug where text was
clipped instead of elided
- BaseContextMenu.qml: QML warning ("Created graphical object was not
placed in the graphics scene.")
The daemon is also bumped in order to include a patch for a build issue
on openSUSE Leap (GitLab: #1552).
GitLab: #1466
Change-Id: I12df2f84067ebe961368879e08ff7ef275d93395
Fedora:
"WARNING: QtWebEngine won't be built. Python3 html5lib is missing."
Ubuntu 20.04:
Curl not found for nodejs
Change-Id: Ic35aee309f25be20a8934b5033e3fe3ea0a8b6c0
Introduces MessageParser to encapsulate text treatment for raw text messages.
The async parsing sequence is as follows:
- Markdown -> HTML (md4c)
- link coloration (tidy-html5)
- notify UI
- request link preview info from PreviewEngine for the first link
- Preview engine uses QtNetwork instead of QtWebengine
- Linkification is handled by MessageParser instead of linkify.js
QtWebengine is no longer required for message parsing.
Gitlab: #1033
Gitlab: #855
Change-Id: Ief9b91aa291caf284f08230acaf57976f80fa05b
Python2 is removed from Debian stable/unstable and
latest Ubuntu. So, we need to use a newest version of
Qt (here Qt 6.4.3).
Change-Id: I6c8b1eee644aab787d54e467f64011762ffd7548
Ubuntu 23.04 is not yet functional due to python2 missing.
We're working on fixing Jami for Qt 6.4 (they changed the whole video
pipeline and introduced some breaking changes).
Fedora 38 is working fine.
GitLab: #1086
Change-Id: I51bbecdfbcf908e2bf57c4c002ef4216a34d746d
This partially reverts commit 6e0a30024bd5d0f24f8c16960a56b02737bf0131
from the former jami-project repository ("build: Improvements to the
generation of the release tarballs."), which caused the source tarball
to always be rebuilt, even in the absence of changes.
This gets in the way when testing the various packaging targets, so
revert it.
* extras/packaging/gnu-linux/Makefile (release-tarball): Do not always
clear the tarballs.manifest file. The purge-release-tarballs target
can be used for that.
Change-Id: I30ebda8dc258d0c95c6cf7e02a814627ac5b812b