diff mbox series

[2/2] package/libsoup: bump to version 3.0.4

Message ID 20220128105917.30421-2-thomas.devoogdt@barco.com
State Superseded
Headers show
Series [1/2] package/libglib2: bump version to 2.69.1 | expand

Commit Message

Thomas Devoogdt Jan. 28, 2022, 10:59 a.m. UTC
Drop upstreamed patch:
https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c

The gnome option was dropped in:
https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a

A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2 backend):
https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8

Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
---
 Config.in.legacy                              |  6 +++
 .../0001-meson.build-set-c_std-to-gnu99.patch | 40 -------------------
 package/libsoup/Config.in                     |  6 +--
 package/libsoup/libsoup.hash                  |  4 +-
 package/libsoup/libsoup.mk                    | 11 ++---
 package/midori/Config.in                      |  1 -
 6 files changed, 12 insertions(+), 56 deletions(-)
 delete mode 100644 package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch

Comments

Adrian Perez de Castro Jan. 28, 2022, 11:42 a.m. UTC | #1
Hello Thomas, all,

On Fri, 28 Jan 2022 11:59:17 +0100 Thomas Devoogdt <thomas.devoogdt@gmail.com> wrote:
> Drop upstreamed patch:
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
> 
> The gnome option was dropped in:
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
> 
> A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2 backend):
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
> 
> Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
> ---
>  Config.in.legacy                              |  6 +++
>  .../0001-meson.build-set-c_std-to-gnu99.patch | 40 -------------------
>  package/libsoup/Config.in                     |  6 +--
>  package/libsoup/libsoup.hash                  |  4 +-
>  package/libsoup/libsoup.mk                    | 11 ++---
>  package/midori/Config.in                      |  1 -
>  6 files changed, 12 insertions(+), 56 deletions(-)
>  delete mode 100644 package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch

Note that libsoup3 has a new API [1] (and ABI, therefore). Packages using
libsoup2 may not even compile with libsoup3, or may crash at runtime in
unexpected ways.

You will need followup patches to modify packages that depend on libsoup
to make them use libsoup2. For example in package/wpewebkit.mk we are
currently passing -DUSE_SOUP2=ON to CMake, which needs to be changed to
OFF.

Some packages may not even support yet building with libsoup3. Therefore
we may need to keep the libsoup2 package. This is possible, as both versions
are parallel-installable. But then there is one more issue: one cannot use
both libraries in the same process. Which means, for example, if wpewebkit
gets changed to use libsoup3, then GStreamer *also* needs to be changed
because both are used inside WebKit.

These are all reasons why I have not yet sent patches to do the switch.
Probably we want to discuss how to go ahead with the libsoup3 migration in
Buildroot.

Cheers,
—Adrián

---
[1] https://libsoup.org/libsoup-3.0/ch02.html
Thomas Devoogdt Jan. 28, 2022, 12:33 p.m. UTC | #2
Hello Adrián, all,

I tested indeed libsoup3 against webkitgtk 2.34.4 [1]. By dropping
-DUSE_SOUP2=ON
from your commit, I was able to build webkitgtk 2.34.4.

You are right, other packages will have to migrate as well,
e.g. a GStreamer bump to 1.19.3 is needed [2].

A quick search learns me that BR2_PACKAGE_LIBSOUP is/can be selected in/for:
 - BR2_PACKAGE_GMPC (no explicit support mentioned yet)
 - BR2_PACKAGE_GSSDP (support on master branch [3])
 - BR2_PACKAGE_GUPNP_TOOLS (no explicit support mentioned yet)
 - BR2_PACKAGE_GVFS (no explicit support mentioned yet)
 - BR2_PACKAGE_LIBOSTREE (no explicit support mentioned yet)
 - BR2_PACKAGE_MIDORI (no explicit support mentioned yet)
 - BR2_PACKAGE_WPEWEBKIT (no explicit support mentioned yet)

 - BR2_PACKAGE_GST1_PLUGINS_GOOD (starting from 1.19.3)
 - BR2_PACKAGE_GSTD (starting from 1.19.3)
 - BR2_PACKAGE_WEBKITGTK (starting from 2.34.4)

