Qt.bindings are not supported for properties within when calling createObject anymore. Instead, we can pass component references, or generate bindings post-creation.
Note: in this case, the popup closes and observation is not really needed here.
Gitlab: #1169
Change-Id: I21c1d95f4ca725c86fcf276834830145587458cc
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
The commit was reverted in 2b7a421e due to breaking some of the
packaging builds. This has now been rectified.
Change-Id: I3ea67962cc65f243f106fe00316634d580f51a52
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
This is a big time saver in the context of CI testing where we only need to supply some env vars instead.
It would also be nice to also have the env vars filled out for CMake-generated project runtime configs to prevent unnecessary deployment for development builds, but that's not done in this commit.
Change-Id: I338827cb87c9fc71c9a6b4b3076b22aa7cf7cfa3
Removes some intelligent grouping in the code. Perhaps normalization can be selectively done to the the strings and theme files at some point.
Gitlab: #1059
Change-Id: If9b0363567bc715dca0bdb4e3662612a5b159361
+ Requires that the Qt path is supplied when calling build.py --init.
+ format.py now also takes a --qt argument to specify the Qt path, used to locate qmlformat.
+ format.py takes a --type argument to specify the type of files to format (qml, cpp, or both).
qmlformat is called with `--normalize` and `--force`.
Gitlab: #1059
Change-Id: Id9ff4b17018370696792b44f55ed2f4bc8091193
This homogenizes the script calling convention with other platforms, and will allow for a cleaner approach when searching for Qt tools (qmlformat).
Gitlab: #1059
Change-Id: I540ff61bd92186bb5a2998670665631e352852b9
Devs will need to remove the existing pre-commit hook or regenerate the hook with `build.py --init`.
Gitlab: #1059
Change-Id: I1cec9150c7781d769cb229dfd170a9dcfc819edb
Setting an account to migrating is asynchronous. So the status
of the account should be checked via dedicated signals and not
just at the startup, else the migration view is not shown.
Also removing two accounts to migrate wasn't working correctly.
Change-Id: I0bb716982ec5fe76aaba3ad4cb6f47b1ef0aa710
GitLab: #1062
Adds a `--with-engine` option for the resource generator script which will prevent packaging unused resources when building without webengine support.
Change-Id: If2f31284ef59166615221235427a53d0df8da2ce
- simplifies and fixes the python build script for Windows
- applies pep8 to the script also
Gitlab: #899
Change-Id: Ieb3debd08ddf1649a46208fc52362d20c504c1b1
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
This patch adds a parameter arch to specify architecture
to build. This parameter could be arm64, x86_64 or unified.
Change-Id: I2907e03410e0c01b8505afbe283da04b8d0291b6
* 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