summaryrefslogtreecommitdiff
path: root/pcr/gens-gs
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/gens-gs')
-rw-r--r--pcr/gens-gs/PKGBUILD49
-rw-r--r--pcr/gens-gs/gens-gtk.patch187
2 files changed, 236 insertions, 0 deletions
diff --git a/pcr/gens-gs/PKGBUILD b/pcr/gens-gs/PKGBUILD
new file mode 100644
index 000000000..316c0af9c
--- /dev/null
+++ b/pcr/gens-gs/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: trya <tryagainprod@gmail.com>
+
+pkgname=gens-gs
+pkgver=r7
+pkgrel=5
+pkgdesc="An emulator of Sega Genesis, Sega CD and 32X, combining features from various forks of Gens"
+url="http://segaretro.org/Gens/GS"
+arch=('i686' 'x86_64')
+license=('GPL')
+if [[ $CARCH == "x86_64" ]]; then
+ depends=('lib32-gtk2' 'lib32-sdl' 'lib32-libgl')
+ makedepends=('nasm' 'gcc-multilib')
+ optdepends=('lib32-alsa-plugins: sound with Gens/GS for Pulseaudio users'
+ 'lib32-libpulse: sound with Gens/GS for Pulseaudio users')
+else
+ depends=('gtk2' 'sdl' 'libgl')
+ makedepends=('nasm' 'gcc')
+fi
+replaces=('bin32-gens-gs')
+conflicts=('gens' 'gens-gs-git' 'bin32-gens-gs' 'bin32-gens')
+options=('!libtool')
+source=("http://segaretro.org/images/6/6d/Gens-gs-r7.tar.gz"
+ gens-gtk.patch)
+md5sums=('bcb17b49774aa318a224c741028aabc3'
+ '94a8ea744dee8caea73db1223ac67dcd')
+
+build() {
+ if [ $CARCH == "x86_64" ]; then
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ fi
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 < ../gens-gtk.patch
+ if [ $CARCH == "x86_64" ]; then
+ i386 ./configure --prefix=/usr
+ else
+ ./configure --prefix=/usr LIBS="-ldl -lX11"
+ fi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/mdp/*.a"
+}
diff --git a/pcr/gens-gs/gens-gtk.patch b/pcr/gens-gs/gens-gtk.patch
new file mode 100644
index 000000000..0bc6fd0ee
--- /dev/null
+++ b/pcr/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;