Kr,

Thomas Devoogdt

---
[1]
https://git.sr.ht/~aperezdc/buildroot/commit/5dc402d58659a35a30afd1de1a8fb8075034f3fc
[2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044
[3] https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/7


Op vr 28 jan. 2022 om 12:42 schreef Adrian Perez de Castro <
aperez@igalia.com>:

> Hello Thomas, all,
>
> On Fri, 28 Jan 2022 11:59:17 +0100 Thomas Devoogdt <
> thomas.devoogdt@gmail.com> wrote:
> > Drop upstreamed patch:
> >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
> >
> > The gnome option was dropped in:
> >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
> >
> > A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2
> backend):
> >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
> >
> > Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
> > ---
> >  Config.in.legacy                              |  6 +++
> >  .../0001-meson.build-set-c_std-to-gnu99.patch | 40 -------------------
> >  package/libsoup/Config.in                     |  6 +--
> >  package/libsoup/libsoup.hash                  |  4 +-
> >  package/libsoup/libsoup.mk                    | 11 ++---
> >  package/midori/Config.in                      |  1 -
> >  6 files changed, 12 insertions(+), 56 deletions(-)
> >  delete mode 100644
> package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
>
> Note that libsoup3 has a new API [1] (and ABI, therefore). Packages using
> libsoup2 may not even compile with libsoup3, or may crash at runtime in
> unexpected ways.
>
> You will need followup patches to modify packages that depend on libsoup
> to make them use libsoup2. For example in package/wpewebkit.mk we are
> currently passing -DUSE_SOUP2=ON to CMake, which needs to be changed to
> OFF.
>
> Some packages may not even support yet building with libsoup3. Therefore
> we may need to keep the libsoup2 package. This is possible, as both
> versions
> are parallel-installable. But then there is one more issue: one cannot use
> both libraries in the same process. Which means, for example, if wpewebkit
> gets changed to use libsoup3, then GStreamer *also* needs to be changed
> because both are used inside WebKit.
>
> These are all reasons why I have not yet sent patches to do the switch.
> Probably we want to discuss how to go ahead with the libsoup3 migration in
> Buildroot.
>
> Cheers,
> —Adrián
>
> ---
> [1] https://libsoup.org/libsoup-3.0/ch02.html
>
Adrian Perez de Castro Jan. 28, 2022, 2:13 p.m. UTC | #3
Hello Thomas, all,

On Fri, 28 Jan 2022 13:33:32 +0100 Thomas Devoogdt <thomas.devoogdt@gmail.com> wrote:
> Hello Adrián, all,
> 
> I tested indeed libsoup3 against webkitgtk 2.34.4 [1]. By dropping
> -DUSE_SOUP2=ON
> from your commit, I was able to build webkitgtk 2.34.4.
> 
> You are right, other packages will have to migrate as well,
> e.g. a GStreamer bump to 1.19.3 is needed [2].
> 
> A quick search learns me that BR2_PACKAGE_LIBSOUP is/can be selected in/for:
>  - BR2_PACKAGE_GMPC (no explicit support mentioned yet)
>  - BR2_PACKAGE_GSSDP (support on master branch [3])
>  - BR2_PACKAGE_GUPNP_TOOLS (no explicit support mentioned yet)
>  - BR2_PACKAGE_GVFS (no explicit support mentioned yet)
>  - BR2_PACKAGE_LIBOSTREE (no explicit support mentioned yet)
>  - BR2_PACKAGE_MIDORI (no explicit support mentioned yet)
>  - BR2_PACKAGE_WPEWEBKIT (no explicit support mentioned yet)
> 
>  - BR2_PACKAGE_GST1_PLUGINS_GOOD (starting from 1.19.3)
>  - BR2_PACKAGE_GSTD (starting from 1.19.3)
>  - BR2_PACKAGE_WEBKITGTK (starting from 2.34.4)

