From 08483ba66f8da1bbec05f93e5e3493d3794c02bb Mon Sep 17 00:00:00 2001 From: root Date: Tue, 30 Apr 2013 00:36:52 -0700 Subject: Tue Apr 30 00:36:52 PDT 2013 --- multilib-staging/gens-gs/PKGBUILD | 61 +++++++++++ multilib-staging/gens-gs/gens-gtk.patch | 187 ++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+) create mode 100755 multilib-staging/gens-gs/PKGBUILD create mode 100755 multilib-staging/gens-gs/gens-gtk.patch (limited to 'multilib-staging/gens-gs') diff --git a/multilib-staging/gens-gs/PKGBUILD b/multilib-staging/gens-gs/PKGBUILD new file mode 100755 index 000000000..9c5bde780 --- /dev/null +++ b/multilib-staging/gens-gs/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 89400 2013-04-29 08:52:25Z alucryd $ +# Maintainer: Maxime Gauduin +# Contributor: trya +# Contributor: Yvan + +pkgname=gens-gs +pkgver=2.16.7 +pkgrel=4 +pkgdesc="An emulator of Sega Genesis, Sega CD and 32X, combining features from various forks of Gens" +arch=('i686' 'x86_64') +url="http://segaretro.org/Gens/GS" +license=('GPL') +if [[ $CARCH == "x86_64" ]]; then + makedepends=('gcc-multilib' 'lib32-gtk2' 'lib32-mesa-libgl' 'lib32-sdl' 'nasm') + optdepends=('lib32-alsa-plugins: Sound support for PulseAudio' + 'lib32-libpulse: Sound support for PulseAudio') +else + depends=('gtk2' 'sdl') + makedepends=('nasm') +fi +conflicts=('gens') +options=('!libtool') +source=('http://segaretro.org/images/6/6d/Gens-gs-r7.tar.gz' + 'gens-gtk.patch') +sha256sums=('6320cd7bee85472891e1e29b21731d2c8180d04db67ee21256491f3f9ad145c1' + '29b1e9755b34e00ef7d19bdc527dc4f841400a0022c81ee71c331be4a76a6c1c') + +prepare() { + cd "${srcdir}"/${pkgname}-r7 + + patch -Np1 -i ../gens-gtk.patch +} + +build() { + cd "${srcdir}"/${pkgname}-r7 + + if [[ $CARCH == "x86_64" ]]; then + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + fi + + if [[ $CARCH == "x86_64" ]]; then + LIBS='-ldl -lX11' ./configure --host=i686-unknown-linux-gnu --prefix=/usr --libdir=/usr/lib32 --with-pic --disable-static + else + LIBS='-ldl -lX11' ./configure --prefix=/usr --with-pic --disable-static + fi + make +} + +package() { + cd "${srcdir}"/${pkgname}-r7 + + if [[ $CARCH == "x86_64" ]]; then + depends=('lib32-gtk2' 'lib32-sdl') + fi + + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/multilib-staging/gens-gs/gens-gtk.patch b/multilib-staging/gens-gs/gens-gtk.patch new file mode 100755 index 000000000..0bc6fd0ee --- /dev/null +++ b/multilib-staging/gens-gs/gens-gtk.patch @@ -0,0 +1,187 @@ +diff -ru gens/src/gens/ui/gtk/about/about_window.cpp gens-build/src/gens/ui/gtk/about/about_window.cpp +--- gens/src/gens/ui/gtk/about/about_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/about/about_window.cpp 2010-10-11 15:46:25.000000000 +0000 +@@ -84,7 +84,7 @@ + gtk_window_set_position(GTK_WINDOW(about_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(about_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(about_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(about_window), FALSE); ++ g_object_set(GTK_DIALOG(about_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)about_window, "delete_event", +diff -ru gens/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp gens-build/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp +--- gens/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp 2010-10-11 15:33:03.000000000 +0000 +@@ -84,7 +84,7 @@ + gtk_window_set_position(GTK_WINDOW(bmf_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(bmf_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(bmf_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(bmf_window), FALSE); ++ g_object_set(GTK_DIALOG(bmf_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)bmf_window, "delete_event", +diff -ru gens/src/gens/ui/gtk/directory_config/dir_window.cpp gens-build/src/gens/ui/gtk/directory_config/dir_window.cpp +--- gens/src/gens/ui/gtk/directory_config/dir_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/directory_config/dir_window.cpp 2010-10-11 15:34:21.000000000 +0000 +@@ -109,7 +109,7 @@ + gtk_window_set_position(GTK_WINDOW(dir_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(dir_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(dir_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE); ++ g_object_set(GTK_DIALOG(dir_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)(dir_window), "delete_event", +diff -ru gens/src/gens/ui/gtk/general_options/genopt_window.cpp gens-build/src/gens/ui/gtk/general_options/genopt_window.cpp +--- gens/src/gens/ui/gtk/general_options/genopt_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/general_options/genopt_window.cpp 2010-10-11 15:36:00.000000000 +0000 +@@ -140,7 +140,7 @@ + gtk_window_set_position(GTK_WINDOW(genopt_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(genopt_window), false); + gtk_window_set_type_hint(GTK_WINDOW(genopt_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(genopt_window), false); ++ g_object_set(GTK_DIALOG(genopt_window), "has-separator", false, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)genopt_window, "delete_event", +@@ -458,11 +458,11 @@ + gtk_box_pack_start(GTK_BOX(vboxIntroEffect), lblIntroEffect, false, false, 0); + + // Dropdown for intro effect. +- cboIntroEffect = gtk_combo_box_new_text(); +- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "None"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "Gens Logo Effect"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "\"Crazy\" Effect"); +- //gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "Genesis TMSS"); // TODO: Broken. ++ cboIntroEffect = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "None"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "Gens Logo Effect"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "\"Crazy\" Effect"); ++ //gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "Genesis TMSS"); // TODO: Broken. + gtk_widget_show(cboIntroEffect); + gtk_box_pack_start(GTK_BOX(vboxIntroEffect), cboIntroEffect, false, false, 0); + g_signal_connect((gpointer)(cboIntroEffect), "changed", +diff -ru gens/src/gens/ui/gtk/gens/gens_window_callbacks.cpp gens-build/src/gens/ui/gtk/gens/gens_window_callbacks.cpp +--- gens/src/gens/ui/gtk/gens/gens_window_callbacks.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/gens/gens_window_callbacks.cpp 2010-10-11 15:21:28.000000000 +0000 +@@ -154,9 +154,9 @@ + GSFT_UNUSED_PARAMETER(y); + GSFT_UNUSED_PARAMETER(user_data); + +- if (context->targets) ++ if (gdk_drag_context_list_targets(context)) + { +- GdkAtom target_type = GDK_POINTER_TO_ATOM(g_list_nth_data(context->targets, 0)); ++ GdkAtom target_type = GDK_POINTER_TO_ATOM(g_list_nth_data(gdk_drag_context_list_targets(context), 0)); + gtk_drag_get_data(widget, context, target_type, time); + return true; + } +diff -ru gens/src/gens/ui/gtk/opengl_resolution/glres_window.cpp gens-build/src/gens/ui/gtk/opengl_resolution/glres_window.cpp +--- gens/src/gens/ui/gtk/opengl_resolution/glres_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/opengl_resolution/glres_window.cpp 2010-10-11 15:46:21.000000000 +0000 +@@ -75,7 +75,7 @@ + gtk_window_set_position(GTK_WINDOW(glres_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(glres_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(glres_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(glres_window), FALSE); ++ g_object_set(GTK_DIALOG(glres_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)(glres_window), "delete_event", +diff -ru gens/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp gens-build/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp +--- gens/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp 2010-10-11 15:46:29.000000000 +0000 +@@ -80,8 +80,7 @@ + // Callbacks. + static gboolean pmgr_window_callback_close(GtkWidget *widget, GdkEvent *event, gpointer user_data); + static void pmgr_window_callback_response(GtkDialog *dialog, gint response_id, gpointer user_data); +-static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, GtkNotebookPage *page, +- guint page_num, gpointer user_data); ++static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, guint page_num, gpointer user_data); + static void pmgr_window_callback_lstPluginList_cursor_changed(GtkTreeView *tree_view, gpointer user_data); + static void pmgr_window_callback_fraPluginDesc_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer user_data); + +@@ -119,7 +118,7 @@ + gtk_window_set_position(GTK_WINDOW(pmgr_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(pmgr_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(pmgr_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(pmgr_window), FALSE); ++ g_object_set(GTK_DIALOG(pmgr_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)pmgr_window, "delete_event", +@@ -559,11 +558,9 @@ + * @param page_num New notebook page index. + * @param user_data User data. + */ +-static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, GtkNotebookPage *page, +- guint page_num, gpointer user_data) ++static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, guint page_num, gpointer user_data) + { + GSFT_UNUSED_PARAMETER(notebook); +- GSFT_UNUSED_PARAMETER(page); + GSFT_UNUSED_PARAMETER(user_data); + + // Activate the "cursor-changed" callback for the page. +diff -ru gens/src/gens/ui/gtk/select_cdrom/selcd_window.cpp gens-build/src/gens/ui/gtk/select_cdrom/selcd_window.cpp +--- gens/src/gens/ui/gtk/select_cdrom/selcd_window.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/gens/ui/gtk/select_cdrom/selcd_window.cpp 2010-10-11 15:46:16.000000000 +0000 +@@ -94,7 +94,7 @@ + gtk_window_set_position(GTK_WINDOW(selcd_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(selcd_window), FALSE); + gtk_window_set_type_hint(GTK_WINDOW(selcd_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(selcd_window), FALSE); ++ g_object_set(GTK_DIALOG(selcd_window), "has-separator", FALSE, NULL); + + // Callbacks for if the window is closed. + g_signal_connect((gpointer)(selcd_window), "delete_event", +@@ -128,7 +128,7 @@ + gtk_box_pack_start(GTK_BOX(hboxDeviceName), lblDeviceName, false, false, 0); + + // Create the dropdown for the CD-ROM device name. +- cboDeviceName = gtk_combo_box_entry_new_text(); ++ cboDeviceName = gtk_combo_box_text_new_with_entry(); + gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(cboDeviceName))), 63); + gtk_label_set_mnemonic_widget(GTK_LABEL(lblDeviceName), cboDeviceName); + gtk_widget_show(cboDeviceName); +@@ -156,7 +156,7 @@ + gtk_box_pack_start(GTK_BOX(hboxDriveSpeed), vboxDriveSpeedDropdown, true, true, 0); + + // Create the dropdown for the CD-ROM drive speed selection. +- cboDriveSpeed = gtk_combo_box_new_text(); ++ cboDriveSpeed = gtk_combo_box_text_new(); + char tmpSpeed[16]; + for (unsigned int i = 0; i < ((sizeof(CD_DriveSpeed) / sizeof(CD_DriveSpeed[0])) - 1); i++) + { +@@ -167,7 +167,7 @@ + else + szprintf(tmpSpeed, sizeof(tmpSpeed), "%dx", CD_DriveSpeed[i]); + +- gtk_combo_box_append_text(GTK_COMBO_BOX(cboDriveSpeed), tmpSpeed); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboDriveSpeed), tmpSpeed); + } + gtk_widget_show(cboDriveSpeed); + gtk_box_pack_start(GTK_BOX(vboxDriveSpeedDropdown), cboDriveSpeed, true, false, 0); +@@ -252,7 +252,7 @@ + continue; + + // Add the device file. +- gtk_combo_box_append_text(GTK_COMBO_BOX(cboDeviceName), tmpDeviceName); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboDeviceName), tmpDeviceName); + } + } + +diff -ru gens/src/mdp/misc/game_genie/gg_window_gtk2.cpp gens-build/src/mdp/misc/game_genie/gg_window_gtk2.cpp +--- gens/src/mdp/misc/game_genie/gg_window_gtk2.cpp 2010-10-11 16:32:29.000000000 +0000 ++++ gens-build/src/mdp/misc/game_genie/gg_window_gtk2.cpp 2010-10-11 15:52:05.000000000 +0000 +@@ -111,7 +111,7 @@ + gtk_window_set_position(GTK_WINDOW(gg_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable(GTK_WINDOW(gg_window), TRUE); + gtk_window_set_type_hint(GTK_WINDOW(gg_window), GDK_WINDOW_TYPE_HINT_DIALOG); +- gtk_dialog_set_has_separator(GTK_DIALOG(gg_window), FALSE); ++ g_object_set(GTK_DIALOG(gg_window), "has-separator", FALSE, NULL); + + // Add the window icon. + GList *icon_list = NULL; -- cgit v1.2.3-54-g00ecf