OMEMO stopped working in Gajim 1.3.3 making it no use for many people. From https://gajim.org Gajim 1.8.0 comes with integrated OMEMO encryption! Integrating the OMEMO plugin brings tighter integration and better user experience. Gajim 1.8.1 brings improvements for file previews, a default encryption setting, and many small improvements and fixes.
Can someone with the necessary permissions please change the status of this PR to open? FreeBSD users having used Gajim with OMEMO cannot access their communication. This is a very serious problem, which may have the effect working around with packages from other operation systems and not coming back to FreeBSD.
Hello, working on update
For the record: gajim 1.8.x requires python >= 3.10, so we have to wait until default python version changes in ports. The update also require ports that are not present in the tree at the moment, like omemo-dr (gajim's python-axolotl fork) for integrated omemo encryption.
There is also bug #271876.
There's a report that the following worked: pip3.11 install -v --user gajim-1.8.3.tar.gz Perhaps python 3.11 or 3.10 rather than 3.9 would allow it to build?
Updated net-im/py-nbxmpp is also required, that itself also requiredsan updated Python platform.
I've recently noticed, that from the website of Pkgsrc for NetBSD, that they use Gajim1.3 with an OMEMO plugin that uses Python 3.11. This can be seen on https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/chat/gajim-plugin-omemo/index.html. Not sure if this setup works on there, but that's how it's set. A purpose was to use a working OMEMO version. What if a version of Gajim, the current one or perhaps a later one, which relies on the default version of Python on FreeBSD is used, and a newer OMEMO plugin be the only related port that requires Python 3.11? If this works, having only one port which relies on a newer Python version, may not cause the rest of ports to break.
Then, again, that may not work, as their Gajim 1.3 also relies on Python3.11, and not an older version.
So, I updated nbxmpp locally and installed omemo-dr, and updated gajim port to 1.8.3. it doesn't run with 3.9 for sure: ``` % gajim Traceback (most recent call last): File "/usr/local/bin/gajim", line 8, in <module> sys.exit(run()) File "/usr/local/lib/python3.9/site-packages/gajim/main.py", line 171, in run _init_gui('GTK') File "/usr/local/lib/python3.9/site-packages/gajim/main.py", line 105, in _init_gui _init_gtk() File "/usr/local/lib/python3.9/site-packages/gajim/main.py", line 123, in _init_gtk from gajim.gtk import exception File "/usr/local/lib/python3.9/site-packages/gajim/gtk/exception.py", line 40, in <module> from gajim.common import app File "/usr/local/lib/python3.9/site-packages/gajim/common/app.py", line 48, in <module> from gajim.common import configpaths File "/usr/local/lib/python3.9/site-packages/gajim/common/configpaths.py", line 40, in <module> PathTupleT = tuple[PathLocation | None, Path, PathType | None] TypeError: unsupported operand type(s) for |: 'EnumMeta' and 'NoneType' ``` But rising python version just for gajim port to require 3.10+ fails in dependencies part just as I expected earlier: ``` ~/ports/net-im/gajim% make ===> gajim-1.8.3 depends on package: py310-build>0 - found ===> gajim-1.8.3 depends on package: py310-setuptools>0 - found ===> gajim-1.8.3 depends on package: py310-wheel>0 - found ===> gajim-1.8.3 depends on package: gettext-runtime>=0.22_1 - found ===> gajim-1.8.3 depends on executable: msgfmt - found ===> gajim-1.8.3 depends on package: py310-gobject3>=0 - not found ===> py310-gobject3-3.42.2 Unknown flavor 'py310', possible flavors: py39. *** Error code 1 ``` I'll try to see if we can have flavors for gobject, but it seems it's better to wait default python version switch in ports
> but it seems it's better to wait default python version switch in ports Given all the difficult and pending problems (You may dig down the tree on open depending PRs) this may take a very, very long time. You may also look up the EOL date for Python3.9 if you don't know it. So please, do not wait for a change in the default Python version. Please don't. The efforts taken on flavours (3.10|3.11) now won't overwhelm you when the version changes later. The difference is that users can use a working Gajim version on FreeBSD NOW.
Picking up where I left on py-nbxmpp, I know notice that adding the runtime dependencies (https://dev.gajim.org/gajim/python-nbxmpp#runtime-requirements) now throws out: pkg-static: Missing dependency 'gnutls' > adding 'nbxmpp/modules/register/__init__.py' > adding 'nbxmpp/modules/register/register.py' > adding 'nbxmpp/modules/register/util.py' > adding 'nbxmpp/third_party/__init__.py' > adding 'nbxmpp/third_party/hsluv.py' > adding 'nbxmpp-4.5.3.dist-info/COPYING' > adding 'nbxmpp-4.5.3.dist-info/METADATA' > adding 'nbxmpp-4.5.3.dist-info/WHEEL' > adding 'nbxmpp-4.5.3.dist-info/top_level.txt' > adding 'nbxmpp-4.5.3.dist-info/RECORD' > removing build/bdist.freebsd-15.0-CURRENT-amd64/wheel > Successfully built nbxmpp-4.5.3-py3-none-any.whl > ===> Staging for py311-nbxmpp-4.5.3 > ===> py311-nbxmpp-4.5.3 depends on package: py311-gobject3>0 - found > ===> py311-nbxmpp-4.5.3 depends on package: py311-idna>=0 - found > ===> py311-nbxmpp-4.5.3 depends on package: py311-packaging>0 - found > ===> py311-nbxmpp-4.5.3 depends on package: py311-precis_i18n>=1.0.0 - found > ===> py311-nbxmpp-4.5.3 depends on package: py311-wheel>0 - found > ===> py311-nbxmpp-4.5.3 depends on package: libsoup3>0 - not found > ===> License LGPL20 accepted by the user > ===> libsoup3-3.2.2 depends on file: /usr/local/sbin/pkg - found > ===> Fetching all distfiles required by libsoup3-3.2.2 for building > ===> Extracting for libsoup3-3.2.2 > => SHA256 Checksum OK for gnome/libsoup-3.2.2.tar.xz. > ===> Patching for libsoup3-3.2.2 > ===> libsoup3-3.2.2 depends on package: glib-networking>0 - not found > ===> Installing existing package /packages/All/glib-networking-2.78.0.pkg > [builder-direwolf.home.arpa.] Installing glib-networking-2.78.0... > pkg-static: Missing dependency 'gnutls' > > Failed to install the following 1 package(s): /packages/All/glib-networking-2.78.0.pkg > *** Error code 1 > > Stop. > make[1]: stopped in /usr/ports/devel/libsoup3 > *** Error code 1 > > Stop. > make: stopped in /usr/ports/net-im/py-nbxmpp No matter what runtime depend I add, I get that error now. The build fails whether GNUTLS is selected in OPTIONS or not.
(In reply to Alastair Hogge from comment #11) I'll check it out, thanks. But it looks like it isn't related to nbxmpp itself, but to glib-networking.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=02324e73dd50ce4bc1b5df0b7badc685edf80c19 commit 02324e73dd50ce4bc1b5df0b7badc685edf80c19 Author: Ruslan Makhmatkhanov <rm@FreeBSD.org> AuthorDate: 2024-06-06 12:07:18 +0000 Commit: Ruslan Makhmatkhanov <rm@FreeBSD.org> CommitDate: 2024-06-06 12:07:18 +0000 net-im/gajim: update to 1.8.4 Release notes for 1.8 brach: https://gajim.org/post/2023-05-27-gajim-1.8.0-released/ Full changelog: https://dev.gajim.org/gajim/gajim/-/blob/master/ChangeLog PR: 274490 Reported by: p5B2EA84B3@t-online.de net-im/gajim/Makefile | 29 +++++++++++---------------- net-im/gajim/distinfo | 6 +++--- net-im/gajim/files/patch-pyproject.toml (new) | 10 +++++++++ 3 files changed, 25 insertions(+), 20 deletions(-)
Update to 1.8.4 landed.
On my desktop starting gajim says it needs py311-qrcode.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=5209b627a0b7af34933ad61e06b85d55610083c3 commit 5209b627a0b7af34933ad61e06b85d55610083c3 Author: Ruslan Makhmatkhanov <rm@FreeBSD.org> AuthorDate: 2024-06-06 13:16:03 +0000 Commit: Ruslan Makhmatkhanov <rm@FreeBSD.org> CommitDate: 2024-06-06 13:16:03 +0000 net-im/gajim: add missing dependency upon py-qrcode PR: 274490 Reported by: Goran Mekić <meka@tilda.center> net-im/gajim/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
(In reply to Goran Mekić from comment #15) It does, fixed, thank you!
Thanks for the port update. Not to be the bringer of bad news, but 1.9.0 has been dropped 4 days later after porting the last version :P See: https://gajim.org/post/2024-06-10-gajim-1.9.0-released/ No security fixes, only new features and bug fixes, so not a big deal. Thanks again, Polarian
(In reply to polarian from comment #18) I prepared and tested an update to 1.9.0. Will commit after py-emodji update. gajim 1.9.0 requires emoji > 2.7.0 to work. Thanks for heads up! https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279660
(In reply to polarian from comment #18) gajim 1.9.0 just landed in https://cgit.freebsd.org/ports/commit/?id=0379d5d012a5753416c6102949006866435dd2ae
(In reply to Ruslan Makhmatkhanov from comment #20) Thanks for the quick port \o/