There is a tracking table for the libsoup3 migration that one of my work mates
has been maintaining up to date; you can find it here:

  https://gitlab.gnome.org/GNOME/libsoup/-/issues/218

For most of the packages from Buildroot that you listed there are patches
filed to their corresponding upstreams. 

The way I see it, there are three possible ways for a migration:

- Keep both libsoup2 and libsoup3 in the tree, migrate packages to libsoup3
  where possible and where we do not see conflicts (like loading both versions
  in the same process) likely to happen.

- Replace libsoup2 with libsoup3 *now*, import patches into the Buildroot tree
  for the packages which do not yet have releases compatible with libsoup3.

- Replace libsoup2 with libsoup3 *later*, once all upstreams of packages
  present in Buildroot put out releases that work with libsoup3.

Personally I tend to think the last option is likely to be the best, to avoid
confusions and the possibility that people who use Buildroot as basis for
their work get into nasty situations due to both libsoup2 and libsoup3 being
available.

Opinions?

> ---
> [1]
> https://git.sr.ht/~aperezdc/buildroot/commit/5dc402d58659a35a30afd1de1a8fb8075034f3fc
> [2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044
> [3] https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/7
> 
> 
> Op vr 28 jan. 2022 om 12:42 schreef Adrian Perez de Castro <
> aperez@igalia.com>:
> 
> > Hello Thomas, all,
> >
> > On Fri, 28 Jan 2022 11:59:17 +0100 Thomas Devoogdt <
> > thomas.devoogdt@gmail.com> wrote:
> > > Drop upstreamed patch:
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
> > >
> > > The gnome option was dropped in:
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
> > >
> > > A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2
> > backend):
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
> > >
> > > Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
> > > ---
> > >  Config.in.legacy                              |  6 +++
> > >  .../0001-meson.build-set-c_std-to-gnu99.patch | 40 -------------------
> > >  package/libsoup/Config.in                     |  6 +--
> > >  package/libsoup/libsoup.hash                  |  4 +-
> > >  package/libsoup/libsoup.mk                    | 11 ++---
> > >  package/midori/Config.in                      |  1 -
> > >  6 files changed, 12 insertions(+), 56 deletions(-)
> > >  delete mode 100644
> > package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
> >
> > Note that libsoup3 has a new API [1] (and ABI, therefore). Packages using
> > libsoup2 may not even compile with libsoup3, or may crash at runtime in
> > unexpected ways.
> >
> > You will need followup patches to modify packages that depend on libsoup
> > to make them use libsoup2. For example in package/wpewebkit.mk we are
> > currently passing -DUSE_SOUP2=ON to CMake, which needs to be changed to
> > OFF.
> >
> > Some packages may not even support yet building with libsoup3. Therefore
> > we may need to keep the libsoup2 package. This is possible, as both
> > versions
> > are parallel-installable. But then there is one more issue: one cannot use
> > both libraries in the same process. Which means, for example, if wpewebkit
> > gets changed to use libsoup3, then GStreamer *also* needs to be changed
> > because both are used inside WebKit.
> >
> > These are all reasons why I have not yet sent patches to do the switch.
> > Probably we want to discuss how to go ahead with the libsoup3 migration in
> > Buildroot.
> >
> > Cheers,
> > —Adrián
> >
> > ---
> > [1] https://libsoup.org/libsoup-3.0/ch02.html
> >

Cheers,
—Adrián
Thomas Devoogdt Jan. 28, 2022, 5:23 p.m. UTC | #4
Hello Adrián, all,

Over time, we might have to support both versions anyway,
since not all packages will migrate that quickly.

If we go for option 1, then we can do it as follows:
Introducing a flag called BR2_PACKAGE_LIBSOUP_3.
The flag should have a life-cycle of 3 stages:

1. The newly introduced flag should default to 'false'.
   All packages which don't support libsoup3 support
   can add a 'depend on !BR2_PACKAGE_LIBSOUP_3' mark.

2. Over time, we can set the default to 'true', but keep
   the possibility to use libsoup2 for packages that still
   lack libsoup3 support.

3. Mark the BR2_PACKAGE_LIBSOUP_3 as legacy.

