Upgrade libsoup to 2.58.2.
BUG=chromium:900288
TEST=cros_sdk -- egencache --update --repo portage-stable --jobs 32
CQ-DEPEND=CL:1345316
Change-Id: I081e0e83762d46d0ee9614aad68b864745124e9e
Reviewed-on: https://chromium-review.googlesource.com/1351396
Commit-Ready: Tim Zheng <timzheng@chromium.org>
Tested-by: Tim Zheng <timzheng@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
diff --git a/net-libs/libsoup/Manifest b/net-libs/libsoup/Manifest
index 421efad..a49e9ab 100644
--- a/net-libs/libsoup/Manifest
+++ b/net-libs/libsoup/Manifest
@@ -1 +1 @@
-DIST libsoup-2.32.2.tar.bz2 668131 RMD160 641d52bfbb9772cf9e69f3050f59b42783851926 SHA1 d93cfbd8a44c8b8759c98bfc83d2e3a003973708 SHA256 96e6973c8b7459523c0f44e7aec69528ff2fbd388e8ddc415f91bcc42f50777f
+DIST libsoup-2.58.2.tar.xz 1815256 BLAKE2B 23c6e40f91a2dca13fcabe4fa3af7311874cbe06962c6cdc93d8d8d0a998d29cff9e7ce61190541b6114b4996d758b7c469b0354a6012856667e9541a78177cb SHA512 85af6fac87343bdd22312518402144d33916225f60d6fa158efdd84f7ee7ed1f9895989b3558f711c9aedc93cff35a4114ad79d6d2aa19c54cb326f162a4c7de
diff --git a/net-libs/libsoup/files/libsoup-2.30.1-fix-build-without-gnome-with-doc.patch b/net-libs/libsoup/files/libsoup-2.30.1-fix-build-without-gnome-with-doc.patch
deleted file mode 100644
index 2b5a39d..0000000
--- a/net-libs/libsoup/files/libsoup-2.30.1-fix-build-without-gnome-with-doc.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c8ff78e489ccf5becd1ae309222b7977510558e6 Mon Sep 17 00:00:00 2001
-From: Priit Laes <plaes@plaes.org>
-Date: Thu, 25 Feb 2010 20:59:51 +0200
-Subject: [PATCH] Split docs into libsoup and libsoup-gnome.
-
-Fixes Gentoo Bug 268592, patch adapted from upstream patch.
-
-Modified to apply to a release tarball (no libsoup-2.4-docs.sgml.in)
-Hence, to be applied ONLY when !gnome && doc
----
- docs/reference/Makefile.am | 5 ++++-
- docs/reference/libsoup-2.4-docs.sgml | 2 ++
- 2 files changed, 6 insertions(+), 1 deletions(-)
-
-diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
-index 64d3cf8..8b91b7f 100644
---- a/docs/reference/Makefile.am
-+++ b/docs/reference/Makefile.am
-@@ -38,6 +38,9 @@ IGNORE_HFILES= soup.h soup-marshal.h soup-enum-types.h \
- soup-proxy-resolver.h soup-proxy-resolver-gnome.h \
- soup-proxy-resolver-static.h
-
-+IGNORE_HFILES += soup-cookie-jar-sqlite.h \
-+ soup-gnome.h soup-gnome-features.h
-+
- # Images to copy into HTML directory.
- HTML_IMAGES =
-
-@@ -62,7 +65,7 @@ GTKDOC_CFLAGS = \
- $(GNUTLS_CFLAGS) \
- $(LIBPROXY_LIBS)
-
--GTKDOC_LIBS = $(top_builddir)/libsoup/libsoup-gnome-2.4.la
-+GTKDOC_LIBS = $(top_builddir)/libsoup/libsoup-2.4.la
-
- # include common portion ...
- include $(top_srcdir)/gtk-doc.make
-diff --git a/docs/reference/libsoup-2.4-docs.sgml b/docs/reference/libsoup-2.4-docs.sgml
-index 3cb3d11..707e525 100644
---- a/docs/reference/libsoup-2.4-docs.sgml
-+++ b/docs/reference/libsoup-2.4-docs.sgml
-@@ -52,11 +52,13 @@
- <xi:include href="xml/soup-value-utils.xml"/>
- </chapter>
-
-+<!--
- <chapter>
- <title>GNOME integration</title>
- <xi:include href="xml/soup-gnome-features.xml"/>
- <xi:include href="xml/soup-cookie-jar-sqlite.xml"/>
- </chapter>
-+-->
-
- <chapter>
- <title>Low-level Networking API</title>
---
-1.7.0
-
diff --git a/net-libs/libsoup/files/libsoup-2.58.2-sparc-unaligned.patch b/net-libs/libsoup/files/libsoup-2.58.2-sparc-unaligned.patch
new file mode 100644
index 0000000..d09d52c
--- /dev/null
+++ b/net-libs/libsoup/files/libsoup-2.58.2-sparc-unaligned.patch
@@ -0,0 +1,28 @@
+From c2aaac0083f58d285b8feb24f13fe347d7f726fe Mon Sep 17 00:00:00 2001
+From: Rolf Eike Beer <eike@sf-mail.de>
+Date: Sat, 17 Mar 2018 10:28:00 +0000
+Subject: [PATCH] WebSockets: Avoid unaligned memory access
+
+This is causing test failures in SPARC architectures.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=794421
+---
+ libsoup/soup-websocket-connection.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c
+index 0258a22c..35eee6a6 100644
+--- a/libsoup/soup-websocket-connection.c
++++ b/libsoup/soup-websocket-connection.c
+@@ -401,9 +401,10 @@ send_message (SoupWebsocketConnection *self,
+ * probably a client somewhere that's not expecting it.
+ */
+ if (self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_CLIENT) {
++ guint32 rnd = g_random_int ();
+ outer[1] |= 0x80;
+ mask = outer + bytes->len;
+- * ((guint32 *)mask) = g_random_int ();
++ memcpy (mask, &rnd, sizeof (rnd));
+ bytes->len += 4;
+ }
+
diff --git a/net-libs/libsoup/libsoup-2.32.2.ebuild b/net-libs/libsoup/libsoup-2.32.2.ebuild
deleted file mode 100644
index 6c0061b..0000000
--- a/net-libs/libsoup/libsoup-2.32.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libsoup/libsoup-2.32.2.ebuild,v 1.9 2011/04/15 16:18:32 darkside Exp $
-
-EAPI="3"
-GCONF_DEBUG="yes"
-
-inherit autotools eutils gnome2
-
-DESCRIPTION="An HTTP library implementation in C"
-HOMEPAGE="http://live.gnome.org/LibSoup"
-
-LICENSE="LGPL-2"
-SLOT="2.4"
-KEYWORDS="*"
-IUSE="debug doc +introspection ssl test"
-
-RDEPEND=">=dev-libs/glib-2.21.3
- >=dev-libs/libxml2-2
- introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
- ssl? ( >=net-libs/gnutls-2.1.7 )"
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.9
- >=dev-util/gtk-doc-am-1.10
- doc? ( >=dev-util/gtk-doc-1.10 )"
-# 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]
-# net-misc/curl )"
-
-pkg_setup() {
- # Set invalid apache module dir until apache tests are ready, bug #326957
- DOCS="AUTHORS NEWS README"
- G2CONF="${G2CONF}
- --disable-static
- --without-gnome
- --with-apache-module-dir="${T}"
- $(use_enable introspection)
- $(use_enable ssl)"
-}
-
-src_configure() {
- # FIXME: we need addpredict to workaround bug #324779 until
- # root cause (bug #249496) is solved
- addpredict /usr/share/snmp/mibs/.index
- gnome2_src_configure
-}
-
-src_prepare() {
- gnome2_src_prepare
-
- if ! use test; then
- # don't waste time building tests (bug #226271)
- sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
- || die "sed failed"
- fi
-
- # Patch *must* be applied conditionally (see patch for details)
- if use doc; then
- # Fix bug 268592 (upstream #573685) (build fails without gnome && doc)
- epatch "${FILESDIR}/${PN}-2.30.1-fix-build-without-gnome-with-doc.patch"
- eautoreconf
- fi
-}
diff --git a/net-libs/libsoup/libsoup-2.58.2.ebuild b/net-libs/libsoup/libsoup-2.58.2.ebuild
new file mode 100644
index 0000000..b47e88e
--- /dev/null
+++ b/net-libs/libsoup/libsoup-2.58.2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5,3_6} )
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 multilib-minimal python-any-r1 vala
+
+DESCRIPTION="An HTTP library implementation in C"
+HOMEPAGE="https://wiki.gnome.org/Projects/libsoup"
+
+LICENSE="LGPL-2+"
+SLOT="2.4"
+
+IUSE="debug gssapi +introspection samba ssl test vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="*"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}]
+ >=net-libs/glib-networking-2.38.2[ssl?,${MULTILIB_USEDEP}]
+ gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
+ samba? ( net-fs/samba )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.20
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ test? ( >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}] )
+ vala? ( $(vala_depend) )
+"
+# 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=(
+ # https://bugs.gentoo.org/630516
+ "${FILESDIR}/${PN}-2.58.2-sparc-unaligned.patch"
+)
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests (bug #226271)
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ # FIXME: workaround upstream not respecting --without-apache-httpd
+ sed -e '/check: start-httpd/d' \
+ -i tests/Makefile.am tests/Makefile.in || die
+
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # FIXME: we need addpredict to workaround bug #324779 until
+ # root cause (bug #249496) is solved
+ addpredict /usr/share/snmp/mibs/.index
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Disable apache tests until they are usable on Gentoo, bug #326957
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ --disable-static \
+ --disable-tls-check \
+ --without-gnome \
+ --without-apache-httpd \
+ $(usex debug --enable-debug=yes ' ') \
+ $(multilib_native_use_with gssapi) \
+ $(multilib_native_use_enable introspection) \
+ $(multilib_native_use_enable vala) \
+ $(use_with samba ntlm-auth '${EPREFIX}'/usr/bin/ntlm_auth)
+
+ if multilib_is_native_abi; then
+ # fix gtk-doc
+ ln -s "${S}"/docs/reference/html docs/reference/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/net-libs/libsoup/metadata.xml b/net-libs/libsoup/metadata.xml
index f96b3e3..b01383c 100644
--- a/net-libs/libsoup/metadata.xml
+++ b/net-libs/libsoup/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>gnome</herd>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
<use>
+ <flag name="gssapi">Enable GSSAPI support</flag>
<flag name="samba">Use <pkg>net-fs/samba</pkg> for NTLM Single
Sign-On</flag>
</use>