commit:     bd6ee50aacb0fb9bd65ffd81e40e2266bf2b7b03
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 19 15:29:37 2018 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Mon Mar 19 15:29:37 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd6ee50a

net-misc/spice-gtk: Apply openssl11/libressl patches

Bug: https://bugs.gentoo.org/631250
Bug: https://bugs.gentoo.org/617764
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../spice-gtk/files/spice-gtk-0.34-libressl.patch  |  43 ++++++
 .../spice-gtk/files/spice-gtk-0.34-openssl11.patch |  16 +++
 net-misc/spice-gtk/spice-gtk-0.34-r3.ebuild        | 153 +++++++++++++++++++++
 3 files changed, 212 insertions(+)

diff --git a/net-misc/spice-gtk/files/spice-gtk-0.34-libressl.patch 
b/net-misc/spice-gtk/files/spice-gtk-0.34-libressl.patch
new file mode 100644
index 00000000000..e39efaee274
--- /dev/null
+++ b/net-misc/spice-gtk/files/spice-gtk-0.34-libressl.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/631250
+https://631250.bugs.gentoo.org/attachment.cgi?id=513720
+
+diff --git a/spice-common/common/ssl_verify.c 
b/spice-common/common/ssl_verify.c
+index a9ed650..821faa9 100644
+--- a/spice-common/common/ssl_verify.c
++++ b/spice-common/common/ssl_verify.c
+@@ -33,7 +33,7 @@
+ #include <string.h>
+ #include <gio/gio.h>
+ 
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1)
+ {
+     return M_ASN1_STRING_data(asn1);
+diff --git a/src/bio-gio.c b/src/bio-gio.c
+index 9358fae..30aa73b 100644
+--- a/src/bio-gio.c
++++ b/src/bio-gio.c
+@@ -23,7 +23,7 @@
+ #include "spice-util.h"
+ #include "bio-gio.h"
+ 
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ static BIO_METHOD one_static_bio;
+ 
+ static int BIO_meth_set_read(BIO_METHOD *biom,
+diff --git a/src/spice-channel.c b/src/spice-channel.c
+index 4c3db9d..9df0203 100644
+--- a/src/spice-channel.c
++++ b/src/spice-channel.c
+@@ -55,7 +55,7 @@ static void spice_channel_reset_capabilities(SpiceChannel 
*channel);
+ static void spice_channel_send_migration_handshake(SpiceChannel *channel);
+ static gboolean channel_connect(SpiceChannel *channel, gboolean tls);
+ 
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ static RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
+ {
+     if (pkey->type != EVP_PKEY_RSA) {
+

diff --git a/net-misc/spice-gtk/files/spice-gtk-0.34-openssl11.patch 
b/net-misc/spice-gtk/files/spice-gtk-0.34-openssl11.patch
new file mode 100644
index 00000000000..572475d79a4
--- /dev/null
+++ b/net-misc/spice-gtk/files/spice-gtk-0.34-openssl11.patch
@@ -0,0 +1,16 @@
+https://617764.bugs.gentoo.org/attachment.cgi?id=522368
+https://bugs.gentoo.org/617764
+
+--- spice-gtk-0.34.orig/src/spice-channel.c    2017-07-12 10:23:31.000000000 
+0200
++++ spice-gtk-0.34/src/spice-channel.c 2018-03-04 13:12:14.351051444 +0100
+@@ -392,8 +392,10 @@
+ 
+     g_type_class_add_private(klass, sizeof(SpiceChannelPrivate));
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     SSL_library_init();
+     SSL_load_error_strings();
++#endif
+ }
+ 
+ /* ---------------------------------------------------------------- */

diff --git a/net-misc/spice-gtk/spice-gtk-0.34-r3.ebuild 
b/net-misc/spice-gtk/spice-gtk-0.34-r3.ebuild
new file mode 100644
index 00000000000..3bba2079f5f
--- /dev/null
+++ b/net-misc/spice-gtk/spice-gtk-0.34-r3.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.14"
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools eutils xdg-utils vala readme.gentoo-r1
+
+DESCRIPTION="Set of GObject and Gtk objects for connecting to Spice servers 
and a client GUI"
+HOMEPAGE="https://www.spice-space.org 
https://cgit.freedesktop.org/spice/spice-gtk/";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+SRC_URI="https://www.spice-space.org/download/gtk/${P}.tar.bz2";
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="dbus gstaudio gstvideo +gtk3 +introspection lz4 mjpeg policykit 
pulseaudio sasl smartcard static-libs usbredir vala webdav libressl"
+
+REQUIRED_USE="?? ( pulseaudio gstaudio )"
+
+# TODO:
+# * check if sys-freebsd/freebsd-lib (from virtual/acl) provides acl/libacl.h
+# * use external pnp.ids as soon as that means not pulling in gnome-desktop
+RDEPEND="
+       !libressl? ( dev-libs/openssl:0= )
+       libressl? ( dev-libs/libressl:0= )
+       pulseaudio? ( media-sound/pulseaudio[glib] )
+       gstvideo? (
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+               media-libs/gst-plugins-good:1.0
+               )
+       gstaudio? (
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+               media-libs/gst-plugins-good:1.0
+               )
+       >=x11-libs/pixman-0.17.7
+       media-libs/opus
+       gtk3? ( x11-libs/gtk+:3[introspection?] )
+       >=dev-libs/glib-2.36:2
+       >=x11-libs/cairo-1.2
+       virtual/jpeg:0=
+       sys-libs/zlib
+       introspection? ( dev-libs/gobject-introspection )
+       lz4? ( app-arch/lz4 )
+       sasl? ( dev-libs/cyrus-sasl )
+       smartcard? ( app-emulation/qemu[smartcard] )
+       usbredir? (
+               sys-apps/hwids
+               >=sys-apps/usbredir-0.4.2
+               virtual/libusb:1
+               virtual/libgudev:=
+               policykit? (
+                       sys-apps/acl
+                       >=sys-auth/polkit-0.110-r1
+                       !~sys-auth/polkit-0.111 )
+               )
+       webdav? (
+               net-libs/phodav:2.0
+               >=dev-libs/glib-2.43.90:2
+               >=net-libs/libsoup-2.49.91 )
+"
+DEPEND="${RDEPEND}
+       >=app-emulation/spice-protocol-0.12.13
+       dev-perl/Text-CSV
+       >=dev-util/gtk-doc-am-1.14
+       >=dev-util/intltool-0.40.0
+       >=sys-devel/gettext-0.17
+       virtual/pkgconfig
+       vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-libressl.patch
+       "${FILESDIR}"/${P}-openssl11.patch
+)
+
+src_prepare() {
+       # bug 558558
+       export GIT_CEILING_DIRECTORIES="${WORKDIR}"
+       echo GIT_CEILING_DIRECTORIES=${GIT_CEILING_DIRECTORIES}
+
+       default
+
+       eautoreconf
+
+       use vala && vala_src_prepare
+}
+
+src_configure() {
+       # Prevent sandbox violations, bug #581836
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744134
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744135
+       addpredict /dev
+
+       # Clean up environment, bug #586642
+       xdg_environment_reset
+
+       local myconf
+
+       if use vala ; then
+               # force vala regen for MinGW, etc
+               rm -fv gtk/controller/controller.{c,vala.stamp} 
gtk/controller/menu.c
+       fi
+
+       myconf="
+               $(use_enable static-libs static)
+               $(use_enable introspection)
+               $(use_with sasl)
+               $(use_enable smartcard)
+               $(use_enable usbredir)
+               $(use_with usbredir usb-ids-path /usr/share/misc/usb.ids)
+               $(use_with usbredir usb-acl-helper-dir /usr/libexec)
+               $(use_with gtk3 gtk 3.0)
+               $(use_enable policykit polkit)
+               $(use_enable pulseaudio pulse)
+               $(use_enable gstaudio)
+               $(use_enable gstvideo)
+               $(use_enable mjpeg builtin-mjpeg)
+               $(use_enable vala)
+               $(use_enable webdav)
+               $(use_enable dbus)
+               --disable-celt051
+               --disable-gtk-doc
+               --disable-maintainer-mode
+               --disable-werror
+               --enable-pie"
+
+       econf ${myconf}
+}
+
+src_compile() {
+       # Prevent sandbox violations, bug #581836
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744134
+       # https://bugzilla.gnome.org/show_bug.cgi?id=744135
+       addpredict /dev
+
+       default
+}
+
+src_install() {
+       default
+
+       dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+
+       # Remove .la files if they're not needed
+       use static-libs || prune_libtool_files
+
+       make_desktop_entry spicy Spicy "utilities-terminal" 
"Network;RemoteAccess;"
+       readme.gentoo_create_doc
+}

Reply via email to