The main advantage of this strategy is that people can start using libsoup3.
The Disadvantage is that the new flag has to be maintained for a while.

Kr,

Thomas

Op vr 28 jan. 2022 om 15:13 schreef Adrian Perez de Castro <
aperez@igalia.com>:

> Hello Thomas, all,
>
> On Fri, 28 Jan 2022 13:33:32 +0100 Thomas Devoogdt <
> thomas.devoogdt@gmail.com> wrote:
> > Hello Adrián, all,
> >
> > I tested indeed libsoup3 against webkitgtk 2.34.4 [1]. By dropping
> > -DUSE_SOUP2=ON
> > from your commit, I was able to build webkitgtk 2.34.4.
> >
> > You are right, other packages will have to migrate as well,
> > e.g. a GStreamer bump to 1.19.3 is needed [2].
> >
> > A quick search learns me that BR2_PACKAGE_LIBSOUP is/can be selected
> in/for:
> >  - BR2_PACKAGE_GMPC (no explicit support mentioned yet)
> >  - BR2_PACKAGE_GSSDP (support on master branch [3])
> >  - BR2_PACKAGE_GUPNP_TOOLS (no explicit support mentioned yet)
> >  - BR2_PACKAGE_GVFS (no explicit support mentioned yet)
> >  - BR2_PACKAGE_LIBOSTREE (no explicit support mentioned yet)
> >  - BR2_PACKAGE_MIDORI (no explicit support mentioned yet)
> >  - BR2_PACKAGE_WPEWEBKIT (no explicit support mentioned yet)
> >
> >  - BR2_PACKAGE_GST1_PLUGINS_GOOD (starting from 1.19.3)
> >  - BR2_PACKAGE_GSTD (starting from 1.19.3)
> >  - BR2_PACKAGE_WEBKITGTK (starting from 2.34.4)
>
> There is a tracking table for the libsoup3 migration that one of my work
> mates
> has been maintaining up to date; you can find it here:
>
>   https://gitlab.gnome.org/GNOME/libsoup/-/issues/218
>
> For most of the packages from Buildroot that you listed there are patches
> filed to their corresponding upstreams.
>
> The way I see it, there are three possible ways for a migration:
>
> - Keep both libsoup2 and libsoup3 in the tree, migrate packages to libsoup3
>   where possible and where we do not see conflicts (like loading both
> versions
>   in the same process) likely to happen.
>
> - Replace libsoup2 with libsoup3 *now*, import patches into the Buildroot
> tree
>   for the packages which do not yet have releases compatible with libsoup3.
>
> - Replace libsoup2 with libsoup3 *later*, once all upstreams of packages
>   present in Buildroot put out releases that work with libsoup3.
>
> Personally I tend to think the last option is likely to be the best, to
> avoid
> confusions and the possibility that people who use Buildroot as basis for
> their work get into nasty situations due to both libsoup2 and libsoup3
> being
> available.
>
> Opinions?
>
> > ---
> > [1]
> >
> https://git.sr.ht/~aperezdc/buildroot/commit/5dc402d58659a35a30afd1de1a8fb8075034f3fc
> > [2]
> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044
> > [3] https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/7
> >
> >
> > Op vr 28 jan. 2022 om 12:42 schreef Adrian Perez de Castro <
> > aperez@igalia.com>:
> >
> > > Hello Thomas, all,
> > >
> > > On Fri, 28 Jan 2022 11:59:17 +0100 Thomas Devoogdt <
> > > thomas.devoogdt@gmail.com> wrote:
> > > > Drop upstreamed patch:
> > > >
> > >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
> > > >
> > > > The gnome option was dropped in:
> > > >
> > >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
> > > >
> > > > A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2
> > > backend):
> > > >
> > >
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
> > > >
> > > > Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
> > > > ---
> > > >  Config.in.legacy                              |  6 +++
> > > >  .../0001-meson.build-set-c_std-to-gnu99.patch | 40
> -------------------
> > > >  package/libsoup/Config.in                     |  6 +--
> > > >  package/libsoup/libsoup.hash                  |  4 +-
> > > >  package/libsoup/libsoup.mk                    | 11 ++---
> > > >  package/midori/Config.in                      |  1 -
> > > >  6 files changed, 12 insertions(+), 56 deletions(-)
> > > >  delete mode 100644
> > > package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
> > >
> > > Note that libsoup3 has a new API [1] (and ABI, therefore). Packages
> using
> > > libsoup2 may not even compile with libsoup3, or may crash at runtime in
> > > unexpected ways.
> > >
> > > You will need followup patches to modify packages that depend on
> libsoup
> > > to make them use libsoup2. For example in package/wpewebkit.mk we are
> > > currently passing -DUSE_SOUP2=ON to CMake, which needs to be changed to
> > > OFF.
> > >
> > > Some packages may not even support yet building with libsoup3.
> Therefore
> > > we may need to keep the libsoup2 package. This is possible, as both
> > > versions
> > > are parallel-installable. But then there is one more issue: one cannot
> use
> > > both libraries in the same process. Which means, for example, if
> wpewebkit
> > > gets changed to use libsoup3, then GStreamer *also* needs to be changed
> > > because both are used inside WebKit.
> > >
> > > These are all reasons why I have not yet sent patches to do the switch.
> > > Probably we want to discuss how to go ahead with the libsoup3
> migration in
> > > Buildroot.
> > >
> > > Cheers,
> > > —Adrián
> > >
> > > ---
> > > [1] https://libsoup.org/libsoup-3.0/ch02.html
> > >
>
> Cheers,
> —Adrián
>
Peter Korsgaard Jan. 28, 2022, 6:25 p.m. UTC | #5
>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

