Here is an update for KeepassCX to the new 2.8 (Qt6 version). YubiKey
support is no longer optional but is now a built-in feature. I've merged
the support into each version using a pkgpath.
What I'd like to add a new "network" FLAVOR. This gives KeepassCX
internet access. Personally, I use the browser flavor and don't need a
Keepass that has internet access.
Feedback and more tests welcome.
Rafael
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/Makefile,v
diff -u -p -r1.796 Makefile
--- Makefile 14 Oct 2026 10:34:44 -0000 1.796
+++ Makefile 22 Oct 2026 14:07:24 -0000
@@ -86,8 +86,8 @@
SUBDIR += kc,yubikey
SUBDIR += keepassxc
SUBDIR += keepassxc,browser
- SUBDIR += keepassxc,browser,yubikey
- SUBDIR += keepassxc,yubikey
+ SUBDIR += keepassxc,browser,network
+ SUBDIR += keepassxc,network
SUBDIR += keybase
SUBDIR += keychain
SUBDIR += keycloak
Index: keepassxc/Makefile
===================================================================
RCS file: /cvs/ports/security/keepassxc/Makefile,v
diff -u -p -r1.67 Makefile
--- keepassxc/Makefile 3 Apr 2026 06:47:50 -0000 1.67
+++ keepassxc/Makefile 22 Oct 2026 14:07:24 -0000
@@ -1,6 +1,6 @@
COMMENT = management tool for passwords and sensitive data
-V = 2.7.12
+V = 2.8.0
DISTNAME = keepassxc-${V}
CATEGORIES = security
@@ -12,22 +12,21 @@ MAINTAINER = Rafael Sadowski <rsadowski@
# GPLv2 or GPLv3
PERMIT_PACKAGE = Yes
-WANTLIB += ${COMPILER_LIBCXX} Qt5Concurrent Qt5Core Qt5DBus Qt5Gui
-WANTLIB += Qt5Network Qt5Svg Qt5Widgets Qt5X11Extras X11 Xtst
-WANTLIB += argon2 botan-2 c m minizip qrencode readline z
+WANTLIB += ${COMPILER_LIBCXX} Qt6Concurrent Qt6Core Qt6DBus Qt6Gui
+WANTLIB += Qt6Network Qt6Svg Qt6SvgWidgets Qt6Widgets X11 Xtst
+WANTLIB += botan-2 c m minizip pcsclite qrencode readline usb-1.0
+WANTLIB += xkbcommon z
SITES =
https://github.com/keepassxreboot/keepassxc/releases/download/${V}/
EXTRACT_SUFX = -src.tar.xz
-MODULES = x11/qt5 \
+MODULES = x11/qt6 \
devel/cmake
LIB_DEPENDS = archivers/minizip \
graphics/libqrencode \
- security/argon2 \
security/botan2 \
- x11/qt5/qtsvg \
- x11/qt5/qtx11extras # needed for auto-type
+ x11/qt6/qtsvg
RUN_DEPENDS = devel/desktop-file-utils \
misc/shared-mime-info \
@@ -35,43 +34,40 @@ RUN_DEPENDS = devel/desktop-file-utils \
BUILD_DEPENDS = textproc/asciidoctor
+# Yubikey
+LIB_DEPENDS += devel/libusb1 \
+ security/pcsc-lite
+
CONFIGURE_ARGS= -DCMAKE_INSTALL_MANDIR="man" \
-DWITH_GUI_TESTS=ON \
- -DWITH_XC_AUTOTYPE=ON \
- -DWITH_XC_SSHAGENT=ON \
- -DWITH_XC_UPDATECHECK=OFF \
- -DWITH_XC_FDOSECRETS=ON \
- -DWITH_XC_KEESHARE=ON
+ -DKPXC_FEATURE_SSHAGENT=ON \
+ -DKPXC_FEATURE_UPDATES=OFF \
+ -DKPXC_FEATURE_FDOSECRETS=ON
CONFIGURE_ARGS += -DCMAKE_DISABLE_FIND_PACKAGE_Git=On
+CONFIGURE_ARGS += -DWITH_CCACHE=OFF
+
TEST_IS_INTERACTIVE = X11
-FLAVORS = browser yubikey
+FLAVORS = browser network
FLAVOR ?=
-# everything (executables, modules, docs) except tests
-ALL_TARGET = keepassxc keepassxc-cli \
- keepassxc-autotype-xcb \
- docs manpages
-
-.if ${FLAVOR:Myubikey}
-WANTLIB += pcsclite usb-1.0
-LIB_DEPENDS += devel/libusb1 \
- security/pcsc-lite
-CONFIGURE_ARGS += -DWITH_XC_YUBIKEY=ON
-.endif
-
.if ${FLAVOR:Mbrowser}
# Sync with archs that ship Firefox and/or Chromium
ONLY_FOR_ARCHS = amd64 i386 aarch64
-CONFIGURE_ARGS += -DWITH_XC_BROWSER=ON \
- -DWITH_XC_NETWORKING=ON \
- -DWITH_XC_BROWSER_PASSKEYS=ON
-# helper executable
-ALL_TARGET += keepassxc-proxy
+CONFIGURE_ARGS += -DKPXC_FEATURE_BROWSER=ON
+.else
+CONFIGURE_ARGS += -DKPXC_FEATURE_BROWSER=OFF
.endif
+.if ${FLAVOR:Mnetwork}
+CONFIGURE_ARGS += -DKPXC_FEATURE_NETWORK=ON
+.else
+CONFIGURE_ARGS += -DKPXC_FEATURE_NETWORK=OFF
+.endif
+
+
MODCMAKE_LDFLAGS = -L${X11BASE}/lib -L${LOCALBASE}/lib
# - MainWindow.cpp has one minor key binding behind Q_OS_* no other BSD seems
@@ -79,8 +75,9 @@ MODCMAKE_LDFLAGS = -L${X11BASE}/lib -L${
# - Icons.cpp has a Qt theme/icon issue fix... untested if this effects us.
post-patch:
cd ${WRKSRC}/src/; sed -i -e 's/Q_OS_LINUX/Q_OS_UNIX/g' \
- gui/MainWindow.cpp \
- gui/Icons.cpp
+ core/Config.cpp \
+ browser/BrowserSettingsWidget.cpp \
+ gui/DatabaseOpenDialog.cpp
# build whatever is left (ca. 200 GUI test files)
pre-test:
Index: keepassxc/distinfo
===================================================================
RCS file: /cvs/ports/security/keepassxc/distinfo,v
diff -u -p -r1.38 distinfo
--- keepassxc/distinfo 3 Apr 2026 06:47:50 -0000 1.38
+++ keepassxc/distinfo 22 Oct 2026 14:07:24 -0000
@@ -1,2 +1,2 @@
-SHA256 (keepassxc-2.7.12-src.tar.xz) =
vjTuspeIGt6k+JTHxuShg1vXkn+AQ93qSVBA30eSp94=
-SIZE (keepassxc-2.7.12-src.tar.xz) = 10618652
+SHA256 (keepassxc-2.8.0-src.tar.xz) =
TtS3fTdfAh/ARkjCV/7ftB3BPGvVxJZdje0xKEycZTw=
+SIZE (keepassxc-2.8.0-src.tar.xz) = 10867052
Index: keepassxc/pkg/DESCR
===================================================================
RCS file: /cvs/ports/security/keepassxc/pkg/DESCR,v
diff -u -p -r1.2 DESCR
--- keepassxc/pkg/DESCR 5 Mar 2018 09:33:46 -0000 1.2
+++ keepassxc/pkg/DESCR 22 Oct 2026 14:07:24 -0000
@@ -24,3 +24,8 @@ Main Features:
- Password strength meter
- Database merge functionality
- Automatic reload when the database was changed externally
+
+Available flavors:
+
+ browser - Browser integration and passkeys support
+ network - Include code that reaches out to external networks
Index: keepassxc/pkg/PFRAG.browser
===================================================================
RCS file: /cvs/ports/security/keepassxc/pkg/PFRAG.browser,v
diff -u -p -r1.2 PFRAG.browser
--- keepassxc/pkg/PFRAG.browser 11 Mar 2022 19:53:29 -0000 1.2
+++ keepassxc/pkg/PFRAG.browser 22 Oct 2026 14:07:24 -0000
@@ -1 +1,2 @@
+@pkgpath security/keepassxc,browser,yubikey
@bin bin/keepassxc-proxy
Index: keepassxc/pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/keepassxc/pkg/PLIST,v
diff -u -p -r1.29 PLIST
--- keepassxc/pkg/PLIST 3 Apr 2026 06:47:50 -0000 1.29
+++ keepassxc/pkg/PLIST 22 Oct 2026 14:07:24 -0000
@@ -1,8 +1,7 @@
+@pkgpath security/keepassxc,yubikey
@bin bin/keepassxc
@bin bin/keepassxc-cli
%%browser%%
-lib/keepassxc/
-@so lib/keepassxc/libkeepassxc-autotype-xcb.so
@man man/man1/keepassxc-cli.1
@man man/man1/keepassxc.1
share/applications/org.keepassxc.KeePassXC.desktop
@@ -44,12 +43,14 @@ share/keepassxc/translations/keepassxc_f
share/keepassxc/translations/keepassxc_fil.qm
share/keepassxc/translations/keepassxc_fr.qm
share/keepassxc/translations/keepassxc_fr_CA.qm
+share/keepassxc/translations/keepassxc_gl.qm
share/keepassxc/translations/keepassxc_he.qm
share/keepassxc/translations/keepassxc_hr.qm
share/keepassxc/translations/keepassxc_hu.qm
share/keepassxc/translations/keepassxc_id.qm
share/keepassxc/translations/keepassxc_it.qm
share/keepassxc/translations/keepassxc_ja.qm
+share/keepassxc/translations/keepassxc_kab.qm
share/keepassxc/translations/keepassxc_km.qm
share/keepassxc/translations/keepassxc_ko.qm
share/keepassxc/translations/keepassxc_lt.qm
@@ -75,7 +76,6 @@ share/keepassxc/translations/keepassxc_z
share/keepassxc/translations/keepassxc_zh_TW.qm
share/keepassxc/wordlists/
share/keepassxc/wordlists/eff_large.wordlist
-share/metainfo/
share/metainfo/org.keepassxc.KeePassXC.appdata.xml
share/mime/packages/keepassxc.xml
@tag update-desktop-database