1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2024-10-28 16:59:36 +01:00
Commit graph

94 commits

Author SHA1 Message Date
Andreas Traczyk
5508f28c63 packaging: windows: fix Beta deployment script
Change-Id: I8facd465cd0c8eb0509b66b6f87008c6a86e89bd
2023-06-06 11:56:56 -04:00
Sébastien Blin
7611cb6147 jenkinsfile: update device label
Change-Id: I5d9eebbe924e642de27ff6f9910f978daf00dd07
2023-06-05 15:07:49 -04:00
Andreas Traczyk
e04e3db69f build: windows: use string literal instead of bytes for exe path
Change-Id: If641a2cf5a2a47bfa70e8232769ef916c64af35b
2023-06-05 13:59:32 -04:00
Andreas Traczyk
d94c30833f chatview: fix emoji responses under Qt v 6.4.x and up
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
2023-06-02 14:57:54 -04:00
Sébastien Blin
886074dc1e qt: openfile portal: do not use O_PATH fds
This allow to use xdg-open inside a snap

Change-Id: I5ad7e067228b260174abf5c78d0a0e7c2cf8c31d
2023-06-01 14:58:04 -04:00
Andreas Traczyk
dc53aa887d misc: change library name "jami" -> "libjami"
Bumps the daemon and adjusts the build to use the appropriate library name.

Change-Id: I4208f161c3522bb58dfc1dc55cb10910ade24eed
2023-06-01 12:32:07 -04:00
Léo Banno-Cloutier
63687acc71 install: bumped Qt 6.2 to 6.4
Change-Id: I39262a1945ab48f43efbb958ebe323f52f5d1a8d
2023-05-30 14:14:14 -04:00
Vladimir Stoiakin
39264e59c2 build: fix packaging with sdbus-c++
Change-Id: Ie7ab5f35d0f215cd32932f277dd7cc178e0dd2cc
2023-05-30 11:26:30 -04:00
Sébastien Blin
30d10c7da9 qt6: update 0001-fix-gcc13.patch
From qt6-webengine's RPM sources

Change-Id: Ic0a47429a184c1dc5340a5d9ab4d0c40361eac4b
2023-05-19 08:35:26 -04:00
Sébastien Blin
d17578ffa7 packaging: fix build for Qt6 webengine
Fedora:
"WARNING: QtWebEngine won't be built. Python3 html5lib is missing."
Ubuntu 20.04:
Curl not found for nodejs

Change-Id: Ic35aee309f25be20a8934b5033e3fe3ea0a8b6c0
2023-05-16 13:51:10 -04:00
Sébastien Blin
fa406c70eb packaging: add submodules to packaging
Change-Id: I820865a0477aaab73f79dc504f35a668fc076603
2023-05-16 13:51:10 -04:00
Andreas Traczyk
8db188c513 chat: preprocess text msgs w/md4c+tidy-html5
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
2023-05-15 15:44:20 -04:00
Sébastien Blin
4d2c55348b packaging: migrate from Qt 6.2.3 to 6.4.3
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
2023-05-15 11:27:50 -04:00
Sébastien Blin
668e6dbe24 packaging: add fedora 38, ubuntu 23.04
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
2023-04-26 14:48:03 -04:00
Maxim Cournoyer
f6c8197cba Reinstate "cmake: Simplify lookup logic for libjami headers."
The commit was reverted in 2b7a421e due to breaking some of the
packaging builds.  This has now been rectified.

Change-Id: I3ea67962cc65f243f106fe00316634d580f51a52
2023-04-26 14:38:58 -04:00
Maxim Cournoyer
72a266dc41 packaging: Only rebuild source tarball when tarballs manifest changes.
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
2023-04-17 11:53:54 -04:00
Andreas Traczyk
66e0e21482 packaging: windows: optionally skip windeployqt
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
2023-04-14 15:19:48 -04:00
Andreas Traczyk
9e9b368deb misc: remove --force when calling qmlformat
It doesn't work with JS arrow function syntax.

Gitlab: #1059
Change-Id: I7da9c8ee7a2cb470aeb76cf4d1d0937e621eb221
2023-04-14 09:06:44 -04:00
Andreas Traczyk
be32998ff1 misc: don't --normalize when using qmlformat
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
2023-04-13 16:17:21 -04:00
Andreas Traczyk
ae1cde4dc1 misc: format QML files using the python format script
+ 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
2023-04-13 13:08:57 -04:00
Andreas Traczyk
a8f48df4f9 misc: use qt path instead of version as parameter in build scripts
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
2023-04-13 13:08:57 -04:00
Andreas Traczyk
f3a578d8ac misc: migrate source formatting script to python
Devs will need to remove the existing pre-commit hook or regenerate the hook with `build.py --init`.

Gitlab: #1059
Change-Id: I1cec9150c7781d769cb229dfd170a9dcfc819edb
2023-04-13 13:08:57 -04:00
Andreas Traczyk
797fe6b297 packaging: fix beta build for Windows
CMake build type shouldn't include "Beta".

Change-Id: I38e92a7d821c8a55614b82da1e0bae69862368ec
2023-04-07 19:14:23 -04:00
Sébastien Blin
91163b8bed migration: avoid race conditions for account status
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
2023-04-07 09:44:11 -04:00
Andreas Traczyk
012034fe67 misc: migrate the webengine resources from libclient to the client
Adds a `--with-engine` option for the resource generator script which will prevent packaging unused resources when building without webengine support.

Change-Id: If2f31284ef59166615221235427a53d0df8da2ce
2023-04-06 16:55:38 -04:00
Andreas Traczyk
df5b955465 misc: fix test suite and tooling on Windows
- simplifies and fixes the python build script for Windows
- applies pep8 to the script also