Hi,

 > There is a tracking table for the libsoup3 migration that one of my work mates
 > has been maintaining up to date; you can find it here:

 >   https://gitlab.gnome.org/GNOME/libsoup/-/issues/218

 > For most of the packages from Buildroot that you listed there are patches
 > filed to their corresponding upstreams. 

Thanks, that is helpful!

 > The way I see it, there are three possible ways for a migration:

 > - Keep both libsoup2 and libsoup3 in the tree, migrate packages to libsoup3
 >   where possible and where we do not see conflicts (like loading both versions
 >   in the same process) likely to happen.

 > - Replace libsoup2 with libsoup3 *now*, import patches into the Buildroot tree
 >   for the packages which do not yet have releases compatible with libsoup3.

 > - Replace libsoup2 with libsoup3 *later*, once all upstreams of packages
 >   present in Buildroot put out releases that work with libsoup3.

 > Personally I tend to think the last option is likely to be the best, to avoid
 > confusions and the possibility that people who use Buildroot as basis for
 > their work get into nasty situations due to both libsoup2 and libsoup3 being
 > available.

We don't want to maintain any more patches than needed, so option 2
isn't very nice. The question about having both v2 and v3 in the tree at
the same time probably depends on how long v2 will be supported
upstream, how fast applications will be migrate to v3 and how fast they
will drop their v2 support - E.G. we still want to be able to pull in
security fixes to any packages using libsoup during the 2022.02.x
support period.

We typically don't go as far as detecting any possible runtime issues
from package combinations in Kconfig, and it looks like libsoup v2
recently gained some support for detecting an already loaded v3, so
perhaps that is good enough?

https://www.mail-archive.com/ftp-release-list@gnome.org/msg32190.html
diff mbox series

Patch

diff --git a/Config.in.legacy b/Config.in.legacy
index 62717463df..d1fa68f894 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,12 @@  endif
 
 comment "Legacy options removed in 2022.02"
 
+config BR2_PACKAGE_LIBSOUP_GNOME
+	bool "libsoup-gnome support was removed"
+	select BR2_LEGACY
+	help
+	  Build libsoup-gnome library.
+
 config BR2_PACKAGE_RPI_BT_FIRMWARE
 	bool "rpi-bt-firmware package was renamed"
 	depends on BR2_arm || BR2_aarch64
