The motivation behind the project is to provide a native desktop app
for Matrix that feels more like a mainstream chat app (Riot, Telegram)
and less like an IRC client.
===> The following configuration options are available for nheko-0.12.1_4:
VOIP=off: Enable VOIP calls (experimental)
===> Use 'make config' to modify these settings
databases/lmdb: allow to install both 0.x and 1.x together
LMDB 1.0 and the legacy 0.9 ABI cannot be mixed, the datanase format are
incompatibles as well.
Rename or relocate everything databases/lmdb0 installs so that it no
longer overlaps with databases/lmdb:
- the utilities are now mdb_copy0, mdb_dump0, mdb_load0 and mdb_stat0
- the header is include/lmdb0/lmdb.h
- the linker name is liblmdb0.so, the shared object keeps its ABI name
liblmdb.so.0 so already linked programs are unaffected
- the pkg-config file is lmdb0.pc
A compatibility prefix holding the previous layout is also installed
under ${PREFIX}/lmdb0/ (include/, lib/ and libdata/pkgconfig/) so that
build systems which expect to find lmdb.h and -llmdb relative to a
single directory only need a path change.
Now all ports should migrate to lmdb 1.X and use the lmdb 0.9 port to ease
in the migration path, lmdb, the lmdb 0.x is supposed to get removed at
some point.
Approved by: mat (portmgr)
Reviewed by: mat
Differential Revision: https://reviews.freebsd.org/D60741
*/*: Bump PORTREVISION for known Qt private API abusers
Qt 6.11.2 edition.
These ports are known to directly use or link to a library that uses the
Qt private API and must be rebuilt with every Qt update.
Qt *public* API/ABI compatability is excellent, so most consumers don't
need to necessarily be rebuilt between patch or even minor releases, but
use of the private API breaks this compatibility between even patch
releases and its use is highly discouraged.
This list [1] is based on histortical data. We don't have time to
revisit every port on the list with each Qt update, so if your port has
dropped Qt private headers and was bumped in error, please remove it
yourself if you have write access to the Wiki or alert someone on kde@.
[1] https://wiki.freebsd.org/KDE/Qt
MFH: 2026Q3
databases/lmdb0: Add port for LMDB 0.9.x legacy ABI
LMDB 1.0 introduced an incompatible on-disk format change and subtle
API breakage: applications that compiled cleanly against 1.0 headers
could fail silently at run time. Known affected ports include dns/knot3,
mail/bogofilter, and mail/postfix; the postfix issue has been confirmed
upstream. Linux distributions such as Arch Linux have observed the same
breakage. Samba can also be affected in certain configurations.
Because the regression is not detectable in an -exp build run -- the
postfix failure only manifests at run time, and bogofilter was caught
only because post-build self-tests happen to exercise this path -- we
cannot rely on package builds to validate the 1.0 upgrade.
This commit introduces databases/lmdb0 as a holding port for the 0.9.35
(Only the first 15 lines of the commit message are shown above )
*/*: Bump PORTREVISION for known Qt private API abusers
Qt 6.11.1 edition.
These ports are known to directly use or link to a library that uses the
Qt private API and must be rebuilt with every Qt update.
Qt *public* API/ABI compatability is excellent, so most consumers don't
need to necessarily be rebuilt between patch or even minor releases, but
use of the private API breaks this compatibility between even patch
releases and its use is highly discouraged.
This list [1] is based on histortical data. We don't have time to
revisit every port on the list with each Qt update, so if your port has
dropped Qt private headers and was bumped in error, please remove it
yourself if you have write access to the Wiki or alert someone on kde@.
[1] https://wiki.freebsd.org/KDE/Qt
net-im/nheko: update to 0.12.1, latest upstream
Release-notes are at
https://github.com/Nheko-Reborn/nheko/releases/tag/v0.12.1
There's a couple of encoding-bugs (labeled "security") in this
release, as well as a bunch of general improvements. It's still
a release from August 2025, so the patch (in FreeBSD ports, picked
from a merged-fix upstream) for Qt 6.10 compatibility remains.
Reported-By: makc@
*/*: Bump PORTREVISION for known Qt private API abusers
Qt 6.10.2 edition.
These ports are known to directly use or link to a library that uses the
Qt private API and must be rebuilt with every Qt update.
Qt *public* API/ABI compatability is excellent, so most consumers don't
need to necessarily be rebuilt between patch or even minor releases, but
use of the private API breaks this compatibility between even patch
releases and its use is highly discouraged.
This list [1] is based on histortical data. We don't have time to
revisit every port on the list with each Qt update, so if your port has
dropped Qt private headers and was bumped in error, please remove it
yourself if you have write access to the Wiki or alert someone on kde@.
[1] https://wiki.freebsd.org/KDE/Qt
devel/spdlog: Update to 1.17.0
- Use complete arguments/options
- Bump PORTREVISION of dependent ports for shlib change
Changes: https://github.com/gabime/spdlog/releases
*/*: Bump PORTREVISION for known Qt private API abusers
Qt 6.10.1 edition.
These ports are known to directly use or link to a library that uses the
Qt private API and must be rebuilt with every Qt update.
Qt *public* API/ABI compatability is excellent, so most consumers don't
need to necessarily be rebuilt between patch or even minor releases, but
use of the private API breaks this compatibility between even patch
releases and its use is highly discouraged.
This list [1] is based on histortical data. We don't have time to
revisit every port on the list with each Qt update, so if your port has
dropped Qt private headers and was bumped in error, please remove it
yourself if you have write access to the Wiki or alert someone on kde@.
[1] https://wiki.freebsd.org/KDE/Qt
devel/libfmt: Bump PORTREVISION of dependent ports for shlib change after
786cb608216ce14e8ced27108c96a1f2c8492fca
The following ports are skipped because they have been updated after
786cb608216ce14e8ced27108c96a1f2c8492fca.
- chinese/fcitx5-chinese-addons
- chinese/fcitx5-mcbopomofo
- devel/fatal
- devel/fbthrift
- devel/folly
- devel/spdlog
- mail/mu
- net/fb303
- net/mvfst
- net/wangle
- science/seacas
- security/fizz
- www/proxygen
net-im/nheko: update to 0.12.0, latest upstream
Also update dependency library net-im/mtxclient, of
which nheko is the only consumer.
Release notes at
https://nheko.im/nheko-reborn/nheko/-/tags/v0.12.0
Which is a long list. Major build change is using Qt6.
net-im/nheko: Chase devel/nlohmann-json update
After the update of devel/nlohmann-json in 551e034565, the build failed
because linking was happening again an older mtxclient. Rebuilding
net-im/mtxclient solved this, but nheko would crash at startup unless it
was also rebuilt.
Sponsored by: The FreeBSD Foundation
ftp/coeurl: fix build with {fmt} 10
- add fmt as a dependency, make it build by pulling in
upstream commit 831e2ee8e9cf08ea1ee9736cde8370f9d0312abc
PR: 273875
Provided by: diizzy@
net-im/nheko: fix options
Previous commit didn't set up USES and USE_* for the
VOIP option correctly. Thanks to tcberner@ for pointing
me at the right bit of the Porters Handbook.
net-im/nheko: update to 0.11.3 (also dependencies)
Update the nheko stack - coeurl, mtxclient, nheko - to the
latest release. Try to add a VOIP option for Matrix VOIP calls.
net-im/nheko: Update to latest release
This release is labeled security relevant in the release notes
https://nheko.im/nheko-reborn/nheko/-/tags/v0.10.2
While here, update WWW to point to the GitLab instance instead
of the GitHub source mirror.
Mk/Uses: always use colon for build/run suffix
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
net-im/{mtxclient,nheko}: bump PORTREVISION
Recent change to nlohmann-json, e39220e9d03a4b, didn't bump
consumers so the build was failing on the package cluster
as a newly-compiled nheko (which picks up newer nlohmann-json
API) was being linked against an older mtxclient (which didn't
have them).
Header-only libraries don't solve everything, when their
consumers aren't header-only.
Reported by: pkg-fallout
net-im/{mtxclient/nheko}: Update to latest upstream
New mtxclient and related nheko releases are at
https://github.com/Nheko-Reborn/mtxclient/releases/tag/v0.8.0https://github.com/Nheko-Reborn/nheko/releases/tag/v0.10.0
This chases some Matrix protocol updates as well. Drops Matrix
groups support. VOIP might be supported, I haven't tried it.
Nheko doesn't do a build-time check for the required mtxclient
version, so it will try and fail to compile against mtxclient 0.7.
Hence, committing these two together (I wish I could specify
versions better in LIB_DEPENDS).
net-im/nheko: update to 0.9.0, latest upstream
This pulls in an update to mtxclient (which then needs coeurl...).
E2E encryption is now fully supported (but not audited). There is
VOIP support which is switched off right now because our gstreamer
seems to be too old.
security/olm: Update to 3.2.6, latest release
It looks like I do not have the right bits for portscout here,
so didn't get notifications of new versions. Release notes are at:
https://gitlab.matrix.org/matrix-org/olm/-/releases#3.2.6
There are many updates. Dependent ports mtxclient (needed a compile-
patch) and nheko bumped so they pick this up.
textproc/cmark: update to 0.30.2, latest upstream
Release notes are at
https://github.com/commonmark/cmark/releases/tag/0.30.2
With some bugfixes and an update to unicode 14.0
Bump PORTREVISION on dependent ports, to force a rebuild;
this release changes some of the CMake & pkg-config machinery
and they should follow. (Also, potentially so-version bump)
net-im/nheko: add missing dependency
At runtime, qt5-graphicaleffects are needed to display anything
in the timeline (e.g. a conversation in a room). Even the loading-
spinner isn't shown without it. Demonstrated by trying to run
nheko in a "bare" machine with just XOrg and twm.
PR: 256839
Reported by: Filipe da Silva Santos
net-im/mtxclient: update to latest upstream
Release notes at
https://github.com/Nheko-Reborn/mtxclient/releases
Since we skipped 0.5.0: supports edits, API changes, TLS support,
sticker packs and emotes and all that rich-IM-drip. This isn't
compatible with the nheko version in ports, though, waiting for
an update there.
Update net-im/mtxclient and net-im/nheko to latest upstream releases
These are paired bits of software: nheko is the only consumer of
mtxclient in FreeBSD ports. The release notes for nheko are the
interesting (end-user-visible) bits, at
https://github.com/Nheko-Reborn/nheko/releases/tag/v0.8.0https://github.com/Nheko-Reborn/mtxclient/releases/tag/v0.4.0
with the following highlights:
- Voice and Video Calls (not enabled in ports, needs gstreamer)
- Cross-Signing and Device/User Verification
- Separate profiles
Various ports-tidy things have happened as well:
- Drop googletest build requirement
- Drop libsodium
- Sort dependencies
- Tidy plist a bit
Fix dependencies of net-im/nheko
- because mtxclient was listed as a build dependency only (I thought nheko
would pick up the .a and statically link it), it would be installed
with nheko, but marked "automatic" and unused.
- "pkg autoremove" would remove mtxclient, and then nheko wouldn't start
because the mtxclient .so was missing.
Make mtxclient a library dependency instead.
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Update security/olm to latest upstream release.
Source has moved to gitlab, still under Matrix.org. Release notes at
https://gitlab.matrix.org/matrix-org/olm/releases
major changes were in 3.1.0 already, Short Authentication String
and public key signing. Various compatibility and build fixes
were also applied.
Also PORTREVISION dependent ports (that I know about). No MFH because
these are feature-based releases, not security updates.
PR: 238384
Submitted by: Alexander Sieg
Reported by: Alexander Sieg
Update net-im/nheko and its dependencies to latest upstream releases.
- mtxclient doesn't need patching anymore, and makes a shared-lib.
- nheko has some more translations available
Fix up net-im/nheko depends.
- While it looked like everything was being static-linked, so that
cmark, libsodium and olm could be build-dep, they're linked in.
Then "pkg install" pulls them in, but "pkg autoremove" gets
rid of them again, leading to an unusable nheko. Fix the deps.
New port net-im/nheko
Third time's the charm for Qt-based Matrix clients; this one looks pretty
good and seems to work pretty well. It also offers registration for new
users, and understands both plain (matrix.org) and premium (modular.im)
accounts.
The port contains the following yuckiness:
- a hack to change <json.hpp> to <nlohmann/json.hpp>, since the CMake
bits in nheko don't actually go look for it.
- a (GH_TUPLE) copy of lmdb++, which is #included by the C++ code,
but CMake doesn't go looking for it.
- a (GH_TUPLE) copy of tweeny, which is used by the C++ code, but
CMake doesn't go looking for it. Since this is a source copy, the
header isn't in the tweeny/ directory (where it gets installed), so
an extra hack is called for to provide that subdirectory.
I considered making tweeny a separate port (many Linuxen do), but
this would be the only consumer, and it doesn't even consume the whole
library but only parts of one header.