summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2008-04-03 13:32:45 +0000
committerDaniel Black <dragonheart@gentoo.org>2008-04-03 13:32:45 +0000
commit1b813c9cd471ec605f02739d2ab5b4292ae6406a (patch)
tree46acddf459b478568f1d26bf10a5dc41b9450f0e /x11-misc/electricsheep
parentDrop old (diff)
downloadgentoo-2-1b813c9cd471ec605f02739d2ab5b4292ae6406a.tar.gz
gentoo-2-1b813c9cd471ec605f02739d2ab5b4292ae6406a.tar.bz2
gentoo-2-1b813c9cd471ec605f02739d2ab5b4292ae6406a.zip
added multiple monitor support as per bug #204751 thanks to Matthew Howle and patch author noredshadow
(Portage version: 2.1.4.4)
Diffstat (limited to 'x11-misc/electricsheep')
-rw-r--r--x11-misc/electricsheep/ChangeLog12
-rw-r--r--x11-misc/electricsheep/electricsheep-2.6.8-r1.ebuild78
-rw-r--r--x11-misc/electricsheep/files/electricsheep-2.6.8-multihead.patch36
3 files changed, 124 insertions, 2 deletions
diff --git a/x11-misc/electricsheep/ChangeLog b/x11-misc/electricsheep/ChangeLog
index deecc07171b1..9015b6a5038a 100644
--- a/x11-misc/electricsheep/ChangeLog
+++ b/x11-misc/electricsheep/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-misc/electricsheep
-# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-misc/electricsheep/ChangeLog,v 1.40 2007/07/22 04:04:00 dberkholz Exp $
+# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/electricsheep/ChangeLog,v 1.41 2008/04/03 13:32:44 dragonheart Exp $
+
+*electricsheep-2.6.8-r1 (03 Apr 2008)
+
+ 03 Apr 2008; Daniel Black <dragonheart@gentoo.org>
+ +files/electricsheep-2.6.8-multihead.patch,
+ +electricsheep-2.6.8-r1.ebuild:
+ added multiple monitor support as per bug #204751 thanks to Matthew Howle
+ and patch author noredshadow
22 Jul 2007; Donnie Berkholz <dberkholz@gentoo.org>;
electricsheep-2.6.7-r1.ebuild, electricsheep-2.6.8.ebuild:
diff --git a/x11-misc/electricsheep/electricsheep-2.6.8-r1.ebuild b/x11-misc/electricsheep/electricsheep-2.6.8-r1.ebuild
new file mode 100644
index 000000000000..1900c0681d68
--- /dev/null
+++ b/x11-misc/electricsheep/electricsheep-2.6.8-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/electricsheep/electricsheep-2.6.8-r1.ebuild,v 1.1 2008/04/03 13:32:44 dragonheart Exp $
+
+inherit eutils flag-o-matic kde-functions autotools
+
+DESCRIPTION="realize the collective dream of sleeping computers from all over the internet"
+HOMEPAGE="http://electricsheep.org/"
+SRC_URI="http://electricsheep.org/${P}.tar.gz"
+IUSE="kde"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+
+RDEPEND="x11-libs/libXv
+ x11-libs/libICE
+ x11-libs/libSM
+ dev-libs/expat
+ net-misc/curl
+ media-libs/jpeg
+ media-libs/libpng
+ media-libs/libsdl
+ virtual/libc
+ sys-libs/zlib"
+
+DEPEND="${RDEPEND}
+ x11-proto/xextproto
+ x11-libs/libXt
+ sys-apps/groff
+ dev-lang/perl
+ media-libs/libmpeg2
+ sys-devel/libtool"
+
+src_unpack() {
+ unpack ${A}
+ # Detect PIC requirement from direct from compiler instead of
+ # macro PIC.
+ sed -i -e 's/def PIC/def __PIC__/' ${S}/mpeg2dec/src/cpu_accel.c
+ epatch "${FILESDIR}"/${P}-cflagsfix.patch
+ epatch "${FILESDIR}"/${P}-multihead.patch
+ cd "${S}"
+ eautoreconf
+}
+
+# Also detects and ties in sys-libs/slang, media-libs/aalib media-libs/svgalib and nas
+# if they exist on the user machine although these aren't deps.
+
+src_install() {
+
+ # prevent writing for xscreensaver
+ sed -i "s/^install-data-local:$/install-data-local:\nmy-install-data-local:/" \
+ Makefile || die "sed Makefile failed"
+
+ # install the xscreensaver config file
+ insinto /usr/share/xscreensaver/config
+ doins electricsheep.xml
+
+ emake install DESTDIR="${D}" || die "make install failed"
+
+ dodir /usr/share/electricsheep
+ if [ ! -f /usr/share/electricsheep/electricsheep-uniqueid ]
+ then
+ "${D}/usr/bin/uniqueid" > \
+ "${D}/usr/share/electricsheep/electricsheep-uniqueid"
+ fi
+
+ if use kde;
+ then
+ set-kdedir
+ insinto /usr/share/applications
+ doins "${FILESDIR}/${PN}.desktop"
+ insinto "${KDEDIR}//share/applnk/System/ScreenSavers"
+ doins "${FILESDIR}/${PN}.desktop"
+ fi
+
+ # remove header files that are installed over libmpeg2
+ rm -rf "${D}/usr/include"
+}
diff --git a/x11-misc/electricsheep/files/electricsheep-2.6.8-multihead.patch b/x11-misc/electricsheep/files/electricsheep-2.6.8-multihead.patch
new file mode 100644
index 000000000000..e355f824bd8d
--- /dev/null
+++ b/x11-misc/electricsheep/files/electricsheep-2.6.8-multihead.patch
@@ -0,0 +1,36 @@
+--- electricsheep-2.6.8/electricsheep.c 2006-07-25 16:45:56.000000000 -0400
++++ electricsheep-2.6.8-xinerama/electricsheep.c 2007-01-21 13:11:52.000000000 -0500
+@@ -2124,7 +2124,7 @@
+ strcat(curl_cmd, " --show-error");
+ }
+
+- srandom(time(0));
++ srandom(time(0) + getpid());
+
+ not_playing();
+
+--- electricsheep-2.6.8/mpeg2dec/libvo/video_out_x11.c 2006-06-26 15:28:08.000000000 -0400
++++ electricsheep-2.6.8-xinerama/mpeg2dec/libvo/video_out_x11.c 2007-01-21 01:44:45.000000000 -0500
+@@ -531,14 +531,18 @@
+ if (window_id == -3) {
+ /* display zoomed on the (virtual) root window */
+ instance->window = DefaultRootWindow (instance->display);
+- instance->displaywidth = DisplayWidth(instance->display, DefaultScreen (instance->display));
+- instance->displayheight = DisplayHeight(instance->display, DefaultScreen (instance->display));
++ XWindowAttributes xgwa;
++ XGetWindowAttributes (instance->display, instance->window, &xgwa);
++ instance->displaywidth = xgwa.width;
++ instance->displayheight = xgwa.height;
+ } else if (window_id == -2) {
+ /* display non-zoomed on the (virtual) root window */
+ int w, h;
+- w = DisplayWidth(instance->display, DefaultScreen (instance->display));
+- h = DisplayHeight(instance->display, DefaultScreen (instance->display));
+ instance->window = DefaultRootWindow (instance->display);
++ XWindowAttributes xgwa;
++ XGetWindowAttributes (instance->display, instance->window, &xgwa);
++ w = xgwa.width;
++ h = xgwa.height;
+ instance->corner_x = (w - instance->width)/2;
+ instance->corner_y = (h - instance->height)/2;
+ } else if (window_id == -1) {