From a5da7ee5a8f972a7f08616b521f51c83132140d2 Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Sat, 16 Aug 2025 21:55:41 +0200 Subject: [PATCH] package/libjwt: require openssl Ever since upstream commit 01dd6da ("Rework the entire API"), first introduced as part of release v3.0.0, openssl is a hard requirement for building libjwt. As such, "-DWITH_OPENSSL=ON" also has become a no-op. In Buildroot, this has been masked somewhat by the implicit select when gnutls is disabled, but a failure can be reproduced using test-pkg with a config like: BR2_PACKAGE_GNUTLS=y BR2_PACKAGE_LIBJWT=y Fix this by requiring openssl. Furthermore, building against libressl does not work because libjwt requires API surface that is not present there[1], so we need to force libopenssl. [1] https://autobuild.buildroot.org/results/463/4638a7d46c149ca0f46d3fe5f5f90dc5ee9d1e03 Signed-off-by: Florian Larysch [Peter: drop gnutls logic support for simplicity] Signed-off-by: Peter Korsgaard --- package/libjwt/Config.in | 3 ++- package/libjwt/libjwt.mk | 12 ++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/package/libjwt/Config.in b/package/libjwt/Config.in index 39d1665e0e..47eb0882a3 100644 --- a/package/libjwt/Config.in +++ b/package/libjwt/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBJWT bool "libjwt" - select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_JANSSON help JSON Web Tokens are an open, industry standard RFC 7519 diff --git a/package/libjwt/libjwt.mk b/package/libjwt/libjwt.mk index 29ca9cebf4..d20067de24 100644 --- a/package/libjwt/libjwt.mk +++ b/package/libjwt/libjwt.mk @@ -7,21 +7,13 @@ LIBJWT_VERSION = 3.2.0 LIBJWT_SITE = https://github.com/benmcollins/libjwt/releases/download/v$(LIBJWT_VERSION) LIBJWT_SOURCE = libjwt-$(LIBJWT_VERSION).tar.xz -LIBJWT_DEPENDENCIES = host-pkgconf jansson +LIBJWT_DEPENDENCIES = host-pkgconf jansson openssl LIBJWT_INSTALL_STAGING = YES LIBJWT_LICENSE = MPL-2.0 LIBJWT_LICENSE_FILES = LICENSE LIBJWT_CPE_ID_VENDOR = bencollins LIBJWT_CPE_ID_PRODUCT = jwt_c_library -LIBJWT_CONF_OPTS += -DWITH_TESTS=OFF - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBJWT_CONF_OPTS += -DWITH_OPENSSL=ON -LIBJWT_DEPENDENCIES += openssl -else -LIBJWT_CONF_OPTS += -DWITH_GNUTLS=ON -LIBJWT_DEPENDENCIES += gnutls -endif +LIBJWT_CONF_OPTS += -DWITH_TESTS=OFF -DWITH_GNUTLS=OFF $(eval $(cmake-package))