diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-emulation/spice | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-emulation/spice')
7 files changed, 217 insertions, 0 deletions
diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest new file mode 100644 index 000000000000..f77be293b65e --- /dev/null +++ b/app-emulation/spice/Manifest @@ -0,0 +1 @@ +DIST spice-0.12.5.tar.bz2 1737169 SHA256 4209a20d8f67cb99a8a6ac499cfe79a18d4ca226360457954a223d6795c2f581 SHA512 1501c913ba3b1856444536a9bfda7a2138a96088f940b483e963df342b91deb945d77bfb3c83ebddfcd7c3008695c0dd7df30ff9fd8502cbbcac1c610a273572 WHIRLPOOL 8f50a91febb0d2279ac867ae31cb14f996106625f0f26ba1bb8b5b576eedce6839f52c70e19a03f03be209f695c36b3ba1d94fadee6c9f134e2afffd5b99c476 diff --git a/app-emulation/spice/files/0.11.0-gold.patch b/app-emulation/spice/files/0.11.0-gold.patch new file mode 100644 index 000000000000..ad08c14e9abc --- /dev/null +++ b/app-emulation/spice/files/0.11.0-gold.patch @@ -0,0 +1,30 @@ + server/tests/Makefile.am | 2 ++ + server/tests/Makefile.in | 2 +- + 2 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am +index e77865c..905de9d 100644 +--- a/server/tests/Makefile.am ++++ b/server/tests/Makefile.am +@@ -19,6 +19,8 @@ LDADD = \ + $(top_builddir)/server/libspice-server.la \ + $(NULL) + ++AM_LDFLAGS = -pthread ++ + COMMON_BASE = \ + basic_event_loop.c \ + basic_event_loop.h \ +diff --git a/server/tests/Makefile.in b/server/tests/Makefile.in +index 5b177e2..3aacfd3 100644 +--- a/server/tests/Makefile.in ++++ b/server/tests/Makefile.in +@@ -144,7 +144,7 @@ am__v_at_0 = @ + CCLD = $(CC) + LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +- $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++ $(AM_LDFLAGS) $(LDFLAGS) -pthread -o $@ + AM_V_CCLD = $(am__v_CCLD_@AM_V@) + am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) + am__v_CCLD_0 = @echo " CCLD " $@; diff --git a/app-emulation/spice/files/spice-0.12.5-fix-assert-in-mjpeg_encoder_adjust_params_to_bit_rate.patch b/app-emulation/spice/files/spice-0.12.5-fix-assert-in-mjpeg_encoder_adjust_params_to_bit_rate.patch new file mode 100644 index 000000000000..0ced72887065 --- /dev/null +++ b/app-emulation/spice/files/spice-0.12.5-fix-assert-in-mjpeg_encoder_adjust_params_to_bit_rate.patch @@ -0,0 +1,30 @@ +From 284cca2a5ebc98257275585083321a7100fb89b3 Mon Sep 17 00:00:00 2001 +From: Jonathon Jongsma <jjongsma@redhat.com> +Date: Fri, 30 May 2014 18:45:02 +0000 +Subject: Fix assert in mjpeg_encoder_adjust_params_to_bit_rate() + +If mjpeg_encoder_reset_quality() is called with the same quality as currently +set, it will not reset last_enc_size but not reset num_recent_enc_frames, +violating some assumptions in _adjust_params_to_bit_rate(). To avoid aborting +the server, simply return early from this function. + +Resolves: rhbz#1086820 +--- +diff --git a/server/mjpeg_encoder.c b/server/mjpeg_encoder.c +index f465d88..12447da 100644 +--- a/server/mjpeg_encoder.c ++++ b/server/mjpeg_encoder.c +@@ -625,7 +625,10 @@ static void mjpeg_encoder_adjust_params_to_bit_rate(MJpegEncoder *encoder) + return; + } + +- spice_assert(rate_control->num_recent_enc_frames); ++ if (!rate_control->num_recent_enc_frames) { ++ spice_debug("No recent encoded frames"); ++ return; ++ } + + if (rate_control->num_recent_enc_frames < MJPEG_AVERAGE_SIZE_WINDOW && + rate_control->num_recent_enc_frames < rate_control->fps) { +-- +cgit v0.9.0.2-2-gbebe diff --git a/app-emulation/spice/files/spice-0.12.5-fix-crash-when-clearing-surface-memory.patch b/app-emulation/spice/files/spice-0.12.5-fix-crash-when-clearing-surface-memory.patch new file mode 100644 index 000000000000..b14a56b1d245 --- /dev/null +++ b/app-emulation/spice/files/spice-0.12.5-fix-crash-when-clearing-surface-memory.patch @@ -0,0 +1,31 @@ +From 1898f3949cf75422aa1fedba40c429b28d8d6b67 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com> +Date: Wed, 6 Aug 2014 18:34:56 +0200 +Subject: Fix crash when clearing surface memory + +The beginning of the surface data needs to be computed correctly if the +stride is negative, otherwise, it should point already to the beginning +of the surface data. This bug seems to exists since 4a208b (0.5.2) + +https://bugzilla.redhat.com/show_bug.cgi?id=1029646 + +diff --git a/server/red_worker.c b/server/red_worker.c +index 6bdad93..35a1a04 100644 +--- a/server/red_worker.c ++++ b/server/red_worker.c +@@ -9470,7 +9470,11 @@ static inline void red_create_surface(RedWorker *worker, uint32_t surface_id, ui + surface->context.stride = stride; + surface->context.line_0 = line_0; + if (!data_is_valid) { +- memset((char *)line_0 + (int32_t)(stride * (height - 1)), 0, height*abs(stride)); ++ char *data = line_0; ++ if (stride < 0) { ++ data -= abs(stride) * (height - 1); ++ } ++ memset(data, 0, height*abs(stride)); + } + surface->create.info = NULL; + surface->destroy.info = NULL; +-- +cgit v0.10.2 + diff --git a/app-emulation/spice/files/spice-0.12.5-server-dont-assert-on-invalid-client-message.patch b/app-emulation/spice/files/spice-0.12.5-server-dont-assert-on-invalid-client-message.patch new file mode 100644 index 000000000000..d9b49a4abb27 --- /dev/null +++ b/app-emulation/spice/files/spice-0.12.5-server-dont-assert-on-invalid-client-message.patch @@ -0,0 +1,30 @@ +From 3c25192ee90f843a2f84ff99d119b1cb45979bac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com> +Date: Wed, 25 Jun 2014 14:36:03 +0200 +Subject: server: don't assert on invalid client message + +Some users have been reaching this error: +snd_receive: ASSERT n failed + +A misbehaving client could easily hit that condition by sending too big +messages. Instead of assert(), replace with a warning. When a message +too big to fit is received, it will simply disconnect the channel. + +https://bugzilla.redhat.com/show_bug.cgi?id=962187 + +diff --git a/server/snd_worker.c b/server/snd_worker.c +index 7d52ded..70148b7 100644 +--- a/server/snd_worker.c ++++ b/server/snd_worker.c +@@ -421,7 +421,7 @@ static void snd_receive(void* data) + for (;;) { + ssize_t n; + n = channel->receive_data.end - channel->receive_data.now; +- spice_assert(n); ++ spice_warn_if(n <= 0); + n = reds_stream_read(channel->stream, channel->receive_data.now, n); + if (n <= 0) { + if (n == 0) { +-- +cgit v0.10.2 + diff --git a/app-emulation/spice/metadata.xml b/app-emulation/spice/metadata.xml new file mode 100644 index 000000000000..f139eea39762 --- /dev/null +++ b/app-emulation/spice/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>virtualization</herd> + <maintainer> + <email>dev-zero@gentoo.org</email> + <name>Tiziano Müller</name> + </maintainer> + <use> + <flag name="client">Build the spicec client app (does not reduce dependencies at the moment).</flag> + <flag name="smartcard">Enable smartcard remoting using <pkg>app-emulation/libcacard</pkg></flag> + </use> +</pkgmetadata> diff --git a/app-emulation/spice/spice-0.12.5-r1.ebuild b/app-emulation/spice/spice-0.12.5-r1.ebuild new file mode 100644 index 000000000000..e33e68a64888 --- /dev/null +++ b/app-emulation/spice/spice-0.12.5-r1.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils python-any-r1 + +DESCRIPTION="SPICE server and client" +HOMEPAGE="http://spice-space.org/" +SRC_URI="http://spice-space.org/download/releases/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="client sasl smartcard static-libs" # static + +# only the client links against libcacard, the libspice-server only uses the headers +# the client cannot be built statically since alsa and qemu[smartcard] are missing static-libs +RDEPEND=">=x11-libs/pixman-0.17.7[static-libs(+)?] + >=dev-libs/glib-2.22:2[static-libs(+)?] + >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] + media-libs/opus[static-libs(+)?] + dev-libs/openssl[static-libs(+)?] + virtual/jpeg[static-libs(+)?] + sys-libs/zlib[static-libs(+)?] + sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) + client? ( + media-libs/alsa-lib + >=x11-libs/libXrandr-1.2 + x11-libs/libX11 + x11-libs/libXext + >=x11-libs/libXinerama-1.0 + x11-libs/libXfixes + x11-libs/libXrender + smartcard? ( app-emulation/qemu[smartcard] ) + )" + +DEPEND="virtual/pkgconfig + $(python_gen_any_dep \ + '>=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]') + smartcard? ( app-emulation/qemu[smartcard] ) + ${RDEPEND}" + +python_check_deps() { + has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]" +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup +} + +# maintainer notes: +# * opengl support is currently broken + +src_prepare() { + epatch \ + "${FILESDIR}/0.11.0-gold.patch" \ + "${FILESDIR}/${P}-fix-assert-in-mjpeg_encoder_adjust_params_to_bit_rate.patch" \ + "${FILESDIR}/${P}-server-dont-assert-on-invalid-client-message.patch" \ + "${FILESDIR}/${P}-fix-crash-when-clearing-surface-memory.patch" + + epatch_user +} + +src_configure() { + econf \ + $(use_enable static-libs static) \ + $(use_enable client) \ + $(use_with sasl) \ + $(use_enable smartcard) \ + --disable-gui \ + --disable-static-linkage +# $(use_enable static static-linkage) \ +} + +src_install() { + default + use static-libs || prune_libtool_files +} |