summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2006-07-18 13:12:37 +0000
committerPeter Volkov <pva@gentoo.org>2006-07-18 13:12:37 +0000
commitb3f30afe0cbb942e6bd8339aa0be6c14d6f7a646 (patch)
tree186888737b5c77cd1d37f00c18184415a01ea7f4 /app-emulation
parentStable on amd64 and x86 wrt bug #140584. (diff)
downloadhistorical-b3f30afe0cbb942e6bd8339aa0be6c14d6f7a646.tar.gz
historical-b3f30afe0cbb942e6bd8339aa0be6c14d6f7a646.tar.bz2
historical-b3f30afe0cbb942e6bd8339aa0be6c14d6f7a646.zip
Fix for bug 95430. Thank Joël for report and upstream developer Richard Drummond for the patch.
Package-Manager: portage-2.1-r1
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/e-uae/ChangeLog9
-rw-r--r--app-emulation/e-uae/Manifest19
-rw-r--r--app-emulation/e-uae/e-uae-0.8.28-r3.ebuild129
-rw-r--r--app-emulation/e-uae/files/digest-e-uae-0.8.28-r33
-rw-r--r--app-emulation/e-uae/files/e-uae-0.8.28-themes_rendering_fix.diff215
5 files changed, 370 insertions, 5 deletions
diff --git a/app-emulation/e-uae/ChangeLog b/app-emulation/e-uae/ChangeLog
index 50777e3cd331..7d357f9f60ac 100644
--- a/app-emulation/e-uae/ChangeLog
+++ b/app-emulation/e-uae/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-emulation/e-uae
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/e-uae/ChangeLog,v 1.14 2006/07/17 11:18:05 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/e-uae/ChangeLog,v 1.15 2006/07/18 13:12:37 pva Exp $
+
+*e-uae-0.8.28-r3 (18 Jul 2006)
+
+ 18 Jul 2006; Peter Volkov <pva@gentoo.org>
+ +files/e-uae-0.8.28-themes_rendering_fix.diff, +e-uae-0.8.28-r3.ebuild:
+ Fix for bug 95430. Thank Joël for report and upstream developer
+ Richard Drummond for the patch.
17 Jul 2006; Peter Volkov <pva@gentoo.org> e-uae-0.8.28-r1.ebuild,
e-uae-0.8.28-r2.ebuild:
diff --git a/app-emulation/e-uae/Manifest b/app-emulation/e-uae/Manifest
index 313ff47d0358..9080544abc87 100644
--- a/app-emulation/e-uae/Manifest
+++ b/app-emulation/e-uae/Manifest
@@ -18,6 +18,10 @@ AUX e-uae-0.8.28-shm-crash.patch 582 RMD160 a7a6c99ee6e9ea627bfc294fbe03d69a213f
MD5 774c0436b6e91dd8f18b0df23f10c75b files/e-uae-0.8.28-shm-crash.patch 582
RMD160 a7a6c99ee6e9ea627bfc294fbe03d69a213f1810 files/e-uae-0.8.28-shm-crash.patch 582
SHA256 58ea8ef7d95c65ccfea57a3eeb5c6695e2b2cbac687c6819ce9862eed0d8bda7 files/e-uae-0.8.28-shm-crash.patch 582
+AUX e-uae-0.8.28-themes_rendering_fix.diff 5832 RMD160 0fbcf0d77176f09ccad6b037b835002b47b9c084 SHA1 4476276f4c618504962823bfacc633e7bb8e66fa SHA256 164acc45e9353f2b8551c133e892237fa087aaeda66eaf2cd23820254f7a5eb2
+MD5 4c3572a4f40235e86bf1a769eba1e6f9 files/e-uae-0.8.28-themes_rendering_fix.diff 5832
+RMD160 0fbcf0d77176f09ccad6b037b835002b47b9c084 files/e-uae-0.8.28-themes_rendering_fix.diff 5832
+SHA256 164acc45e9353f2b8551c133e892237fa087aaeda66eaf2cd23820254f7a5eb2 files/e-uae-0.8.28-themes_rendering_fix.diff 5832
DIST e-uae-0.8.27.tar.bz2 1129674
DIST e-uae-0.8.28.tar.bz2 1148790 RMD160 7e9fa21fa14b0ca3a32a28ccb236b9d7628a7f69 SHA1 11e647ed64420f85893ac77c072e268b650ae183 SHA256 afc8b30fb9aa0819a4e53b3eb0db8e658e5a2b23d7dbf436f6b5a49b2269da86
EBUILD e-uae-0.8.27.ebuild 1672 RMD160 4a6ef7be97f84be9a7d38f05483a50a723782c59 SHA1 d838ece3f626ba9f2f003c6c7a947fc1e0797558 SHA256 871286f65405519ab79134809032479297c7674aa9638fc497f7f078d77b5236
@@ -32,10 +36,14 @@ EBUILD e-uae-0.8.28-r2.ebuild 3816 RMD160 7c402dcdc992a3532a1bfb7710311f3e5bfbbc
MD5 2ddcaee8acb13387c4bff6ba7c784e58 e-uae-0.8.28-r2.ebuild 3816
RMD160 7c402dcdc992a3532a1bfb7710311f3e5bfbbcdf e-uae-0.8.28-r2.ebuild 3816
SHA256 6ecffb266443a6ff4bf0bac23282855fdac21368ec442eb56d20a65dc174838c e-uae-0.8.28-r2.ebuild 3816
-MISC ChangeLog 2613 RMD160 5b6baab85e78e1020923f7e7eeade197378ddaf6 SHA1 a56dd5704cd77a2ddad509bcce2213a8d5453358 SHA256 807d792e77869a419e718fb47a9a68fed114cdbee4e0a4cb19f799cb1f1c64e2
-MD5 1bd5900884de5d7f73e897cce032b7f5 ChangeLog 2613
-RMD160 5b6baab85e78e1020923f7e7eeade197378ddaf6 ChangeLog 2613
-SHA256 807d792e77869a419e718fb47a9a68fed114cdbee4e0a4cb19f799cb1f1c64e2 ChangeLog 2613
+EBUILD e-uae-0.8.28-r3.ebuild 3869 RMD160 598617889bc6117bfecc40e7cd08aaf56d88088e SHA1 58c14b39a9f27a2220c54843284d69642e699c20 SHA256 5eda689deb7b43aa630ebae275bf579796aefa3ed46bc572395669b21f0271ec
+MD5 fbe28706a4b0540803fe80f0cc94fc18 e-uae-0.8.28-r3.ebuild 3869
+RMD160 598617889bc6117bfecc40e7cd08aaf56d88088e e-uae-0.8.28-r3.ebuild 3869
+SHA256 5eda689deb7b43aa630ebae275bf579796aefa3ed46bc572395669b21f0271ec e-uae-0.8.28-r3.ebuild 3869
+MISC ChangeLog 2866 RMD160 26ed50029c9de0765fcbf62c91db0ca954ba8856 SHA1 e256cabab52b3a86614112e74867668fd584514e SHA256 f474062db1ea8f363c4921579e8feff9dc1b4016cf65bc98cd88f9f58a21e6dd
+MD5 8742f62383fce2f325c1ac649a05ad6a ChangeLog 2866
+RMD160 26ed50029c9de0765fcbf62c91db0ca954ba8856 ChangeLog 2866
+SHA256 f474062db1ea8f363c4921579e8feff9dc1b4016cf65bc98cd88f9f58a21e6dd ChangeLog 2866
MISC metadata.xml 468 RMD160 3cc57496496e8ed0e18330d5523ceb3d417bf222 SHA1 575564530c1b5d164d1eedcd003b4f43dc435abc SHA256 6bdc3ef9c0c895a8d4f227e52c2bb044d38fc00c17c04199ffd7a1aaa023ec0f
MD5 107be5d8d010a6b3dac228473128bdf4 metadata.xml 468
RMD160 3cc57496496e8ed0e18330d5523ceb3d417bf222 metadata.xml 468
@@ -49,3 +57,6 @@ SHA256 82cc02576ec30a11aaafa85d5e55d9118795f73e0db80ed544cded39f1df25ac files/di
MD5 188bf5165e1f85783a9ba7fa185f9fd3 files/digest-e-uae-0.8.28-r2 244
RMD160 754a2776d6ff1b461b1278828ea678dd002b4e3c files/digest-e-uae-0.8.28-r2 244
SHA256 82cc02576ec30a11aaafa85d5e55d9118795f73e0db80ed544cded39f1df25ac files/digest-e-uae-0.8.28-r2 244
+MD5 188bf5165e1f85783a9ba7fa185f9fd3 files/digest-e-uae-0.8.28-r3 244
+RMD160 754a2776d6ff1b461b1278828ea678dd002b4e3c files/digest-e-uae-0.8.28-r3 244
+SHA256 82cc02576ec30a11aaafa85d5e55d9118795f73e0db80ed544cded39f1df25ac files/digest-e-uae-0.8.28-r3 244
diff --git a/app-emulation/e-uae/e-uae-0.8.28-r3.ebuild b/app-emulation/e-uae/e-uae-0.8.28-r3.ebuild
new file mode 100644
index 000000000000..d8ab2b2f4c5f
--- /dev/null
+++ b/app-emulation/e-uae/e-uae-0.8.28-r3.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/e-uae/e-uae-0.8.28-r3.ebuild,v 1.1 2006/07/18 13:12:37 pva Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="The Ubiquitous Amiga Emulator with an emulation core largely based on WinUAE"
+HOMEPAGE="http://www.rcdrummond.net/uae/"
+SRC_URI="http://www.rcdrummond.net/uae/${P}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="X dga ncurses sdl gtk alsa oss sdl-sound capslib"
+
+# Note: opposed to ./configure --help zlib support required! Check
+# src/Makefile.am that includes zfile.c unconditionaly.
+RDEPEND="X? ( || ( ( x11-libs/libXt
+ x11-libs/libxkbfile
+ x11-libs/libXext
+ dga? ( x11-libs/libXxf86dga
+ x11-libs/libXxf86vm )
+ )
+ virtual/x11
+ )
+ )
+ !X? ( sdl? ( media-libs/libsdl )
+ !sdl? ( sys-libs/ncurses ) )
+ alsa? ( media-libs/alsa-lib )
+ !alsa? ( sdl-sound? ( media-libs/sdl-sound ) )
+ gtk? ( >=x11-libs/gtk+-2.0 )
+ capslib? ( games-emulation/caps )
+ sys-libs/zlib
+ app-cdr/cdrtools"
+
+DEPEND="$RDEPEND
+ X? ( dga? ( x11-proto/xf86vidmodeproto
+ x11-proto/xf86dgaproto ) )"
+
+pkg_setup() {
+ # Sound setup.
+ if use alsa; then
+ elog "Choosing alsa as sound target to use."
+ myconf="--with-alsa --without-sdl-sound"
+ elif use sdl-sound ; then
+ if ! use sdl ; then
+ ewarn "sdl-sound is not enabled because sdl is switched off. Leaving"
+ ewarn "sound on oss autodetection."
+ myconf="--without-alsa --without-sdl-sound"
+ ebeep
+ else
+ elog "Choosing sdl-sound as sound target to use."
+ myconf="--without-alsa --with-sdl-sound"
+ fi
+ elif use oss ; then
+ elog "Choosing oss as sound target to use."
+ ewarn "oss will be autodetected. See output of configure."
+ myconf="--without-alsa --without-sdl-sound"
+ else
+ ewarn "There is no alsa, sdl-sound or oss in USE. Sound target disabled!"
+ myconf="--disable-audio"
+ fi
+
+ # VIDEO setup. X is autodetected (there is no --with-X option).
+ if use X ; then
+ elog "Using X11 for video output."
+ myconf="$myconf --without-curses --without-sdl-gfx"
+ use dga && myconf="$myconf --enable-dga --enable-vidmode"
+ elif use sdl ; then
+ elog "Using sdl for video output."
+ myconf="$myconf --with-sdl --with-sdl-gfx --without-curses"
+ elif use ncurses; then
+ elog "Using ncurses for video output."
+ myconf="$myconf --with-curses --without-sdl-gfx"
+ else
+ ewarn "There is no X or sdl or ncurses in USE!"
+ ewarn "Following upstream falling back on ncurses."
+ myconf="$myconf --with-curses --without-sdl-gfx"
+ ebeep
+ fi
+
+ use gtk && myconf="$myconf --enable-ui --enable-threads"
+ use gtk || myconf="$myconf --disable-ui"
+
+ use capslib && myconf="$myconf --with-caps"
+
+ myconf="$myconf --with-zlib"
+
+ # And explicitly state defaults:
+ myconf="$myconf --enable-aga"
+ myconf="$myconf --enable-autoconfig --enable-scsi-device --enable-cdtv --enable-cd32"
+ myconf="$myconf --enable-bsdsock"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-shm-crash.patch"
+ epatch "${FILESDIR}/${P}-fix-joystick-conflicts.patch"
+ epatch "${FILESDIR}/${P}-fix-atoscroll-screen-support.patch"
+ epatch "${FILESDIR}/${P}-fix-JIT-cache-on-NX-cpu.patch"
+ epatch "${FILESDIR}/${P}-gtkui_64bit_fix.diff"
+ epatch "${FILESDIR}/${P}-themes_rendering_fix.diff"
+}
+
+src_compile() {
+ strip-flags
+
+ econf ${myconf} \
+ --with-libscg-includedir=/usr/include/scsilib \
+ || die "./configure failed"
+
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ insinto /usr/share/uae/amiga-tools
+ doins amiga/{*hack,trans*,uae*,*.library}
+
+ # Rename it to e-uae
+ mv "${D}/usr/bin/uae" "${D}/usr/bin/e-uae"
+ mv "${D}/usr/bin/readdisk" "${D}/usr/bin/e-readdisk"
+ mv "${D}/usr/share/uae" "${D}/usr/share/${PN}"
+
+ dodoc docs/* README ChangeLog CHANGES
+}
diff --git a/app-emulation/e-uae/files/digest-e-uae-0.8.28-r3 b/app-emulation/e-uae/files/digest-e-uae-0.8.28-r3
new file mode 100644
index 000000000000..f73743e1c92c
--- /dev/null
+++ b/app-emulation/e-uae/files/digest-e-uae-0.8.28-r3
@@ -0,0 +1,3 @@
+MD5 9fc186f9256d04f940304044e29175ef e-uae-0.8.28.tar.bz2 1148790
+RMD160 7e9fa21fa14b0ca3a32a28ccb236b9d7628a7f69 e-uae-0.8.28.tar.bz2 1148790
+SHA256 afc8b30fb9aa0819a4e53b3eb0db8e658e5a2b23d7dbf436f6b5a49b2269da86 e-uae-0.8.28.tar.bz2 1148790
diff --git a/app-emulation/e-uae/files/e-uae-0.8.28-themes_rendering_fix.diff b/app-emulation/e-uae/files/e-uae-0.8.28-themes_rendering_fix.diff
new file mode 100644
index 000000000000..4c8eae83d68c
--- /dev/null
+++ b/app-emulation/e-uae/files/e-uae-0.8.28-themes_rendering_fix.diff
@@ -0,0 +1,215 @@
+diff -Naur e-uae-0.8.28.orig/src/gui-gtk/led.c e-uae-0.8.28/src/gui-gtk/led.c
+--- e-uae-0.8.28.orig/src/gui-gtk/led.c 2004-06-15 01:14:49.000000000 +0400
++++ e-uae-0.8.28/src/gui-gtk/led.c 2006-07-18 17:01:48.000000000 +0400
+@@ -1,15 +1,17 @@
+-/*
+- * led.c
+- *
+- * Copyright 2004 Martin Garton
+- */
++ /*
++ * E-UAE - The portable Amiga Emulator
++ *
++ * Custom Gtk+ LED widget
++ *
++ * Copyright 2004 Martin Garton
++ * Copyright 2006 Richard Drummond
++ */
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <string.h>
+
+-#include <gdk/gdkkeysyms.h>
+ #include <gtk/gtk.h>
+
+ #include "led.h"
+@@ -21,14 +23,19 @@
+ static void led_class_init (LedClass *class);
+ static gint led_expose (GtkWidget *w, GdkEventExpose *event);
+ static void led_destroy (GtkObject *object);
++static void led_realize (GtkWidget *widget);
++static void led_unrealize (GtkWidget *widget);
++static void led_size_request (GtkWidget *widget, GtkRequisition *requisition);
++static void led_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
++
+
+ guint led_get_type ()
+ {
+ static guint led_type = 0;
+
+ if (!led_type) {
+- GtkTypeInfo led_info = {
+- "Led",
++ static const GtkTypeInfo led_info = {
++ (char *) "Led",
+ sizeof (Led),
+ sizeof (LedClass),
+ (GtkClassInitFunc) led_class_init,
+@@ -48,39 +55,102 @@
+ {
+ GtkObjectClass *object_class = (GtkObjectClass *) class;
+ GtkWidgetClass *widget_class = (GtkWidgetClass *) class;
+- parent_class = gtk_type_class (gtk_object_get_type ());
++ parent_class = gtk_type_class (gtk_widget_get_type ());
+
+ object_class->destroy = led_destroy;
+ widget_class->expose_event = led_expose;
++ widget_class->realize = led_realize;
++ widget_class->unrealize = led_unrealize;
++ widget_class->size_request = led_size_request;
++ widget_class->size_allocate = led_size_allocate;
+ }
+
+ static void led_init (Led *theled)
+ {
+ theled->color = LED_OFF;
+-
+- GTK_WIDGET (theled)->requisition.width = LED_W + GTK_MISC (theled)->xpad * 2;
+- GTK_WIDGET (theled)->requisition.height = LED_H + GTK_MISC (theled)->ypad * 2;
+ }
+
+-
+ GtkWidget *led_new (void)
+ {
+ return gtk_type_new (led_get_type ());
+ }
+
+-
+ static gint led_expose (GtkWidget *w, GdkEventExpose *event)
+ {
+ if (w && GTK_WIDGET_DRAWABLE (w)) {
+- GtkStyle *style = gtk_style_copy (w->style);
+- style->bg[GTK_STATE_NORMAL] = LED (w)->color;
+- gtk_style_attach (style, w->window);
+- gtk_draw_flat_box (style, w->window, GTK_STATE_NORMAL, GTK_SHADOW_NONE,
+- 0, 0, LED_W, LED_H);
++ Led *theled = LED (w);
++ gdk_draw_rectangle (w->window, theled->gc, TRUE, 0, 0,
++ w->allocation.width, w->allocation.height);
+ }
+ return 0;
+ }
+
++static void led_realize (GtkWidget *widget)
++{
++ Led *theled;
++ GdkWindowAttr attributes;
++ gint attributes_mask;
++
++ g_return_if_fail (widget != NULL);
++ g_return_if_fail (IS_LED (widget));
++
++ GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
++ theled = LED (widget);
++
++ attributes.x = widget->allocation.x;
++ attributes.y = widget->allocation.y;
++ attributes.width = widget->allocation.width;
++ attributes.height = widget->allocation.height;
++ attributes.wclass = GDK_INPUT_OUTPUT;
++ attributes.window_type = GDK_WINDOW_CHILD;
++ attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
++ attributes.visual = gtk_widget_get_visual (widget);
++ attributes.colormap = gtk_widget_get_colormap (widget);
++
++ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
++ widget->window = gdk_window_new (widget->parent->window, &attributes, attributes_mask);
++
++ gdk_window_set_user_data (widget->window, widget);
++
++ theled->gc = gdk_gc_new (widget->window);
++ gdk_gc_set_rgb_fg_color (theled->gc, &theled->color);
++
++ led_expose (widget, NULL);
++}
++
++static void led_unrealize (GtkWidget *widget)
++{
++ Led *theled = LED (widget);
++
++ g_object_unref (theled->gc);
++ theled->gc = NULL;
++
++ GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
++}
++
++static void led_size_request (GtkWidget *widget, GtkRequisition *requisition)
++{
++ requisition->width = LED_W;
++ requisition->height = LED_H;
++}
++
++static void led_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
++{
++ Led *theled = LED (widget);
++
++ g_return_if_fail (widget != NULL);
++ g_return_if_fail (IS_LED (widget));
++ g_return_if_fail (allocation != NULL);
++
++ widget->allocation = *allocation;
++
++ if (GTK_WIDGET_REALIZED (widget)) {
++ gdk_window_move_resize (widget->window,
++ allocation->x, allocation->y,
++ allocation->width, allocation->height);
++ }
++}
++
+ static void led_destroy (GtkObject *o)
+ {
+ g_return_if_fail (o != NULL);
+@@ -95,6 +165,8 @@
+ {
+ l->color = col;
+
+- if (GTK_WIDGET_DRAWABLE (l))
++ if (GTK_WIDGET_REALIZED (l)) {
++ gdk_gc_set_rgb_fg_color (l->gc, &l->color);
+ led_expose (GTK_WIDGET (l), NULL);
++ }
+ }
+diff -Naur e-uae-0.8.28.orig/src/gui-gtk/led.h e-uae-0.8.28/src/gui-gtk/led.h
+--- e-uae-0.8.28.orig/src/gui-gtk/led.h 2004-05-20 00:56:23.000000000 +0400
++++ e-uae-0.8.28/src/gui-gtk/led.h 2006-07-18 17:01:42.000000000 +0400
+@@ -1,10 +1,16 @@
+-/* led.h */
++ /*
++ * E-UAE - The portable Amiga Emulator
++ *
++ * Custom Gtk+ LED widget
++ *
++ * Copyright 2004 Martin Garton
++ * Copyright 2006 Richard Drummond
++ */
+
+ #ifndef __LED_H__
+ #define __LED_H__
+
+ #include <gdk/gdk.h>
+-#include <gtk/gtkmisc.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -21,15 +27,15 @@
+
+ struct _Led
+ {
+- GtkMisc widget;
+- GdkColor color;
++ GtkWidget widget;
++
++ GdkGC *gc;
++ GdkColor color;
+ };
+
+ struct _LedClass
+ {
+ GtkWidgetClass parent_class;
+-
+- //void (* led) (Led *led );
+ };
+
+ guint led_get_type (void);