summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Maier <tamiko@gentoo.org>2018-03-19 10:29:37 -0500
committerMatthias Maier <tamiko@gentoo.org>2018-03-19 10:29:37 -0500
commitbd6ee50aacb0fb9bd65ffd81e40e2266bf2b7b03 (patch)
tree9dfb584b156a20317eb1fd3eb5011d2fcd356874 /net-misc/spice-gtk
parentnet-misc/spice-gtk: update live ebuild (diff)
downloadgentoo-bd6ee50aacb0fb9bd65ffd81e40e2266bf2b7b03.tar.gz
gentoo-bd6ee50aacb0fb9bd65ffd81e40e2266bf2b7b03.tar.bz2
gentoo-bd6ee50aacb0fb9bd65ffd81e40e2266bf2b7b03.zip
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
Diffstat (limited to 'net-misc/spice-gtk')
-rw-r--r--net-misc/spice-gtk/files/spice-gtk-0.34-libressl.patch43
-rw-r--r--net-misc/spice-gtk/files/spice-gtk-0.34-openssl11.patch16
-rw-r--r--net-misc/spice-gtk/spice-gtk-0.34-r3.ebuild153
3 files changed, 212 insertions, 0 deletions
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 000000000000..e39efaee2746
--- /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 000000000000..572475d79a44
--- /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 000000000000..3bba2079f5f8
--- /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
+}