diff options
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.patch | 44 | ||||
-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.bb | 59 |
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 @@ | |||
1 | From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 22 Nov 2023 18:49:10 -0800 | ||
4 | Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17 | ||
5 | |||
6 | Fixes build errors about missing function prototypes with clang-17 | ||
7 | |||
8 | Fixes | ||
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 | |||
11 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385] | ||
12 | Signed-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 | |||
18 | diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c | ||
19 | index 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" | ||
30 | diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c | ||
31 | index 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 | -- | ||
43 | 2.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 @@ | |||
1 | SUMMARY = "An HTTP library implementation in C" | 1 | SUMMARY = "An HTTP library implementation in C" |
2 | DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \ | ||
3 | and the glib main loop, to integrate well with GNOME applications." | ||
2 | HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" | 4 | HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" |
3 | BUGTRACKER = "https://bugzilla.gnome.org/" | 5 | BUGTRACKER = "https://bugzilla.gnome.org/" |
4 | SECTION = "x11/gnome/libs" | 6 | SECTION = "x11/gnome/libs" |
5 | LICENSE = "LGPLv2" | 7 | LICENSE = "LGPL-2.0-only" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" |
7 | 9 | ||
8 | DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" | 10 | DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl" |
9 | 11 | ||
10 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" | 12 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" |
11 | 13 | ||
12 | SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" | 14 | SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ |
13 | SRC_URI[sha256sum] = "170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387" | 15 | file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch" |
16 | SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" | ||
14 | 17 | ||
15 | CVE_PRODUCT = "libsoup" | 18 | CVE_PRODUCT = "libsoup" |
16 | 19 | ||
@@ -18,15 +21,29 @@ S = "${WORKDIR}/libsoup-${PV}" | |||
18 | 21 | ||
19 | inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc | 22 | inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc |
20 | 23 | ||
24 | UPSTREAM_CHECK_REGEX = "libsoup-(?P<pver>2(\.(?!99)\d+)+)\.tar" | ||
25 | |||
21 | GIR_MESON_ENABLE_FLAG = 'enabled' | 26 | GIR_MESON_ENABLE_FLAG = 'enabled' |
22 | GIR_MESON_DISABLE_FLAG = 'disabled' | 27 | GIR_MESON_DISABLE_FLAG = 'disabled' |
23 | 28 | ||
24 | # libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. | ||
25 | PACKAGECONFIG ??= "" | 29 | PACKAGECONFIG ??= "" |
30 | PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" | ||
31 | # libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards | ||
26 | PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" | 32 | PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" |
27 | PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" | 33 | PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" |
34 | PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" | ||
35 | PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" | ||
36 | |||
37 | # Tell libsoup where the target ntlm_auth is installed | ||
38 | do_write_config:append:class-target() { | ||
39 | cat >${WORKDIR}/soup.cross <<EOF | ||
40 | [binaries] | ||
41 | ntlm_auth = '${bindir}/ntlm_auth' | ||
42 | EOF | ||
43 | } | ||
44 | EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" | ||
28 | 45 | ||
29 | EXTRA_OEMESON_append = " -Dvapi=disabled -Dtls_check=false" | 46 | EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false" |
30 | 47 | ||
31 | GTKDOC_MESON_OPTION = "gtk_doc" | 48 | GTKDOC_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. |
37 | DEBIAN_NOAUTONAME_${PN} = "1" | 54 | DEBIAN_NOAUTONAME:${PN} = "1" |
38 | 55 | ||
39 | # glib-networking is needed for SSL, proxies, etc. | 56 | # glib-networking is needed for SSL, proxies, etc. |
40 | RRECOMMENDS_${PN} = "glib-networking" | 57 | RRECOMMENDS:${PN} = "glib-networking" |
41 | 58 | ||
42 | BBCLASSEXTEND = "native nativesdk" | 59 | BBCLASSEXTEND = "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 @@ | |||
1 | SUMMARY = "An HTTP library implementation in C" | ||
2 | DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \ | ||
3 | and the glib main loop, to integrate well with GNOME applications." | ||
4 | HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" | ||
5 | BUGTRACKER = "https://bugzilla.gnome.org/" | ||
6 | SECTION = "x11/gnome/libs" | ||
7 | LICENSE = "LGPL-2.0-only" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
9 | |||
10 | DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl nghttp2" | ||
11 | |||
12 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" | ||
13 | |||
14 | SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" | ||
15 | SRC_URI[sha256sum] = "291c67725f36ed90ea43efff25064b69c5a2d1981488477c05c481a3b4b0c5aa" | ||
16 | |||
17 | PROVIDES = "libsoup-3.0" | ||
18 | CVE_PRODUCT = "libsoup" | ||
19 | |||
20 | S = "${WORKDIR}/libsoup-${PV}" | ||
21 | |||
22 | inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala | ||
23 | |||
24 | GIR_MESON_ENABLE_FLAG = 'enabled' | ||
25 | GIR_MESON_DISABLE_FLAG = 'disabled' | ||
26 | |||
27 | PACKAGECONFIG ??= "" | ||
28 | PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" | ||
29 | PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" | ||
30 | PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" | ||
31 | PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" | ||
32 | |||
33 | # Tell libsoup where the target ntlm_auth is installed | ||
34 | do_write_config:append:class-target() { | ||
35 | cat >${WORKDIR}/soup.cross <<EOF | ||
36 | [binaries] | ||
37 | ntlm_auth = '${bindir}/ntlm_auth' | ||
38 | EOF | ||
39 | } | ||
40 | EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" | ||
41 | |||
42 | EXTRA_OEMESON += "-Dtls_check=false" | ||
43 | # Disable the test suites | ||
44 | EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled" | ||
45 | |||
46 | GIDOCGEN_MESON_OPTION = 'docs' | ||
47 | GIDOCGEN_MESON_ENABLE_FLAG = 'enabled' | ||
48 | GIDOCGEN_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. | ||
54 | DEBIAN_NOAUTONAME:${PN} = "1" | ||
55 | |||
56 | # glib-networking is needed for SSL, proxies, etc. | ||
57 | RRECOMMENDS:${PN} = "glib-networking" | ||
58 | |||
59 | BBCLASSEXTEND = "native nativesdk" | ||