Index | Thread | Search

From:
Adriano Barbosa <barbosa.aob@gmail.com>
Subject:
Re: About net/nextcloudclient, libp11 and devel/pkgconf
To:
stu@spacehopper.org
Cc:
ports@openbsd.org
Date:
Tue, 24 Jun 2025 13:01:59 -0400

Download raw body.

Thread
On Tue, Jun 24, 2025 at 03:17:00PM +0100, Stuart Henderson wrote:
> On 2025/06/24 09:25, Adriano Barbosa wrote:
> > I've been trying to fix a new issue without success. I've never used
> > gdb before, and from what I've learned over the past few days, the
> > issue seems to be an incompatibility between ssl libraries used in qt
> > and nextcloud, which now require openssl. Please find the backtrace from
> > the core dump below. I'm out of ideas on how to proceed to make it
> > work, and I'm wondering if there is any chance to resolve itwithout
> > recompiling qt stuff.
> 
> Switching to OpenSSL is difficult or impossible in many cases because
> a lot of libraries pull in libssl/libcrypto.
> 
> Generally you can't mix code compiled against OpenSSL and code compiled
> against LibreSSL in the same process (e.g. a library built against one
> used in an executable built against the other).
> 
> > #0  0x00000a2a7028d02f in ossl_asn1_item_embed_free () from /usr/local/lib/eopenssl34/libcrypto.so.32.0
> > #1  0x00000a2a7028cfc5 in ASN1_item_free () from /usr/local/lib/eopenssl34/libcrypto.so.32.0
> > #2  0x00000a2a493c7f7a in QTlsPrivate::X509CertificateOpenSSL::convertExtension () from /usr/local/lib/qt6/plugins/tls/libqopensslbackend.so
> 
> This shows QTls code (which expects libressl) calling into functions
> coming from openssl's libraries, that's not going to work.
> 
> What's failing with libressl? Do you have a (non-working) diff?

nextcloudclient diff is straightforward, but since version 3.16, it
requires libp11. Please find the diff and the port for libp11 (still
not commited) attached.

Thank you!



Index: Makefile
===================================================================
RCS file: /cvs/ports/net/nextcloudclient/Makefile,v
diff -u -p -r1.70 Makefile
--- Makefile	18 Mar 2025 07:54:21 -0000	1.70
+++ Makefile	24 Jun 2025 16:54:52 -0000
@@ -3,11 +3,10 @@ USE_WXNEEDED =	Yes
 COMMENT-main =		desktop sync client for Nextcloud
 COMMENT-dolphin=	dolphin nextcloud integration plugin
 
-V =		3.15.3
+V =		3.16.6
 GH_ACCOUNT =	nextcloud
 GH_PROJECT =	desktop
 GH_TAGNAME =	v${V}
-REVISION-main =	0
 
 DISTNAME =		nextcloudclient-${V}
 PKGNAME-main =		nextcloudclient-${V}
@@ -17,7 +16,7 @@ CATEGORIES =	net
 
 HOMEPAGE =	https://nextcloud.com
 
-SHARED_LIBS +=  nextcloudsync             23.0  # 3.15.2
+SHARED_LIBS +=  nextcloudsync             24.0  # 3.16.2
 SHARED_LIBS +=  nextcloud_csync           11.0  # 3.15.2
 SHARED_LIBS +=  nextcloudsync_vfs_suffix  4.0   # 3.14.1
 
@@ -31,9 +30,9 @@ WANTLIB-main += Qt6Core Qt6Core5Compat Q
 WANTLIB-main += Qt6Positioning Qt6PrintSupport Qt6Qml Qt6QmlMeta Qt6QmlModels
 WANTLIB-main += Qt6QmlWorkerScript Qt6Quick Qt6QuickControls2 Qt6QuickWidgets
 WANTLIB-main += Qt6Sql Qt6Svg Qt6WebChannel Qt6WebEngineCore Qt6WebEngineWidgets
-WANTLIB-main += Qt6WebSockets Qt6Widgets Qt6Xml c cloudproviders crypto
+WANTLIB-main += Qt6WebSockets Qt6Widgets Qt6Xml c cloudproviders lib/eopenssl34/crypto
 WANTLIB-main += gio-2.0 glib-2.0 gobject-2.0 intl m qt6keychain sqlite3
-WANTLIB-main += ssl xkbcommon z
+WANTLIB-main += lib/eopenssl34/ssl xkbcommon z
 
 WANTLIB-dolphin += ${COMPILER_LIBCXX} GL KF6Completion KF6ConfigCore KF6CoreAddons
 WANTLIB-dolphin += KF6JobWidgets KF6KIOCore KF6KIOGui KF6KIOWidgets KF6Service
