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
MediaPlayer is crashing on snap for an unknown reason. For now,
the easiest thing is to use the webengine component as it's already
used pretty everywhere and snap is built with.
GitLab: #1037
Change-Id: Ida24f0401bbd5c6a861a7229fb51135652722561
* extras/packaging/gnu-linux/Makefile (GUIX_PACK_FORMATS): New
variable.
(guix-pack-command): Add format argument. Make the --postinst-file
argument conditional to the 'deb' format.
(define-deb-pack-rule): Rename to...
(define-guix-pack-rule): ... this. Add a new format argument, and
move existing architecture argument into 2nd position.
* extras/packaging/gnu-linux/scripts/deploy-packages.sh
(package): Register 'guix-rpm-pack' as RPM packages.
Change-Id: I1b5501c02e917b2b0c5e92e775a85478dd67316e
Build them by default again.
* extras/packaging/gnu-linux/Jenkinsfile [BUILD_DEB_PACK]: Remove parameter.
('Build packages'): Do not filter out deb packs by default.
Change-Id: Id65c00de0a50c263b672986a61776b02cf69a2e4
The with-libjami/latest rewriting procedure was not applied to the
customized jami package, hence it was using libjami at its current
version in GNU Guix and failing to build.
* extras/packaging/gnu-linux/guix/guix-pack-manifest.scm
(with-latest-sources): Apply patch.
(libjami/latest): Disable test suite.
(jami-with-certs): Re-introduce -DLIBJAMI_INCLUDE_DIR configure flag.
(jami-with-certs/latest): Apply to with-libjami/latest.
Change-Id: I6266fa691dc8995300afb15bdbc9ce1640ab4d1d
Instead of leaking host TLS certificates at /etc/ssl/certs for GnuTLS,
we can now have the directory symlinked to the ones provided by the
nss-certs package in the Guix container, which is cleaner.
* extras/packaging/gnu-linux/Makefile
(portable-release-tarball): Replace --expose options with --symlink.
* build.py (run_install): Likewise.
Change-Id: Id3b8c2b3dd06fade10bbd280fd0af8f9ac8fde45
* extras/packaging/gnu-linux/scripts/release-version.sh: Add script
for deriving (reproducibly) a release version. The format will follow
a 'YYYYMMDD.X' scheme, where 'YYYYMMDD' is the date of the last commit
on the current branch, and 'X' the number of releases tagged that day,
starting from zero. Example: the first stable release with a newest
commit date of 2023-01-02 would have a version of '20230102.0', the
subsequent one '20230102.1', and so on. This is derived by counting
the number of git tags with the prefix 'TYPE/YYYYMMDD', where 'TYPE'
is the release type: either 'stable', 'beta', or 'nightly'.
* extras/packaging/gnu-linux/Jenkinsfile: Call the above new script to
derive the release version to use for tagging.
* extras/packaging/gnu-linux/Makefile: Switch from the previous
'jami_YYYYMMDD.hhmm.COMMIT.tar.gz' tarball filename format to
'jami-YYYYMMDD.X.tar.gz'. The new format is shorter, omits the
unnecessary and confusing commit id, and uses dash instead of
underscore. Also, it contains everything in a top-level directory
with the same name as the tarball (without the .tar.gz extensions),
so that 'jami-YYYYMMDD.X.tar.gz' nicely extracts to 'jami-YYYYMMDD.X'.
With these changes, our release tarballs will follow more closely the
related instructions from the GNU maintainers manual:
https://www.gnu.org/prep/maintain/html_node/Distribution-tar-Files.html
Lastly, this change inadvertently 'fixes' a recent issue where the
'extras/ci/client-qt-gnulinux' subdirectory and its contents would be
moved to top-level in the tarball due to one of the tarball transforms
matching the 'client-qt' in the directory's name, replacing the
'extras/ci/client-qt' prefix with 'client-qt', thereby resulting in
'client-qt-gnulinux' being moved to the tarball's top-level.
* .gitignore: Ignore several packaging-related directories and files.
* extras/packaging/gnu-linux/rules/rpm/jami-daemon.spec:
* extras/packaging/gnu-linux/rules/rpm/jami-libclient.spec:
* extras/packaging/gnu-linux/rules/rpm/jami-qt.spec:
* extras/packaging/gnu-linux/rules/rpm/jami.spec: Update the expected
release tarball filename pattern in the 'Source' field. Also replace
references to previous top-level directory name 'client-qt' with the
new one 'jami-%{version}' where needed.
* extras/packaging/gnu-linux/rules/rpm/jami-libqt.spec: Update the
'Source' field to follow new tarball name consistent with the main
Jami release tarball.
* extras/packaging/gnu-linux/scripts/build-package-rpm.sh: Update the
tarball top-level directory pattern for the new format, now passing
the --wildcards option to GNU Tar. Also use a name for the jami-libqt
source tarball that is more consistent with the main Jami release
tarball.
* extras/packaging/gnu-linux/scripts/build-package-snap.sh: Update the
top-level directory pattern for the new format.
* extras/packaging/gnu-linux/tarballs.manifest: Drop file accidentally
checked into git.
Change-Id: I2695f560c0bc5e61fb99dc0244f8fbb8e7026a62
Because docker mount extras/packaging/gnu-linux/packages:/opt/output
the Makefile MUST creates the directory for current user else
the resulting directory will use the Docker user (root), causing
the file to not be removed.
Change-Id: I91dadfa766730d163de4cf091bb1b9b8193f7d24
This patch moves already existing packaging scripts from jami-project
into client-qt.
Introduced changes are:
+ WITH_SUBMODULE must search in system lib too because for
packaging client-qt (for rpm) will be built separately, and will
depend on jami-daemon.
+ Fix appdata.xml (replace old wiki with docs.jami.net)
+ path changes (because we build in client-qt not jami-project).
GitLab: #853
Change-Id: I1313830d85c8094fcbcc52e22033a2add7b1e89f