From: Thomas Devoogdt <thomas.devoogdt@gmail.com>
To: buildroot@buildroot.org
Cc: Adrian Perez de Castro <aperez@igalia.com>,
Thomas Devoogdt <thomas.devoogdt@gmail.com>,
Fabrice Fontaine <fontaine.fabrice@gmail.com>
Subject: [Buildroot] [PATCH 2/2] package/libsoup: add choice between libsoup2 and libsoup3
Date: Sat, 29 Jan 2022 22:42:35 +0100 [thread overview]
Message-ID: <20220129214235.5133-2-thomas.devoogdt@gmail.com> (raw)
In-Reply-To: <20220129214235.5133-1-thomas.devoogdt@gmail.com>
Libsoup3 has a new API [1], packages using libsoup2 may not
compile with libsoup3 or may crash at runtime in unexpected
ways. So the default will (for now) stay on libsoup2.
A tracking table for the migration can be found here [2].
Changes for libsoup3:
- "0001-meson.build-set-c_std-to-gnu99.patch" is upstream now [3].
- The "gnome" option was dropped in [4].
- A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2 backend) [5].
[1] https://libsoup.org/libsoup-3.0/ch02.html
[2] https://gitlab.gnome.org/GNOME/libsoup/-/issues/218
[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@gmail.com>
---
.../0001-meson.build-set-c_std-to-gnu99.patch | 0
package/libsoup/Config.in | 16 ++++++++++++++++
package/libsoup/libsoup.hash | 2 ++
package/libsoup/libsoup.mk | 11 +++++++++++
4 files changed, 29 insertions(+)
rename package/libsoup/{ => 2.74.0}/0001-meson.build-set-c_std-to-gnu99.patch (100%)
diff --git a/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch b/package/libsoup/2.74.0/0001-meson.build-set-c_std-to-gnu99.patch
similarity index 100%
rename from package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
rename to package/libsoup/2.74.0/0001-meson.build-set-c_std-to-gnu99.patch
diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index 02e8e8b578..959ddedef5 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -16,8 +16,24 @@ config BR2_PACKAGE_LIBSOUP
if BR2_PACKAGE_LIBSOUP
+choice
+ prompt "libsoup version"
+ default BR2_PACKAGE_LIBSOUP_VERSION_2
+ help
+ Select the version of libsoup you wish to use.
+
+config BR2_PACKAGE_LIBSOUP_VERSION_3
+ select BR2_PACKAGE_NGHTTP2
+ bool "libsoup3"
+
+config BR2_PACKAGE_LIBSOUP_VERSION_2
+ bool "libsoup2"
+
+endchoice
+
config BR2_PACKAGE_LIBSOUP_GNOME
bool "libsoup-gnome"
+ depends on BR2_PACKAGE_LIBSOUP_VERSION_2
help
Build libsoup-gnome library.
diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash
index 95c1c26eb4..6d87cc67e8 100644
--- a/package/libsoup/libsoup.hash
+++ b/package/libsoup/libsoup.hash
@@ -1,3 +1,5 @@
+# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/3.0/libsoup-3.0.0.sha256sum
+sha256 cde05f3e20114ce985cbd03d575ff74e5e41e70a218e5eb3068c4bf4710dbf2b libsoup-3.0.0.tar.xz
# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/2.74/libsoup-2.74.0.sha256sum
sha256 33b1d4e0d639456c675c227877e94a8078d731233e2d57689c11abcef7d3c48e libsoup-2.74.0.tar.xz
# Locally calculated
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 1a26714992..bd8ce40643 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -4,8 +4,13 @@
#
################################################################################
+ifeq ($(BR2_PACKAGE_LIBSOUP_VERSION_3),y)
+LIBSOUP_VERSION_MAJOR = 3.0
+LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).0
+else
LIBSOUP_VERSION_MAJOR = 2.74
LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).0
+endif
LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.xz
LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_VERSION_MAJOR)
LIBSOUP_LICENSE = LGPL-2.0+
@@ -55,10 +60,16 @@ else
LIBSOUP_CONF_OPTS += -Dgssapi=disabled
endif
+ifeq ($(BR2_PACKAGE_LIBSOUP_VERSION_2),y)
ifeq ($(BR2_PACKAGE_LIBSOUP_GNOME),y)
LIBSOUP_CONF_OPTS += -Dgnome=true
else
LIBSOUP_CONF_OPTS += -Dgnome=false
endif
+endif
+
+ifeq ($(BR2_PACKAGE_LIBSOUP_VERSION_3),y)
+LIBSOUP_DEPENDENCIES += nghttp2
+endif
$(eval $(meson-package))
--
2.17.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-01-29 21:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-29 21:42 [Buildroot] [PATCH 1/2] package/libglib2: bump version to 2.70.0 Thomas Devoogdt
2022-01-29 21:42 ` Thomas Devoogdt [this message]
2022-01-30 14:49 ` [Buildroot] [PATCH 2/2] package/libsoup: add choice between libsoup2 and libsoup3 Thomas Petazzoni via buildroot
2022-01-30 22:02 ` Adrian Perez de Castro
2022-01-30 22:17 ` Thomas Petazzoni via buildroot
2022-01-31 11:37 ` Thomas Devoogdt
2022-08-21 18:45 ` Yann E. MORIN
2022-01-30 14:52 ` [Buildroot] [PATCH 1/2] package/libglib2: bump version to 2.70.0 Thomas Petazzoni via buildroot
2022-01-31 16:16 ` Thomas Devoogdt
2022-01-31 16:40 ` Fabrice Fontaine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220129214235.5133-2-thomas.devoogdt@gmail.com \
--to=thomas.devoogdt@gmail.com \
--cc=aperez@igalia.com \
--cc=buildroot@buildroot.org \
--cc=fontaine.fabrice@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.