diff --git a/DEVELOPERS b/DEVELOPERS index 0f6cb75e0e..c9117146ea 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2854,6 +2854,7 @@ F: toolchain/ N: Thomas Devoogdt F: package/fluent-bit/ +F: package/libsoup3/ N: Thomas Huth F: board/qemu/m68k-mcf5208/ diff --git a/package/Config.in b/package/Config.in index 54cddc3914..e12ee34e9f 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1957,6 +1957,7 @@ menu "Networking" source "package/libshout/Config.in" source "package/libsocketcan/Config.in" source "package/libsoup/Config.in" + source "package/libsoup3/Config.in" source "package/libsrtp/Config.in" source "package/libstrophe/Config.in" source "package/libteam/Config.in" diff --git a/package/libsoup3/Config.in b/package/libsoup3/Config.in new file mode 100644 index 0000000000..504cc3bd2b --- /dev/null +++ b/package/libsoup3/Config.in @@ -0,0 +1,34 @@ +config BR2_PACKAGE_LIBSOUP3 + bool "libsoup3" + depends on BR2_USE_WCHAR # glib2, libpsl + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBPSL + select BR2_PACKAGE_NGHTTP2 + select BR2_PACKAGE_SQLITE + help + libsoup3 is an HTTP client/server library. It uses GObject + and the GLib main loop, to integrate well with GNOME + applications. + + https://wiki.gnome.org/Projects/libsoup + +if BR2_PACKAGE_LIBSOUP3 + +config BR2_PACKAGE_LIBSOUP3_SSL + bool "https support" + depends on !BR2_STATIC_LIBS # glib-networking, gnutls + select BR2_PACKAGE_GLIB_NETWORKING # runtime + select BR2_PACKAGE_GNUTLS # runtime + help + Enable HTTPS (SSL) support. + +comment "libsoup3 https support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif + +comment "libsoup3 needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libsoup3/libsoup3.hash b/package/libsoup3/libsoup3.hash new file mode 100644 index 0000000000..01313b394b --- /dev/null +++ b/package/libsoup3/libsoup3.hash @@ -0,0 +1,4 @@ +# From https://download.gnome.org/sources/libsoup/3.4/libsoup-3.4.2.sha256sum +sha256 78c8fa37cb152d40ec8c4a148d6155e2f6947f3f1602a7cda3a31ad40f5ee2f3 libsoup-3.4.2.tar.xz +# Locally calculated +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup3/libsoup3.mk b/package/libsoup3/libsoup3.mk new file mode 100644 index 0000000000..9e66b6ebd2 --- /dev/null +++ b/package/libsoup3/libsoup3.mk @@ -0,0 +1,57 @@ +################################################################################ +# +# libsoup3 +# +################################################################################ + +LIBSOUP3_VERSION_MAJOR = 3.4 +LIBSOUP3_VERSION = $(LIBSOUP3_VERSION_MAJOR).2 +LIBSOUP3_SOURCE = libsoup-$(LIBSOUP3_VERSION).tar.xz +LIBSOUP3_SITE = https://download.gnome.org/sources/libsoup/$(LIBSOUP3_VERSION_MAJOR) +LIBSOUP3_LICENSE = LGPL-2.0+ +LIBSOUP3_LICENSE_FILES = COPYING +LIBSOUP3_CPE_ID_VENDOR = gnome +LIBSOUP3_INSTALL_STAGING = YES +LIBSOUP3_DEPENDENCIES = \ + host-intltool \ + host-libglib2 \ + host-pkgconf \ + libglib2 \ + libpsl \ + nghttp2 \ + sqlite \ + $(TARGET_NLS_DEPENDENCIES) + +LIBSOUP3_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +LIBSOUP3_CONF_OPTS = \ + -Dntlm=disabled \ + -Dsysprof=disabled \ + -Dtests=false \ + -Dtls_check=false \ + -Dvapi=disabled + +ifeq ($(BR2_PACKAGE_BROTLI),y) +LIBSOUP3_CONF_OPTS += -Dbrotli=enabled +LIBSOUP3_DEPENDENCIES += brotli +else +LIBSOUP3_CONF_OPTS += -Dbrotli=disabled +endif + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBSOUP3_CONF_OPTS += -Dintrospection=enabled +LIBSOUP3_DEPENDENCIES += gobject-introspection +else +LIBSOUP3_CONF_OPTS += -Dintrospection=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +LIBSOUP3_CONF_OPTS += \ + -Dgssapi=enabled \ + -Dkrb5_config=$(STAGING_DIR)/usr/bin/krb5-config +LIBSOUP3_DEPENDENCIES += libkrb5 +else +LIBSOUP3_CONF_OPTS += -Dgssapi=disabled +endif + +$(eval $(meson-package))