Gitlab: #899
Change-Id: Ieb3debd08ddf1649a46208fc52362d20c504c1b1
2023-04-05 13:54:23 -04:00
Sébastien Blin
8adb4aa117 wizardview: use videopreview if webengine
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
2023-03-23 08:11:25 -04:00
Sébastien Blin
42a2465080 fedora_37: update repositories before installing new packages
Change-Id: I278bf8131f587da392f2bccc8467138db97dc3e6
2023-03-22 13:43:58 -04:00
Adrien Beraud
67e0d766a2 install.sh: fix building without webengine
Change-Id: If3277035d695aaa28a26091845091b250d842515
2023-03-09 14:37:14 -05:00
Sébastien Blin
ad1bc98b6e fedora: use fmt-devel from system
Change-Id: I32c6dba09b01e87f7e9b48f7a4ab853d26526c63
2023-03-03 08:58:10 -05:00
Sébastien Blin
4712de7ed0 snap: use opus-dev from distribution
Change-Id: I9ce321779f578395719670433650f47987a32480
2023-03-02 16:30:03 -05:00
Maxim Cournoyer
de7c182adc packaging: Improve PACKAGING_TARGETS parameter documentation.
* extras/packaging/gnu-linux/Jenkinsfile: Improve PACKAGING_TARGETS
parameter documentation.

Change-Id: I83de03a7d722ff391cc41098a0cce9334e014d75
2023-03-02 13:47:28 -05:00
Maxim Cournoyer
1442d37ae8 packaging: Add support for RPM guix packs.
* 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
2023-03-02 13:47:27 -05:00
Maxim Cournoyer
b41f1d36c7 packaging: Restore first citizenship of Guix deb packs.
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
2023-03-02 13:47:27 -05:00
Maxim Cournoyer
12b874e4f4 packaging: Sort output of 'list-package-targets' target.
* extras/packaging/gnu-linux/Makefile (list-package-targets): Sort output.

Change-Id: I5d4f51c502d6d99d1ddf99c91422706ef230f01a
2023-03-02 13:47:27 -05:00
Maxim Cournoyer
e0cc1e301f packaging: Fix deb-pack package.
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
2023-03-02 13:47:27 -05:00
Maxim Cournoyer
0bf99a8fee build: Use the new --symlink option instead of --expose.
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
2023-03-02 13:47:27 -05:00
Kateryna Kostiuk
048bdfba78 macOS: fix unified build
Change-Id: I01048863c6a60ba0f32d5a0daec6b504a54818ed
2023-03-02 10:53:05 -05:00
Kateryna Kostiuk
b9f2ebd1a5 macOS: fix single architecture build
Change-Id: I2702cbc0c0fee71d17eb2902b5c7c242a237f06a
2023-03-01 20:57:27 -05:00
Kateryna Kostiuk
ba867b0636 macos: support unified build
This patch adds a parameter arch to specify architecture
to build. This parameter could be arm64, x86_64 or unified.

Change-Id: I2907e03410e0c01b8505afbe283da04b8d0291b6
2023-02-28 14:30:05 -05:00
Maxim Cournoyer
7161858daf packaging: Update Guix revision.
* extras/packaging/gnu-linux/guix/channels.scm (channel): Bump Guix to
current commit.

Change-Id: Ib929a948f47a1d9ee73ba7340be6821fdd4f6a0d
2023-02-22 13:32:47 -05:00
Maxim Cournoyer
003b6be691
packaging: Simplify 'Publish release artifacts stage' logic.
* extras/packaging/gnu-linux/Jenkinsfile
(Publish release artifacts'): Simplify logic.

Change-Id: I4cec0b8009256501d627453df26bd17024e55f45
2023-02-21 16:07:57 -05:00
Maxim Cournoyer
9355c1a2df
packaging: Cosmetic change to Makefile.
Change-Id: I9036912033aee53370d4f7cf5a854a2495de0485
2023-02-21 16:07:57 -05:00
Maxim Cournoyer
4461ba6902
Jenkinsfile: Break long lines.
* extras/packaging/gnu-linux/Jenkinsfile: Break long lines.

Change-Id: Idd6f72e18e0b4489a22e7aa2a59b4cc8ac90dbee
2023-02-21 16:07:57 -05:00
Amin Bandali
24b761ae82 misc: Use 'Savoir-faire Linux Inc.' more consistently
Change-Id: Idc99880fedf8bb9f7a89b5b30c3f316dede89759
2023-02-06 01:52:34 -05:00
Amin Bandali
8d46acedf1 misc: Update copyright years to 2023
Change-Id: Idf38e82631a4e22540aa5dec8ec2db0ab4a38c2e
2023-02-06 01:47:15 -05:00
Amin Bandali
43c2197ef1 packaging: Update release tarball name and version scheme.
* 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
2023-02-03 08:59:33 -05:00
Kateryna Kostiuk
9ffbf4ae1c macOS: update signature for Sparkle
This patch sets up app updates to use EdDSA signature as now
it is required by Sparkle

Change-Id: I68a581e21850f04a819f4fe7ea49a33766031e01
2023-01-30 11:10:46 -05:00
Kateryna Kostiuk
2de9157d34 updater: add Sparkle to submodules
Change-Id: I0e0414b928dcf53158e35803878f9c587944d4ac
2023-01-18 10:44:48 -05:00
Sébastien Blin
416d248596 packaging: fix permissions error on deploy
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
2023-01-13 16:37:27 -05:00