diff --git a/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch b/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
deleted file mode 100644
index f2e8f7701d..0000000000
--- a/package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
+++ /dev/null
@@ -1,40 +0,0 @@ 
-From 5c3d431bdb094c59997f2a23e31e83f815ab667c Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Thu, 1 Jul 2021 22:09:23 +0200
-Subject: [PATCH] meson.build: set c_std to gnu99
-
-Set c_std to gnu99 to avoid the following build failure with gcc 4.8:
-
-In file included from /tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/resolv.h:65:0,
-                 from /tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/glib-2.0/gio/gnetworking.h:40,
-                 from ../libsoup/soup-address.c:14:
-/tmp/instance-0/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/arpa/nameser.h:115:2: error: unknown type name 'u_char'
-  const u_char *_msg, *_eom;
-  ^
-
-Fixes:
- - http://autobuild.buildroot.org/results/56b9cb987e25b99d6fed16c537552f47c3376f21
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status:
-https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/241]
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 4dfd8c15..a5ebc63a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2,6 +2,6 @@ project('libsoup', 'c',
-         version: '2.74.0',
-         meson_version : '>= 0.50',
-         license : 'LGPL2',
--        default_options : 'c_std=c99')
-+        default_options : 'c_std=gnu99')
- 
- gnome = import('gnome')
- 
--- 
-2.30.2
-
diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index 02e8e8b578..c98c61a31e 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -3,6 +3,7 @@  config BR2_PACKAGE_LIBSOUP
 	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
@@ -16,11 +17,6 @@  config BR2_PACKAGE_LIBSOUP
 
 if BR2_PACKAGE_LIBSOUP
 
-config BR2_PACKAGE_LIBSOUP_GNOME
-	bool "libsoup-gnome"
-	help
-	  Build libsoup-gnome library.
-
 config BR2_PACKAGE_LIBSOUP_SSL
 	bool "https support"
 	depends on !BR2_STATIC_LIBS # glib-networking, gnutls
diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash
index 95c1c26eb4..00591fc0ad 100644
--- a/package/libsoup/libsoup.hash
+++ b/package/libsoup/libsoup.hash
@@ -1,4 +1,4 @@ 
-# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/2.74/libsoup-2.74.0.sha256sum
-sha256  33b1d4e0d639456c675c227877e94a8078d731233e2d57689c11abcef7d3c48e  libsoup-2.74.0.tar.xz
+# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/3.0/libsoup-3.0.4.sha256sum
+sha256  5bd38b5e091f707fd7fa3ed7c37aacca3f8e16c65787f1cc17dc38d1dcde567b  libsoup-3.0.4.tar.xz
 # Locally calculated
 sha256  b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c  COPYING
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 1a26714992..ce40a7dabf 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -4,8 +4,8 @@ 
 #
 ################################################################################
 
-LIBSOUP_VERSION_MAJOR = 2.74
-LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).0
+LIBSOUP_VERSION_MAJOR = 3.0
+LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).4
 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+
@@ -16,6 +16,7 @@  LIBSOUP_DEPENDENCIES = \
 	host-intltool \
 	host-libglib2 \
 	host-pkgconf \
+	nghttp2 \
 	libglib2 \
 	libpsl \
 	libxml2 \
@@ -55,10 +56,4 @@  else
 LIBSOUP_CONF_OPTS += -Dgssapi=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_LIBSOUP_GNOME),y)
-LIBSOUP_CONF_OPTS += -Dgnome=true
-else
-LIBSOUP_CONF_OPTS += -Dgnome=false
-endif
-
 $(eval $(meson-package))
diff --git a/package/midori/Config.in b/package/midori/Config.in
index d98d7cb161..715295e5a6 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -41,7 +41,6 @@  config BR2_PACKAGE_MIDORI
 	select BR2_PACKAGE_LIBPEAS
 	select BR2_PACKAGE_LIBPEAS_WIDGETS
 	select BR2_PACKAGE_LIBSOUP
-	select BR2_PACKAGE_LIBSOUP_GNOME
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_PYTHON3 # gobject-introspection
 	select BR2_PACKAGE_SQLITE