diff --git a/net-libs/libsoup/Manifest b/net-libs/libsoup/Manifest new file mode 100644 index 0000000..9eee65b --- /dev/null +++ b/net-libs/libsoup/Manifest @@ -0,0 +1 @@ +DIST libsoup-3.6.5.tar.xz 1568404 BLAKE2B 525bb92614b4ce39405ca29fd960c181f86ff555361cfd231fa36c7eef3342b0b79742d382906605a44e021a943da2d6d41de9f51c3ec247ec19618a59c8cbb7 SHA512 cb44d93b16048d31ae04a8c2416bbe233e0e9bdaf2d9bfe2879260fd3da27e90a0bb05cddbd82cdf81a4a778bd451ad172a14dd31e2fd113c3bbbe13c0029b03 diff --git a/net-libs/libsoup/files/disable-apache-tests.patch b/net-libs/libsoup/files/disable-apache-tests.patch new file mode 100644 index 0000000..e5e2c9c --- /dev/null +++ b/net-libs/libsoup/files/disable-apache-tests.patch @@ -0,0 +1,35 @@ +See also: https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/119 + +From 6c9bbf0d91688e831f8f19232e18619bfc57e12e Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Fri, 23 Aug 2019 21:11:57 +0300 +Subject: [PATCH] meson: Force disable apache/php using tests for now + +We had them disabled in autotools with a sed. Keep them disabled for now +in meson port as well. Should be revisited at some point. +--- + meson.build | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index 89837c15..f0e34cb0 100644 +--- a/meson.build ++++ b/meson.build +@@ -162,12 +162,9 @@ endif + # + # The summary is that for the configuration parsing we will use the apachectl, + # but for running the tests we will use the httpd binary. +-apachectl = find_program('apachectl', '/sbin/apachectl', '/usr/sbin/apachectl', required : false) ++apachectl = disabler() + # This abomination is a result of https://github.com/mesonbuild/meson/issues/1576 +-apache_httpd2 = find_program('httpd2', 'httpd', 'apache2', 'apache', +- '/sbin/httpd2', '/sbin/httpd', '/sbin/apache2', '/sbin/apache', +- '/usr/sbin/httpd2', '/usr/sbin/httpd', '/usr/sbin/apache2', '/usr/sbin/apache', +- required : false) ++apache_httpd2 = disabler() + have_apache=false + apache_httpd2_version = '' + if apache_httpd2.found() and apachectl.found() +-- +2.20.1 + diff --git a/net-libs/libsoup/files/libxml2-2.12.patch b/net-libs/libsoup/files/libxml2-2.12.patch new file mode 100644 index 0000000..3190eeb --- /dev/null +++ b/net-libs/libsoup/files/libxml2-2.12.patch @@ -0,0 +1,36 @@ +https://bugs.gentoo.org/917556 +https://gitlab.gnome.org/GNOME/libsoup/-/commit/ced3c5d8cad0177b297666343f1561799dfefb0d + +From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001 +From: Khem Raj +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 + +Signed-off-by: Khem Raj +--- a/libsoup/soup-xmlrpc-old.c ++++ b/libsoup/soup-xmlrpc-old.c +@@ -11,6 +11,7 @@ + + #include + ++#include + #include + + #include "soup-xmlrpc-old.h" +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -17,6 +17,7 @@ + + #include + #include ++#include + #include + #include "soup-xmlrpc.h" + #include "soup.h" +-- +GitLab diff --git a/net-libs/libsoup/libsoup-3.6.5.ebuild b/net-libs/libsoup/libsoup-3.6.5.ebuild new file mode 100644 index 0000000..4009174 --- /dev/null +++ b/net-libs/libsoup/libsoup-3.6.5.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org meson-multilib vala xdg + +DESCRIPTION="HTTP client/server library for GNOME" +HOMEPAGE="https://wiki.gnome.org/Projects/libsoup" + +LICENSE="LGPL-2.1+" +SLOT="3.0" + +IUSE="+brotli gssapi gtk-doc +introspection samba ssl sysprof test +vala" +RESTRICT="!test? ( test )" +REQUIRED_USE="vala? ( introspection )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +DEPEND=" + >=dev-libs/glib-2.69.1:2[${MULTILIB_USEDEP}] + net-libs/nghttp2:=[${MULTILIB_USEDEP}] + >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] + brotli? ( >=app-arch/brotli-1.0.6-r1:=[${MULTILIB_USEDEP}] ) + >=net-libs/libpsl-0.20[${MULTILIB_USEDEP}] + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] ) + sys-libs/zlib + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) + samba? ( net-fs/samba ) +" +RDEPEND="${DEPEND} + >=net-libs/glib-networking-2.70_alpha[ssl?,${MULTILIB_USEDEP}] +" +BDEPEND=" + dev-libs/glib + dev-util/glib-utils + gtk-doc? ( + >=dev-util/gi-docgen-2021.1 + app-text/docbook-xml-dtd:4.1.2 + ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + vala? ( $(vala_depend) ) + test? ( >=net-libs/gnutls-3.6.0[pkcs11] ) +" +# test? ( www-servers/apache[ssl,apache2_modules_auth_digest,apache2_modules_alias,apache2_modules_auth_basic, +# apache2_modules_authn_file,apache2_modules_authz_host,apache2_modules_authz_user,apache2_modules_dir, +# apache2_modules_mime,apache2_modules_proxy,apache2_modules_proxy_http,apache2_modules_proxy_connect] +# dev-lang/php[apache2,xmlrpc] +# net-misc/curl +# net-libs/glib-networking[ssl])" + +PATCHES=( + # Disable apache tests until they are usable on Gentoo, bug #326957 + "${FILESDIR}"/disable-apache-tests.patch +) + +src_prepare() { + default + use vala && vala_setup + xdg_environment_reset + # https://gitlab.gnome.org/GNOME/libsoup/issues/159 - could work with libnss-myhostname + sed -e '/hsts/d' -i tests/meson.build || die +} + +src_configure() { + # FIXME: we need addpredict to workaround bug #324779 until + # root cause (bug #249496) is solved + # But unnecessary while apache tests are disabled + #addpredict /usr/share/snmp/mibs/.index + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local emesonargs=( + # Avoid auto-magic, built-in feature of meson + -Dauto_features=enabled + + $(meson_feature gssapi) + -Dkrb5_config="${CHOST}-krb5-config" + $(meson_feature samba ntlm) + $(meson_feature brotli) + -Dntlm_auth="${EPREFIX}/usr/bin/ntlm_auth" + -Dtls_check=false # disables check, we still rdep on glib-networking + $(meson_native_use_feature introspection) + $(meson_native_use_feature vala vapi) + $(meson_native_use_feature gtk-doc docs) + -Ddoc_tests=false + $(meson_use test tests) + -Dautobahn=disabled + -Dinstalled_tests=false + $(meson_feature sysprof) + $(meson_feature test pkcs11_tests) + ) + meson_src_configure +} + +multilib_src_install_all() { + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/libsoup-3.0 "${ED}"/usr/share/gtk-doc/html/ || die + fi +}