@@ -47,7 +46,8 @@ FLAVOR ?=
 MODULES =		devel/cmake \
 			x11/qt6
 
-BUILD_DEPENDS =		devel/gettext,-tools
+BUILD_DEPENDS =		devel/gettext,-tools \
+			security/libp11
 
 # for converting svg icons to png
 BUILD_DEPENDS +=	x11/gnome/librsvg
@@ -68,6 +68,7 @@ LIB_DEPENDS-main =	databases/sqlite3 \
 			devel/kf6/karchive \
 			devel/kf6/kguiaddons \
 			devel/libinotify \
+			security/openssl/3.4 \
 			security/qtkeychain,qt6 \
 			x11/gnome/libcloudproviders \
 			x11/qt6/qt5compat \
@@ -94,10 +95,12 @@ CONFIGURE_ARGS +=	-DCMAKE_MODULE_PATH=${
 # Do not install under /etc/Nextcloud
 CONFIGURE_ARGS +=	-DSYSCONF_INSTALL_DIR=${SYSCONFDIR}
 
-CONFIGURE_ARGS +=	-DCMAKE_INSTALL_RPATH=${LOCALBASE}/lib/inotify
+CONFIGURE_ARGS +=	-DCMAKE_INSTALL_RPATH="${LOCALBASE}/lib/inotify;${LOCALBASE}/lib/eopenssl34"
+CONFIGURE_ENV =		OPENSSL_ROOT_DIR=${LOCALBASE}/lib/eopenssl34
 
-CXXFLAGS +=		-I${LOCALBASE}/include/inotify -I${LOCALBASE}/include/qtkeychain
-MODCMAKE_LDFLAGS =	-L${LOCALBASE}/lib/inotify
+CXXFLAGS +=		-I${LOCALBASE}/include/inotify -I${LOCALBASE}/include/qtkeychain \
+			-I${LOCALBASE}/include/eopenssl34
+MODCMAKE_LDFLAGS =	-L${LOCALBASE}/lib/inotify -L${LOCALBASE}/lib/eopenssl34
 
 .include <bsd.port.arch.mk>
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/nextcloudclient/distinfo,v
diff -u -p -r1.56 distinfo
--- distinfo	2 Mar 2025 08:22:52 -0000	1.56
+++ distinfo	24 Jun 2025 16:54:52 -0000
@@ -1,2 +1,2 @@
-SHA256 (nextcloudclient-3.15.3.tar.gz) = WksSYEyEuJhvKu50YruWg/sB9K4o7p1oggaMucrEV3M=
-SIZE (nextcloudclient-3.15.3.tar.gz) = 15683038
+SHA256 (nextcloudclient-3.16.6.tar.gz) = j9WOhTesRfXGbrkluO+E4I9wohuwvcP7FN5qMxBSSVQ=
+SIZE (nextcloudclient-3.16.6.tar.gz) = 15690688
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/net/nextcloudclient/patches/patch-CMakeLists_txt,v
diff -u -p -r1.18 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt	19 Dec 2024 12:31:45 -0000	1.18
+++ patches/patch-CMakeLists_txt	24 Jun 2025 16:54:52 -0000
@@ -10,7 +10,7 @@ Index: CMakeLists.txt
  
  include(ECMCoverageOption)
  
-@@ -352,4 +352,4 @@ elseif(BUILD_CLIENT)
+@@ -357,4 +357,4 @@ elseif(BUILD_CLIENT)
      configure_file(sync-exclude.lst bin/sync-exclude.lst COPYONLY)
  endif()
  
Index: pkg/PLIST-dolphin
===================================================================
RCS file: /cvs/ports/net/nextcloudclient/pkg/PLIST-dolphin,v
diff -u -p -r1.1 PLIST-dolphin
--- pkg/PLIST-dolphin	2 Mar 2025 08:22:52 -0000	1.1
+++ pkg/PLIST-dolphin	24 Jun 2025 16:54:52 -0000
@@ -1,5 +1,4 @@
 @so lib/libnextclouddolphinpluginhelper.so
-lib/qt6/plugins/kf6/
 lib/qt6/plugins/kf6/kfileitemaction/
 @so lib/qt6/plugins/kf6/kfileitemaction/nextclouddolphinactionplugin.so
 lib/qt6/plugins/kf6/overlayicon/