summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libsoup
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/libsoup')
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch44
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb (renamed from meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb)33
-rw-r--r--meta/recipes-support/libsoup/libsoup_3.4.4.bb59
3 files changed, 128 insertions, 8 deletions
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
new file mode 100644
index 0000000000..d867e5bc17
--- /dev/null
+++ b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
@@ -0,0 +1,44 @@
1From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 22 Nov 2023 18:49:10 -0800
4Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17
5
6Fixes build errors about missing function prototypes with clang-17
7
8Fixes
9| ../libsoup-2.74.3/libsoup/soup-xmlrpc-old.c:512:8: error: call to undeclared function 'xmlParseMemory'; ISO C99 and later do not support implicit function declarations
10
11Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 libsoup/soup-xmlrpc-old.c | 1 +
15 libsoup/soup-xmlrpc.c | 1 +
16 2 files changed, 2 insertions(+)
17
18diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c
19index c57086b6..527e3b23 100644
20--- a/libsoup/soup-xmlrpc-old.c
21+++ b/libsoup/soup-xmlrpc-old.c
22@@ -11,6 +11,7 @@
23
24 #include <string.h>
25
26+#include <libxml/parser.h>
27 #include <libxml/tree.h>
28
29 #include "soup-xmlrpc-old.h"
30diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c
31index 42dcda9c..e991cbf0 100644
32--- a/libsoup/soup-xmlrpc.c
33+++ b/libsoup/soup-xmlrpc.c
34@@ -17,6 +17,7 @@
35
36 #include <string.h>
37 #include <errno.h>
38+#include <libxml/parser.h>
39 #include <libxml/tree.h>
40 #include "soup-xmlrpc.h"
41 #include "soup.h"
42--
432.43.0
44
diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
index d0bc019616..ee20530b64 100644
--- a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
+++ b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
@@ -1,16 +1,19 @@
1SUMMARY = "An HTTP library implementation in C" 1SUMMARY = "An HTTP library implementation in C"
2DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \
3and the glib main loop, to integrate well with GNOME applications."
2HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" 4HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup"
3BUGTRACKER = "https://bugzilla.gnome.org/" 5BUGTRACKER = "https://bugzilla.gnome.org/"
4SECTION = "x11/gnome/libs" 6SECTION = "x11/gnome/libs"
5LICENSE = "LGPLv2" 7LICENSE = "LGPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" 8LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
7 9
8DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" 10DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl"
9 11
10SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" 12SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
11 13
12SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" 14SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
13SRC_URI[sha256sum] = "170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387" 15 file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch"
16SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13"
14 17
15CVE_PRODUCT = "libsoup" 18CVE_PRODUCT = "libsoup"
16 19
@@ -18,15 +21,29 @@ S = "${WORKDIR}/libsoup-${PV}"
18 21
19inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc 22inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
20 23
24UPSTREAM_CHECK_REGEX = "libsoup-(?P<pver>2(\.(?!99)\d+)+)\.tar"
25
21GIR_MESON_ENABLE_FLAG = 'enabled' 26GIR_MESON_ENABLE_FLAG = 'enabled'
22GIR_MESON_DISABLE_FLAG = 'disabled' 27GIR_MESON_DISABLE_FLAG = 'disabled'
23 28
24# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
25PACKAGECONFIG ??= "" 29PACKAGECONFIG ??= ""
30PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli"
31# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards
26PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" 32PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
27PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" 33PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
34PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled"
35PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof"
36
37# Tell libsoup where the target ntlm_auth is installed
38do_write_config:append:class-target() {
39 cat >${WORKDIR}/soup.cross <<EOF
40[binaries]
41ntlm_auth = '${bindir}/ntlm_auth'
42EOF
43}
44EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross"
28 45
29EXTRA_OEMESON_append = " -Dvapi=disabled -Dtls_check=false" 46EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false"
30 47
31GTKDOC_MESON_OPTION = "gtk_doc" 48GTKDOC_MESON_OPTION = "gtk_doc"
32 49
@@ -34,9 +51,9 @@ GTKDOC_MESON_OPTION = "gtk_doc"
34# and will therefore become subject to renaming by debian.bbclass. Prevent 51# and will therefore become subject to renaming by debian.bbclass. Prevent
35# renaming in order to keep the package name consistent regardless of whether 52# renaming in order to keep the package name consistent regardless of whether
36# gnome support is enabled or disabled. 53# gnome support is enabled or disabled.
37DEBIAN_NOAUTONAME_${PN} = "1" 54DEBIAN_NOAUTONAME:${PN} = "1"
38 55
39# glib-networking is needed for SSL, proxies, etc. 56# glib-networking is needed for SSL, proxies, etc.
40RRECOMMENDS_${PN} = "glib-networking" 57RRECOMMENDS:${PN} = "glib-networking"
41 58
42BBCLASSEXTEND = "native nativesdk" 59BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libsoup/libsoup_3.4.4.bb b/meta/recipes-support/libsoup/libsoup_3.4.4.bb
new file mode 100644
index 0000000000..6f7cac4cf8
--- /dev/null
+++ b/meta/recipes-support/libsoup/libsoup_3.4.4.bb
@@ -0,0 +1,59 @@
1SUMMARY = "An HTTP library implementation in C"
2DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \
3and the glib main loop, to integrate well with GNOME applications."
4HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup"
5BUGTRACKER = "https://bugzilla.gnome.org/"
6SECTION = "x11/gnome/libs"
7LICENSE = "LGPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
9
10DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl nghttp2"
11
12SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
13
14SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
15SRC_URI[sha256sum] = "291c67725f36ed90ea43efff25064b69c5a2d1981488477c05c481a3b4b0c5aa"
16
17PROVIDES = "libsoup-3.0"
18CVE_PRODUCT = "libsoup"
19
20S = "${WORKDIR}/libsoup-${PV}"
21
22inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala
23
24GIR_MESON_ENABLE_FLAG = 'enabled'
25GIR_MESON_DISABLE_FLAG = 'disabled'
26
27PACKAGECONFIG ??= ""
28PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli"
29PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
30PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled"
31PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof"
32
33# Tell libsoup where the target ntlm_auth is installed
34do_write_config:append:class-target() {
35 cat >${WORKDIR}/soup.cross <<EOF
36[binaries]
37ntlm_auth = '${bindir}/ntlm_auth'
38EOF
39}
40EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross"
41
42EXTRA_OEMESON += "-Dtls_check=false"
43# Disable the test suites
44EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled"
45
46GIDOCGEN_MESON_OPTION = 'docs'
47GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
48GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
49
50# When built without gnome support, libsoup will contain only one shared lib
51# and will therefore become subject to renaming by debian.bbclass. Prevent
52# renaming in order to keep the package name consistent regardless of whether
53# gnome support is enabled or disabled.
54DEBIAN_NOAUTONAME:${PN} = "1"
55
56# glib-networking is needed for SSL, proxies, etc.
57RRECOMMENDS:${PN} = "glib-networking"
58
59BBCLASSEXTEND = "native nativesdk"