diff options
author | shelldweller <shelldweller@beauxbead.com> | 2020-05-22 19:07:50 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2020-05-23 09:32:00 +0700 |
commit | b4a8d5b75b65654f3c382ac3b6ea30ca66130034 (patch) | |
tree | f4d9215dbeeccae2ea740353ecf195877125d54b /academic/tiemu | |
parent | fb850da2febe81e81cad64b983b4b7536c700891 (diff) |
academic/tiemu: Added (TI-89/92/V200 emulator for linux)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'academic/tiemu')
-rw-r--r-- | academic/tiemu/README | 7 | ||||
-rw-r--r-- | academic/tiemu/doinst.sh | 9 | ||||
-rw-r--r-- | academic/tiemu/patches/01-build-fix.patch | 487 | ||||
-rw-r--r-- | academic/tiemu/patches/sysdeps.patch | 15 | ||||
-rw-r--r-- | academic/tiemu/slack-desc | 18 | ||||
-rw-r--r-- | academic/tiemu/tiemu.SlackBuild | 114 | ||||
-rw-r--r-- | academic/tiemu/tiemu.info | 10 |
7 files changed, 660 insertions, 0 deletions
diff --git a/academic/tiemu/README b/academic/tiemu/README new file mode 100644 index 000000000000..ae41855aa6a7 --- /dev/null +++ b/academic/tiemu/README @@ -0,0 +1,7 @@ +TiEmu is a multi-platform emulator for TI89 / TI89 Titanium / TI92 / TI92+ / +V200PLT hand-helds. + +TiEmu does not emulate TI82, 83, ... hand-helds but TiLem does. + +TiEmu requires a ROM for your calculator. A GPL'd ROM called PedroM is +included. diff --git a/academic/tiemu/doinst.sh b/academic/tiemu/doinst.sh new file mode 100644 index 000000000000..65c7e2eeb9aa --- /dev/null +++ b/academic/tiemu/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/academic/tiemu/patches/01-build-fix.patch b/academic/tiemu/patches/01-build-fix.patch new file mode 100644 index 000000000000..7660b69430af --- /dev/null +++ b/academic/tiemu/patches/01-build-fix.patch @@ -0,0 +1,487 @@ +# This patch is based on the Ubuntu patch for TiEmu 3.02, see +# http://packages.ubuntu.com/de/oneiric/tiemu + + +diff -purN tiemu-3.03.orig/src/gui/calc/calc.c tiemu-3.03/src/gui/calc/calc.c +--- tiemu-3.03.orig/src/gui/calc/calc.c 2007-12-16 16:29:16.000000000 +0100 ++++ tiemu-3.03/src/gui/calc/calc.c 2011-11-04 23:11:40.000000000 +0100 +@@ -313,7 +313,7 @@ on_drawingarea1_expose_event ( + { + gdk_draw_pixmap( + widget->window, +- widget->style->fg_gc[GTK_WIDGET_STATE (widget)], ++ widget->style->fg_gc[gtk_widget_get_state (widget)], + pixmap, + event->area.x, event->area.y, + event->area.x, event->area.y, +@@ -586,7 +586,7 @@ int hid_init(void) + + // Install LCD refresh: 100 FPS (10 ms) + tid = g_timeout_add((params.lcd_rate == -1) ? 50 : params.lcd_rate, +- (GtkFunction)hid_refresh, NULL); ++ (GSourceFunc)hid_refresh, NULL); + + explicit_destroy = 0; + gtk_widget_show(main_wnd); // show wnd here +@@ -640,7 +640,7 @@ void hid_lcd_rate_set(void) + g_source_remove(tid); + + tid = g_timeout_add((params.lcd_rate == -1) ? 50 : params.lcd_rate, +- (GtkFunction)hid_refresh, NULL); ++ (GSourceFunc)hid_refresh, NULL); + } + + int hid_switch_with_skin(void) +diff -purN tiemu-3.03.orig/src/gui/calc/popup.c tiemu-3.03/src/gui/calc/popup.c +--- tiemu-3.03.orig/src/gui/calc/popup.c 2009-05-08 22:43:47.000000000 +0200 ++++ tiemu-3.03/src/gui/calc/popup.c 2011-11-04 22:45:28.000000000 +0100 +@@ -26,7 +26,9 @@ + # include <config.h> + #endif + ++#undef GTK_DISABLE_DEPRECATED + #include <gtk/gtk.h> ++#define GTK_DISABLE_DEPRECATED + #include <glade/glade.h> + #include <stdlib.h> + #include <string.h> +diff -purN tiemu-3.03.orig/src/gui/calc/screen.c tiemu-3.03/src/gui/calc/screen.c +--- tiemu-3.03.orig/src/gui/calc/screen.c 2006-11-06 18:18:51.000000000 +0100 ++++ tiemu-3.03/src/gui/calc/screen.c 2011-11-04 23:12:09.000000000 +0100 +@@ -187,7 +187,7 @@ void redraw_skin(void) + skin_infos.image = gdk_pixbuf_scale_simple(skin_infos.raw, wr.wr.w, wr.wr.h, GDK_INTERP_NEAREST); + + // and draw image into pixmap (next, into window on expose event) +- gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[GTK_WIDGET_STATE(main_wnd)], ++ gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[gtk_widget_get_state(main_wnd)], + skin_infos.image, 0, 0, 0, 0, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); + gdk_window_invalidate_rect(main_wnd->window, &wr.gr, FALSE); + } +@@ -204,7 +204,7 @@ void redraw_lcd(void) + gdk_pixbuf_scale_simple(skin_infos.raw, sr.w, sr.h, GDK_INTERP_NEAREST); + + // and draw +- gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[GTK_WIDGET_STATE(main_wnd)], ++ gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[gtk_widget_get_state(main_wnd)], + skin_infos.image, ls.x, ls.y, lr.x, lr.y, lr.w, lr.h, GDK_RGB_DITHER_NONE, 0, 0); + gtk_widget_queue_draw_area(area, lr.x, lr.y, lr.w, lr.h); + } +@@ -324,7 +324,7 @@ int hid_update_lcd(void) + skin_infos.image = gdk_pixbuf_scale_simple(lcd, lr.w, lr.h, GDK_INTERP_NEAREST); + + // and draw image into pixmap (next, into window on expose event) +- gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[GTK_WIDGET_STATE(main_wnd)], ++ gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[gtk_widget_get_state(main_wnd)], + skin_infos.image, src.x, src.y, lr.x, lr.y, src.w, src.h, + GDK_RGB_DITHER_NONE, 0, 0); + gtk_widget_queue_draw_area(area, lr.x, lr.y, src.w, src.h); +@@ -332,7 +332,7 @@ int hid_update_lcd(void) + else + { + // and draw image into pixmap (next, into window on expose event) +- gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[GTK_WIDGET_STATE(main_wnd)], ++ gdk_draw_pixbuf(pixmap, main_wnd->style->fg_gc[gtk_widget_get_state(main_wnd)], + lcd_mem, src.x, src.y, lr.x, lr.y, src.w, src.h, + GDK_RGB_DITHER_NONE, 0, 0); + gtk_widget_queue_draw_area(area, lr.x, lr.y, src.w, src.h); +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_all.c tiemu-3.03/src/gui/debugger/dbg_all.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_all.c 2009-05-08 12:56:40.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_all.c 2011-11-04 22:46:29.000000000 +0100 +@@ -90,21 +90,21 @@ void gtk_debugger_refresh(void) + { + WND_TMR_START(); + +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.regs)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.regs)) + dbgregs_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.mem)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.mem)) + dbgmem_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.bkpts)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.bkpts)) + dbgbkpts_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.pclog)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.pclog)) + dbgpclog_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.code)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.code)) + dbgcode_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.stack)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.stack)) + dbgstack_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.heap)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.heap)) + dbgheap_refresh_window(); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.iop)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.iop)) + dbgiop_refresh_window(); + + WND_TMR_STOP("Debugger Refresh Time"); +@@ -163,7 +163,7 @@ int gtk_debugger_enter(int context) + gtk_debugger_refresh(); + + // enable the debugger if GDB disabled it +- if (!options3.dbg_dock && !GTK_WIDGET_SENSITIVE(dbgw.regs)) ++ if (!options3.dbg_dock && !gtk_widget_get_sensitive(dbgw.regs)) + gtk_debugger_enable(); + + // handle automatic debugging requests +@@ -180,7 +180,7 @@ int gtk_debugger_enter(int context) + + ti68k_bkpt_get_pgmentry_offset(id, &handle, &offset); + ti68k_bkpt_del_pgmentry(handle); +- if(options3.dbg_dock || GTK_WIDGET_VISIBLE(dbgw.bkpts)) ++ if(options3.dbg_dock || gtk_widget_get_visible(dbgw.bkpts)) + dbgbkpts_refresh_window(); + + delete_command(NULL, 0); +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_bkpts.c tiemu-3.03/src/gui/debugger/dbg_bkpts.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_bkpts.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_bkpts.c 2011-11-04 22:46:29.000000000 +0100 +@@ -388,7 +388,7 @@ GtkWidget* dbgbkpts_display_window(void) + gtk_window_iconify(GTK_WINDOW(wnd)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.bkpts) && !options3.bkpts.closed) ++ if(!gtk_widget_get_visible(dbgw.bkpts) && !options3.bkpts.closed) + gtk_widget_show(wnd); + + return wnd; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_code.c tiemu-3.03/src/gui/debugger/dbg_code.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_code.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_code.c 2011-11-04 22:46:29.000000000 +0100 +@@ -1117,7 +1117,7 @@ void gdbcallback_refresh_debugger(void) + + int dbgcode_quit_enabled(void) + { +- return GTK_WIDGET_SENSITIVE(mi.m8); ++ return gtk_widget_get_sensitive(mi.m8); + } + + static int close_debugger_wrapper(gpointer data) +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_dock.c tiemu-3.03/src/gui/debugger/dbg_dock.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_dock.c 2008-05-26 18:48:30.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_dock.c 2011-11-04 23:05:02.000000000 +0100 +@@ -151,22 +151,22 @@ void dbgdock_set_sensitivity(int state) +
+ void dbgdock_show_all(int all)
+ {
+- if(!GTK_WIDGET_VISIBLE(dbgw.dock) && all)
++ if(!gtk_widget_get_visible(dbgw.dock) && all)
+ gtk_widget_show(dbgw.dock);
+
+- if(GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(gtk_widget_get_visible(dbgw.iop))
+ gtk_window_iconify(GTK_WINDOW(dbgw.iop));
+- if(GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(gtk_widget_get_visible(dbgw.pclog))
+ gtk_window_iconify(GTK_WINDOW(dbgw.pclog));
+ }
+
+ void dbgdock_hide_all(int all)
+ {
+- if(GTK_WIDGET_VISIBLE(dbgw.dock) && all)
++ if(gtk_widget_get_visible(dbgw.dock) && all)
+ gtk_widget_hide(dbgw.dock);
+
+- if(GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(gtk_widget_get_visible(dbgw.pclog))
+ gtk_widget_hide(dbgw.pclog);
+- if(GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(gtk_widget_get_visible(dbgw.iop))
+ gtk_widget_hide(dbgw.iop);
+ }
+diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_heap.c tiemu-3.03/src/gui/debugger/dbg_heap.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_heap.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_heap.c 2011-11-04 22:46:29.000000000 +0100 +@@ -171,7 +171,7 @@ GtkWidget* dbgheap_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.heap)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.heap) && !options3.heap.closed) ++ if(!gtk_widget_get_visible(dbgw.heap) && !options3.heap.closed) + gtk_widget_show(dbgw.heap); + + return dbgw.heap; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_iop.c tiemu-3.03/src/gui/debugger/dbg_iop.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_iop.c 2009-05-02 21:46:04.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_iop.c 2011-11-04 22:46:29.000000000 +0100 +@@ -455,7 +455,7 @@ GtkWidget* dbgiop_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.iop)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.iop) && !options3.iop.closed) ++ if(!gtk_widget_get_visible(dbgw.iop) && !options3.iop.closed) + gtk_widget_show(dbgw.iop); + + return dbgw.iop; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_mem.c tiemu-3.03/src/gui/debugger/dbg_mem.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_mem.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_mem.c 2011-11-04 22:46:29.000000000 +0100 +@@ -435,7 +435,7 @@ GtkWidget* dbgmem_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.mem)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.mem) && !options3.mem.closed) ++ if(!gtk_widget_get_visible(dbgw.mem) && !options3.mem.closed) + gtk_widget_show(dbgw.mem); + + return dbgw.mem; +@@ -605,7 +605,7 @@ dbgmem_button6_clicked + + GLADE_CB void + on_notebook1_switch_page (GtkNotebook *notebook, +- GtkNotebookPage *page, ++ gpointer *page, + guint page_num, + gpointer user_data) + { +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_pclog.c tiemu-3.03/src/gui/debugger/dbg_pclog.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_pclog.c 2009-05-02 21:46:04.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_pclog.c 2011-11-04 22:46:29.000000000 +0100 +@@ -163,7 +163,7 @@ GtkWidget* dbgpclog_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.pclog)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.pclog) && !options3.pclog.closed) ++ if(!gtk_widget_get_visible(dbgw.pclog) && !options3.pclog.closed) + gtk_widget_show(dbgw.pclog); + + return dbgw.pclog; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_regs.c tiemu-3.03/src/gui/debugger/dbg_regs.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_regs.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_regs.c 2011-11-04 22:46:29.000000000 +0100 +@@ -302,7 +302,7 @@ GtkWidget* dbgregs_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.regs)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.regs) && !options3.regs.closed) ++ if(!gtk_widget_get_visible(dbgw.regs) && !options3.regs.closed) + gtk_widget_show(dbgw.regs); + + return dbgw.regs; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_romcall.c tiemu-3.03/src/gui/debugger/dbg_romcall.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_romcall.c 2007-07-05 13:36:10.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_romcall.c 2011-11-04 22:46:29.000000000 +0100 +@@ -29,7 +29,9 @@ + # include <config.h> + #endif + +-#include <gtk/gtk.h> ++#undef GTK_DISABLE_DEPRECATED ++ #include <gtk/gtk.h> ++#define GTK_DISABLE_DEPRECATED + #include <glade/glade.h> + #include <string.h> + +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_stack.c tiemu-3.03/src/gui/debugger/dbg_stack.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_stack.c 2009-05-06 21:48:47.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_stack.c 2011-11-04 22:46:29.000000000 +0100 +@@ -197,7 +197,7 @@ GtkWidget* dbgstack_display_window(void) + gtk_window_iconify(GTK_WINDOW(dbgw.stack)); + #endif + +- if(!GTK_WIDGET_VISIBLE(dbgw.stack) && !options3.stack.closed) ++ if(!gtk_widget_get_visible(dbgw.stack) && !options3.stack.closed) + gtk_widget_show(dbgw.stack); + + return dbgw.stack; +diff -purN tiemu-3.03.orig/src/gui/debugger/dbg_wnds.c tiemu-3.03/src/gui/debugger/dbg_wnds.c +--- tiemu-3.03.orig/src/gui/debugger/dbg_wnds.c 2009-05-07 09:18:02.000000000 +0200 ++++ tiemu-3.03/src/gui/debugger/dbg_wnds.c 2011-11-04 23:07:54.000000000 +0100 +@@ -74,21 +74,21 @@ void dbgwnds_minimize_all(int all) + if(options3.dbg_dock)
+ return;
+
+- if(GTK_WIDGET_VISIBLE(dbgw.regs))
++ if(gtk_widget_get_visible(dbgw.regs))
+ gtk_window_iconify(GTK_WINDOW(dbgw.regs));
+- if(GTK_WIDGET_VISIBLE(dbgw.bkpts))
++ if(gtk_widget_get_visible(dbgw.bkpts))
+ gtk_window_iconify(GTK_WINDOW(dbgw.bkpts));
+- if(GTK_WIDGET_VISIBLE(dbgw.mem))
++ if(gtk_widget_get_visible(dbgw.mem))
+ gtk_window_iconify(GTK_WINDOW(dbgw.mem));
+- if(GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(gtk_widget_get_visible(dbgw.pclog))
+ gtk_window_iconify(GTK_WINDOW(dbgw.pclog));
+- if(GTK_WIDGET_VISIBLE(dbgw.code) & all)
++ if(gtk_widget_get_visible(dbgw.code) & all)
+ gtk_window_iconify(GTK_WINDOW(dbgw.code));
+- if(GTK_WIDGET_VISIBLE(dbgw.stack))
++ if(gtk_widget_get_visible(dbgw.stack))
+ gtk_window_iconify(GTK_WINDOW(dbgw.stack));
+- if(GTK_WIDGET_VISIBLE(dbgw.heap))
++ if(gtk_widget_get_visible(dbgw.heap))
+ gtk_window_iconify(GTK_WINDOW(dbgw.heap));
+- if(GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(gtk_widget_get_visible(dbgw.iop))
+ gtk_window_iconify(GTK_WINDOW(dbgw.iop));
+ }
+
+@@ -98,21 +98,21 @@ void dbgwnds_unminimize_all(int all) + if(options3.dbg_dock)
+ return;
+
+- if(GTK_WIDGET_VISIBLE(dbgw.regs))
++ if(gtk_widget_get_visible(dbgw.regs))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.regs));
+- if(GTK_WIDGET_VISIBLE(dbgw.bkpts))
++ if(gtk_widget_get_visible(dbgw.bkpts))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.bkpts));
+- if(GTK_WIDGET_VISIBLE(dbgw.mem))
++ if(gtk_widget_get_visible(dbgw.mem))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.mem));
+- if(GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(gtk_widget_get_visible(dbgw.pclog))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.pclog));
+- if(GTK_WIDGET_VISIBLE(dbgw.code) & all)
++ if(gtk_widget_get_visible(dbgw.code) & all)
+ gtk_window_deiconify(GTK_WINDOW(dbgw.code));
+- if(GTK_WIDGET_VISIBLE(dbgw.stack))
++ if(gtk_widget_get_visible(dbgw.stack))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.stack));
+- if(GTK_WIDGET_VISIBLE(dbgw.heap))
++ if(gtk_widget_get_visible(dbgw.heap))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.heap));
+- if(GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(gtk_widget_get_visible(dbgw.iop))
+ gtk_window_deiconify(GTK_WINDOW(dbgw.iop));
+ }
+
+@@ -122,21 +122,21 @@ void dbgwnds_show_all(int all) + if(options3.dbg_dock)
+ return;
+
+- if(!GTK_WIDGET_VISIBLE(dbgw.regs))
++ if(!gtk_widget_get_visible(dbgw.regs))
+ gtk_widget_show(dbgw.regs);
+- if(!GTK_WIDGET_VISIBLE(dbgw.bkpts))
++ if(!gtk_widget_get_visible(dbgw.bkpts))
+ gtk_widget_show(dbgw.bkpts);
+- if(!GTK_WIDGET_VISIBLE(dbgw.mem))
++ if(!gtk_widget_get_visible(dbgw.mem))
+ gtk_widget_show(dbgw.mem);
+- if(!GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(!gtk_widget_get_visible(dbgw.pclog))
+ gtk_widget_show(dbgw.pclog);
+- if(!GTK_WIDGET_VISIBLE(dbgw.code) && all)
++ if(!gtk_widget_get_visible(dbgw.code) && all)
+ gtk_widget_show(dbgw.code);
+- if(!GTK_WIDGET_VISIBLE(dbgw.stack))
++ if(!gtk_widget_get_visible(dbgw.stack))
+ gtk_widget_show(dbgw.stack);
+- if(!GTK_WIDGET_VISIBLE(dbgw.heap))
++ if(!gtk_widget_get_visible(dbgw.heap))
+ gtk_widget_show(dbgw.heap);
+- if(!GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(!gtk_widget_get_visible(dbgw.iop))
+ gtk_widget_show(dbgw.iop);
+ }
+
+@@ -146,21 +146,21 @@ void dbgwnds_hide_all(int all) + if(options3.dbg_dock)
+ return;
+
+- if(GTK_WIDGET_VISIBLE(dbgw.regs))
++ if(gtk_widget_get_visible(dbgw.regs))
+ gtk_widget_hide(dbgw.regs);
+- if(GTK_WIDGET_VISIBLE(dbgw.bkpts))
++ if(gtk_widget_get_visible(dbgw.bkpts))
+ gtk_widget_hide(dbgw.bkpts);
+- if(GTK_WIDGET_VISIBLE(dbgw.mem))
++ if(gtk_widget_get_visible(dbgw.mem))
+ gtk_widget_hide(dbgw.mem);
+- if(GTK_WIDGET_VISIBLE(dbgw.pclog))
++ if(gtk_widget_get_visible(dbgw.pclog))
+ gtk_widget_hide(dbgw.pclog);
+- if(GTK_WIDGET_VISIBLE(dbgw.code) && all)
++ if(gtk_widget_get_visible(dbgw.code) && all)
+ gtk_widget_hide(dbgw.code);
+- if(GTK_WIDGET_VISIBLE(dbgw.stack))
++ if(gtk_widget_get_visible(dbgw.stack))
+ gtk_widget_hide(dbgw.stack);
+- if(GTK_WIDGET_VISIBLE(dbgw.heap))
++ if(gtk_widget_get_visible(dbgw.heap))
+ gtk_widget_hide(dbgw.heap);
+- if(GTK_WIDGET_VISIBLE(dbgw.iop))
++ if(gtk_widget_get_visible(dbgw.iop))
+ gtk_widget_hide(dbgw.iop);
+ }
+
+@@ -338,7 +338,7 @@ void update_submenu(GtkWidget *widget, g + if(!options3.dbg_dock)
+ {
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_registers1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.regs));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.regs));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_registers1_activate, NULL);
+ }
+ else
+@@ -350,7 +350,7 @@ void update_submenu(GtkWidget *widget, g + if(!options3.dbg_dock)
+ {
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_breakpoints1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.bkpts));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.bkpts));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_breakpoints1_activate, NULL);
+ }
+ else
+@@ -362,7 +362,7 @@ void update_submenu(GtkWidget *widget, g + if(!options3.dbg_dock)
+ {
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_memory1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.mem));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.mem));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_memory1_activate, NULL);
+ }
+ else
+@@ -372,7 +372,7 @@ void update_submenu(GtkWidget *widget, g + elt = g_list_nth(list, 3);
+ item = GTK_CHECK_MENU_ITEM(elt->data);
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_pc_log1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.pclog));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.pclog));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_pc_log1_activate, NULL);
+
+ // stack
+@@ -381,7 +381,7 @@ void update_submenu(GtkWidget *widget, g + if(!options3.dbg_dock)
+ {
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_stack_frame1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.stack));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.stack));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_stack_frame1_activate, NULL);
+ }
+ else
+@@ -393,7 +393,7 @@ void update_submenu(GtkWidget *widget, g + if(!options3.dbg_dock)
+ {
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_heap_frame1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.heap));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.heap));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_heap_frame1_activate, NULL);
+ }
+ else
+@@ -403,7 +403,7 @@ void update_submenu(GtkWidget *widget, g + elt = g_list_nth(list, 6);
+ item = GTK_CHECK_MENU_ITEM(elt->data);
+ g_signal_handlers_block_by_func(GTK_OBJECT(item), on_ioports_frame1_activate, NULL);
+- gtk_check_menu_item_set_active(item, GTK_WIDGET_VISIBLE(dbgw.iop));
++ gtk_check_menu_item_set_active(item, gtk_widget_get_visible(dbgw.iop));
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(item), on_ioports_frame1_activate, NULL);
+
+ // dock/multi mode
+diff -purN tiemu-3.03.orig/src/gui/filesel.c tiemu-3.03/src/gui/filesel.c +--- tiemu-3.03.orig/src/gui/filesel.c 2007-12-16 16:54:33.000000000 +0100 ++++ tiemu-3.03/src/gui/filesel.c 2011-11-04 22:45:28.000000000 +0100 +@@ -41,7 +41,9 @@ + + #include <stdio.h> + #include <stdlib.h> ++#undef GTK_DISABLE_DEPRECATED + #include <gtk/gtk.h> ++#define GTK_DISABLE_DEPRECATED + #include <string.h> + + #ifdef __WIN32__ diff --git a/academic/tiemu/patches/sysdeps.patch b/academic/tiemu/patches/sysdeps.patch new file mode 100644 index 000000000000..8a4addb76eda --- /dev/null +++ b/academic/tiemu/patches/sysdeps.patch @@ -0,0 +1,15 @@ +--- sysdeps.h.orig 2018-10-18 19:48:03.258705538 -0700 ++++ tiemu-3.03/src/core/uae/sysdeps.h 2018-10-18 19:48:34.178704986 -0700 +@@ -137,12 +137,6 @@ + #define ENUMDECL typedef enum + #define ENUMNAME(name) name + +-/* While we're here, make abort more useful. */ +-#define abort() \ +- do { \ +- fprintf (stderr, "UAE: Internal error; file %s, line %d\n", __FILE__, __LINE__); \ +- (abort) (); \ +-} while (0) + #else + #define ENUMDECL enum + #define ENUMNAME(name) ; typedef int name diff --git a/academic/tiemu/slack-desc b/academic/tiemu/slack-desc new file mode 100644 index 000000000000..892ac4fec9d6 --- /dev/null +++ b/academic/tiemu/slack-desc @@ -0,0 +1,18 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +tiemu: tiemu (TI-89/92/V200 emulator for linux) +tiemu: +tiemu: TiEmu emulates Texas Instruments calculators TI-89/92/92+/V200PLT +tiemu: (no GDB). +tiemu: +tiemu: Homepage: http://lpg.ticalc.org/prj_tiemu/ +tiemu: +tiemu: +tiemu: +tiemu: diff --git a/academic/tiemu/tiemu.SlackBuild b/academic/tiemu/tiemu.SlackBuild new file mode 100644 index 000000000000..1cf47c34989c --- /dev/null +++ b/academic/tiemu/tiemu.SlackBuild @@ -0,0 +1,114 @@ +#!/bin/sh + +# Slackbuild for tiemu + +# Written by shelldweller <shelldweller@beauxbead.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=tiemu +SRCNAM=tiemu +VERSION=${VERSION:-3.03} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION-nogdb.tar.gz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# A few necessary patches +# https://aur.archlinux.org/packages/tiemu/#comment-667308 +patch -p1 < $CWD/patches/01-build-fix.patch +patch -p1 < $CWD/patches/sysdeps.patch + +OPT_CFLAGS="" \ +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --build=$ARCH-slackware-linux \ + --without-kde \ + --disable-gdb + +make + +DESTDIR=$PKG make install + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL LICENSES NEWS \ + README RELEASE TODO docs/ \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +find $PKG/usr/doc -name "Makefile" -delete +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/academic/tiemu/tiemu.info b/academic/tiemu/tiemu.info new file mode 100644 index 000000000000..d665780f3fad --- /dev/null +++ b/academic/tiemu/tiemu.info @@ -0,0 +1,10 @@ +PRGNAM="tiemu" +VERSION="3.03" +HOMEPAGE="http://lpg.ticalc.org/prj_tiemu/" +DOWNLOAD="http://download.sourceforge.net/project/gtktiemu/tiemu-linux/TIEmu%203.03/tiemu-3.03-nogdb.tar.gz" +MD5SUM="2736440d717a0ee97cdb35189814fc93" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="libticalcs2" +MAINTAINER="shelldweller" +EMAIL="shelldweller@beauxbead.com" |