diff options
Diffstat (limited to 'meta/recipes-support/libsoup')
4 files changed, 162 insertions, 35 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 @@ +From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 22 Nov 2023 18:49:10 -0800 +Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17 + +Fixes build errors about missing function prototypes with clang-17 + +Fixes +| ../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 + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libsoup/soup-xmlrpc-old.c | 1 + + libsoup/soup-xmlrpc.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c +index c57086b6..527e3b23 100644 +--- a/libsoup/soup-xmlrpc-old.c ++++ b/libsoup/soup-xmlrpc-old.c +@@ -11,6 +11,7 @@ + + #include <string.h> + ++#include <libxml/parser.h> + #include <libxml/tree.h> + + #include "soup-xmlrpc-old.h" +diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c +index 42dcda9c..e991cbf0 100644 +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -17,6 +17,7 @@ + + #include <string.h> + #include <errno.h> ++#include <libxml/parser.h> + #include <libxml/tree.h> + #include "soup-xmlrpc.h" + #include "soup.h" +-- +2.43.0 + diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.60.2.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.60.2.bb deleted file mode 100644 index abc7bdbc6d..0000000000 --- a/meta/recipes-support/libsoup/libsoup-2.4_2.60.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "An HTTP library implementation in C" -HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome/libs" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" - -SRC_URI[md5sum] = "9c49831b62c4bf18cdb81c86ac6516fd" -SRC_URI[sha256sum] = "7263cfe18872e2e652c196f5667e514616d9c97c861dfca82a65a55f45f0da01" - -S = "${WORKDIR}/libsoup-${PV}" - -inherit autotools gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc - -# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. -PACKAGECONFIG ??= "" -PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome" -PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5" - -EXTRA_OECONF = "--disable-vala" - -# When built without gnome support, libsoup-2.4 will contain only one shared lib -# and will therefore become subject to renaming by debian.bbclass. Prevent -# renaming in order to keep the package name consistent regardless of whether -# gnome support is enabled or disabled. -DEBIAN_NOAUTONAME_${PN} = "1" - -# glib-networking is needed for SSL, proxies, etc. -RRECOMMENDS_${PN} = "glib-networking" diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb new file mode 100644 index 0000000000..ee20530b64 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb @@ -0,0 +1,59 @@ +SUMMARY = "An HTTP library implementation in C" +DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \ +and the glib main loop, to integrate well with GNOME applications." +HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome/libs" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ + file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch" +SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" + +CVE_PRODUCT = "libsoup" + +S = "${WORKDIR}/libsoup-${PV}" + +inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc + +UPSTREAM_CHECK_REGEX = "libsoup-(?P<pver>2(\.(?!99)\d+)+)\.tar" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG ??= "" +PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" +# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards +PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" +PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" +PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" +PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" + +# Tell libsoup where the target ntlm_auth is installed +do_write_config:append:class-target() { + cat >${WORKDIR}/soup.cross <<EOF +[binaries] +ntlm_auth = '${bindir}/ntlm_auth' +EOF +} +EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" + +EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false" + +GTKDOC_MESON_OPTION = "gtk_doc" + +# When built without gnome support, libsoup-2.4 will contain only one shared lib +# and will therefore become subject to renaming by debian.bbclass. Prevent +# renaming in order to keep the package name consistent regardless of whether +# gnome support is enabled or disabled. +DEBIAN_NOAUTONAME:${PN} = "1" + +# glib-networking is needed for SSL, proxies, etc. +RRECOMMENDS:${PN} = "glib-networking" + +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 @@ +SUMMARY = "An HTTP library implementation in C" +DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \ +and the glib main loop, to integrate well with GNOME applications." +HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome/libs" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl nghttp2" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" +SRC_URI[sha256sum] = "291c67725f36ed90ea43efff25064b69c5a2d1981488477c05c481a3b4b0c5aa" + +PROVIDES = "libsoup-3.0" +CVE_PRODUCT = "libsoup" + +S = "${WORKDIR}/libsoup-${PV}" + +inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG ??= "" +PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" +PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" +PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" +PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" + +# Tell libsoup where the target ntlm_auth is installed +do_write_config:append:class-target() { + cat >${WORKDIR}/soup.cross <<EOF +[binaries] +ntlm_auth = '${bindir}/ntlm_auth' +EOF +} +EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" + +EXTRA_OEMESON += "-Dtls_check=false" +# Disable the test suites +EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled" + +GIDOCGEN_MESON_OPTION = 'docs' +GIDOCGEN_MESON_ENABLE_FLAG = 'enabled' +GIDOCGEN_MESON_DISABLE_FLAG = 'disabled' + +# When built without gnome support, libsoup will contain only one shared lib +# and will therefore become subject to renaming by debian.bbclass. Prevent +# renaming in order to keep the package name consistent regardless of whether +# gnome support is enabled or disabled. +DEBIAN_NOAUTONAME:${PN} = "1" + +# glib-networking is needed for SSL, proxies, etc. +RRECOMMENDS:${PN} = "glib-networking" + +BBCLASSEXTEND = "native nativesdk" |