* [Buildroot] [PATCH v2 1/3] package/libsoup3: new package
@ 2023-08-02 12:01 Thomas Devoogdt
2023-08-02 12:01 ` [Buildroot] [PATCH v2 2/3] package/webkitgtk: add http/2 support by using libsoup3 Thomas Devoogdt
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Thomas Devoogdt @ 2023-08-02 12:01 UTC (permalink / raw)
To: buildroot; +Cc: Adrian Perez de Castro, Thomas Devoogdt, Eric Le Bihan
Libsoup3 has a new API [1], packages using libsoup may not
compile with libsoup3 or may crash at runtime in unexpected
ways. So add a new package.
This replaces my original commit that was sent to the buildroot
mailing list a long time ago: [2]
Changes for libsoup3:
- "0001-meson.build-set-c_std-to-gnu99.patch" is upstream now [2].
- The "gnome" option was dropped in [3].
- A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2 backend) [4].
[1] https://libsoup.org/libsoup-3.0/ch02.html
[2] https://patchwork.ozlabs.org/project/buildroot/patch/20220129214235.5133-2-thomas.devoogdt@gmail.com/
[3] https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
[4] https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
[5] https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: no change
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libsoup3/Config.in | 40 +++++++++++++++++++++++
package/libsoup3/libsoup3.hash | 4 +++
package/libsoup3/libsoup3.mk | 58 ++++++++++++++++++++++++++++++++++
5 files changed, 104 insertions(+)
create mode 100644 package/libsoup3/Config.in
create mode 100644 package/libsoup3/libsoup3.hash
create mode 100644 package/libsoup3/libsoup3.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 5023ecd775..700422dcfa 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2855,6 +2855,7 @@ F: toolchain/
N: Thomas Devoogdt <thomas@devoogdt.com>
F: package/fluent-bit/
+F: package/libsoup3/
N: Thomas Huth <huth@tuxfamily.org>
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..8a6cbc1e67
--- /dev/null
+++ b/package/libsoup3/Config.in
@@ -0,0 +1,40 @@
+config BR2_PACKAGE_LIBSOUP3
+ bool "libsoup3"
+ depends on BR2_USE_WCHAR # glib2, gnutls and libpsl
+ depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+ depends on BR2_USE_MMU # glib2
+ select BR2_PACKAGE_NGHTTP2
+ select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_LIBPSL
+ 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_GNOME
+ bool "libsoup3-gnome"
+ help
+ Build libsoup3-gnome library.
+
+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..5a25e10047
--- /dev/null
+++ b/package/libsoup3/libsoup3.mk
@@ -0,0 +1,58 @@
+################################################################################
+#
+# 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 \
+ libxml2 \
+ 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))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2 2/3] package/webkitgtk: add http/2 support by using libsoup3
2023-08-02 12:01 [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Devoogdt
@ 2023-08-02 12:01 ` Thomas Devoogdt
2023-08-06 14:26 ` Thomas Petazzoni via buildroot
2023-08-02 12:01 ` [Buildroot] [PATCH v2 3/3] package/wpewebkit: " Thomas Devoogdt
2023-08-06 14:26 ` [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Petazzoni via buildroot
2 siblings, 1 reply; 6+ messages in thread
From: Thomas Devoogdt @ 2023-08-02 12:01 UTC (permalink / raw)
To: buildroot; +Cc: Adrian Perez de Castro, Thomas Devoogdt, Eric Le Bihan
Support added in 2.33.2:
https://webkitgtk.org/2021/06/08/webkitgtk2.33.2-released.html
"HTTP/2 support when building with libsoup3."
Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: no change
---
package/webkitgtk/Config.in | 10 +++++-----
package/webkitgtk/webkitgtk.mk | 3 +--
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index 23c0bf41db..6835467c46 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -31,9 +31,9 @@ config BR2_PACKAGE_WEBKITGTK
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup
+ depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
- depends on BR2_USE_WCHAR # icu, libsoup
+ depends on BR2_USE_WCHAR # icu, libsoup3
depends on BR2_PACKAGE_LIBGTK3
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
select BR2_PACKAGE_CAIRO
@@ -44,7 +44,7 @@ config BR2_PACKAGE_WEBKITGTK
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBSECRET
- select BR2_PACKAGE_LIBSOUP
+ select BR2_PACKAGE_LIBSOUP3
select BR2_PACKAGE_LIBTASN1
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_LIBXSLT
@@ -82,9 +82,9 @@ comment "sandboxing support needs a toolchain w/ headers >= 3.12"
config BR2_PACKAGE_WEBKITGTK_HTTPS
bool "HTTPS support"
- depends on !BR2_STATIC_LIBS # libsoup -> glib-networking, gnutls
+ depends on !BR2_STATIC_LIBS # libsoup3 -> glib-networking, gnutls
select BR2_PACKAGE_CA_CERTIFICATES # runtime
- select BR2_PACKAGE_LIBSOUP_SSL
+ select BR2_PACKAGE_LIBSOUP3_SSL
help
Enable HTTPS protocol support.
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 56277a0a0a..f578868e52 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \
Source/WebCore/LICENSE-LGPL-2.1
WEBKITGTK_CPE_ID_VENDOR = webkitgtk
WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
- enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \
+ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \
libtasn1 libxml2 libxslt openjpeg sqlite webp woff2
WEBKITGTK_CONF_OPTS = \
-DENABLE_API_TESTS=OFF \
@@ -27,7 +27,6 @@ WEBKITGTK_CONF_OPTS = \
-DUSE_AVIF=OFF \
-DUSE_LIBHYPHEN=OFF \
-DUSE_OPENJPEG=ON \
- -DUSE_SOUP2=ON \
-DUSE_WOFF2=ON
ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 3/3] package/wpewebkit: add http/2 support by using libsoup3
2023-08-02 12:01 [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Devoogdt
2023-08-02 12:01 ` [Buildroot] [PATCH v2 2/3] package/webkitgtk: add http/2 support by using libsoup3 Thomas Devoogdt
@ 2023-08-02 12:01 ` Thomas Devoogdt
2023-08-06 14:26 ` Thomas Petazzoni via buildroot
2023-08-06 14:26 ` [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Petazzoni via buildroot
2 siblings, 1 reply; 6+ messages in thread
From: Thomas Devoogdt @ 2023-08-02 12:01 UTC (permalink / raw)
To: buildroot; +Cc: Adrian Perez de Castro, Thomas Devoogdt, Eric Le Bihan
Support added in 2.33.2:
https://wpewebkit.org/release/wpewebkit-2.33.2.html
"HTTP/2 support when building with libsoup3."
Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: fix git message typo
---
package/wpewebkit/Config.in | 6 +++---
package/wpewebkit/wpewebkit.mk | 5 ++---
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in
index 7a8dc557c3..f1d38c7cad 100644
--- a/package/wpewebkit/Config.in
+++ b/package/wpewebkit/Config.in
@@ -36,9 +36,9 @@ config BR2_PACKAGE_WPEWEBKIT
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu
- depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup
+ depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
- depends on BR2_USE_WCHAR # icu, libsoup
+ depends on BR2_USE_WCHAR # icu, libsoup3
depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wpebackend-fdo
@@ -51,7 +51,7 @@ config BR2_PACKAGE_WPEWEBKIT
select BR2_PACKAGE_LIBEPOXY
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBPNG
- select BR2_PACKAGE_LIBSOUP
+ select BR2_PACKAGE_LIBSOUP3
select BR2_PACKAGE_LIBTASN1
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_OPENJPEG
diff --git a/package/wpewebkit/wpewebkit.mk b/package/wpewebkit/wpewebkit.mk
index c13a7201e6..8b5de00f07 100644
--- a/package/wpewebkit/wpewebkit.mk
+++ b/package/wpewebkit/wpewebkit.mk
@@ -15,7 +15,7 @@ WPEWEBKIT_LICENSE_FILES = \
WPEWEBKIT_CPE_ID_VENDOR = wpewebkit
WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit
WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby host-unifdef \
- harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \
+ harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup3 libtasn1 \
libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo
WPEWEBKIT_CONF_OPTS = \
@@ -26,8 +26,7 @@ WPEWEBKIT_CONF_OPTS = \
-DENABLE_INTROSPECTION=OFF \
-DENABLE_MINIBROWSER=OFF \
-DENABLE_WEB_RTC=OFF \
- -DUSE_AVIF=OFF \
- -DUSE_SOUP2=ON
+ -DUSE_AVIF=OFF
ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y)
WPEWEBKIT_CONF_OPTS += \
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v2 1/3] package/libsoup3: new package
2023-08-02 12:01 [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Devoogdt
2023-08-02 12:01 ` [Buildroot] [PATCH v2 2/3] package/webkitgtk: add http/2 support by using libsoup3 Thomas Devoogdt
2023-08-02 12:01 ` [Buildroot] [PATCH v2 3/3] package/wpewebkit: " Thomas Devoogdt
@ 2023-08-06 14:26 ` Thomas Petazzoni via buildroot
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-06 14:26 UTC (permalink / raw)
To: Thomas Devoogdt; +Cc: Adrian Perez de Castro, Eric Le Bihan, buildroot
Hello Thomas,
On Wed, 2 Aug 2023 14:01:48 +0200
Thomas Devoogdt <thomas@devoogdt.com> wrote:
> Libsoup3 has a new API [1], packages using libsoup may not
> compile with libsoup3 or may crash at runtime in unexpected
> ways. So add a new package.
>
> This replaces my original commit that was sent to the buildroot
> mailing list a long time ago: [2]
This paragraph is a changelog, it should not be part of the commit log,
but be mentioned below the --- sign that follows your Signed-off-by.
> diff --git a/package/libsoup3/Config.in b/package/libsoup3/Config.in
> new file mode 100644
> index 0000000000..8a6cbc1e67
> --- /dev/null
> +++ b/package/libsoup3/Config.in
> @@ -0,0 +1,40 @@
> +config BR2_PACKAGE_LIBSOUP3
> + bool "libsoup3"
> + depends on BR2_USE_WCHAR # glib2, gnutls and libpsl
> + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> + depends on BR2_USE_MMU # glib2
> + select BR2_PACKAGE_NGHTTP2
> + select BR2_PACKAGE_LIBXML2
Actually libxml2 isn't needed. Also I have fixed alphabetic ordering,
as NGHTTP2 goes after LIBGLIB2/LIBSPL.
> +config BR2_PACKAGE_LIBSOUP3_GNOME
> + bool "libsoup3-gnome"
> + help
> + Build libsoup3-gnome library.
This option was not used anywhere, so I dropped it.
> +LIBSOUP3_DEPENDENCIES = \
> + host-intltool \
> + host-libglib2 \
> + host-pkgconf \
> + libglib2 \
> + libpsl \
> + libxml2 \
Dropped this line, of course.
Applied with those changes. Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-06 14:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-02 12:01 [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Devoogdt
2023-08-02 12:01 ` [Buildroot] [PATCH v2 2/3] package/webkitgtk: add http/2 support by using libsoup3 Thomas Devoogdt
2023-08-06 14:26 ` Thomas Petazzoni via buildroot
2023-08-02 12:01 ` [Buildroot] [PATCH v2 3/3] package/wpewebkit: " Thomas Devoogdt
2023-08-06 14:26 ` Thomas Petazzoni via buildroot
2023-08-06 14:26 ` [Buildroot] [PATCH v2 1/3] package/libsoup3: new package Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox