summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emulators/generator/Makefile55
-rw-r--r--emulators/generator/distinfo2
-rw-r--r--emulators/generator/files/patch-configure11
-rw-r--r--emulators/generator/files/patch-configure.in11
-rw-r--r--emulators/generator/files/patch-hdr::generator.h41
-rw-r--r--emulators/generator/files/patch-main-Makefile.in20
-rw-r--r--emulators/generator/files/patch-main-ui-gtk.c136
-rw-r--r--emulators/generator/files/patch-main::ui-gtk.c11
8 files changed, 73 insertions, 214 deletions
diff --git a/emulators/generator/Makefile b/emulators/generator/Makefile
index c71260d..20cea8e 100644
--- a/emulators/generator/Makefile
+++ b/emulators/generator/Makefile
@@ -6,57 +6,42 @@
#
PORTNAME= generator
-PORTVERSION= 0.34
+PORTVERSION= 0.35
CATEGORIES= emulators
MASTER_SITES= http://www.squish.net/generator/files/
MAINTAINER= ports@FreeBSD.org
COMMENT= SEGA Genesis emulator
-# apparently the configure script can't handle this
-NOT_FOR_ARCHS= alpha
+LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg
-LIB_DEPENDS= gtk12.2:${PORTSDIR}/x11-toolkits/gtk12 \
- SDL-1.1.5:${PORTSDIR}/devel/sdl12
-.if (${MACHINE_ARCH} == "i386")
-BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
-.endif
-
-SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
-GTK_CONFIG?= ${X11BASE}/bin/gtk12-config
-
-USE_GMAKE= yes
+USE_GNOME= gtk12
+USE_SDL= yes
USE_REINPLACE= yes
+USE_GMAKE= yes
GNU_CONFIGURE= yes
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS= --with-gtk
+MAKE_ARGS= ACLOCAL="${TRUE}" AUTOCONF="${TRUE}" AUTOMAKE="${TRUE}" \
+ AUTOHEADER="${TRUE}"
+
+.include <bsd.port.pre.mk>
-.if (${MACHINE_ARCH} == "i386")
+.if ${ARCH} == "i386"
+BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
CONFIGURE_ARGS+= --with-raze
.else
CONFIGURE_ARGS+= --with-cmz80
.endif
-MAKE_ENV+= GTK_CONFIG="${GTK_CONFIG}" \
- SDL_CONFIG="${SDL_CONFIG}"
-CONFIGURE_ENV+= GTK_CONFIG="${GTK_CONFIG}" \
- SDL_CONFIG="${SDL_CONFIG}"
-
-.include <bsd.port.pre.mk>
-
post-patch:
-.if ${OSVERSION} >= 500035
- @${REINPLACE_CMD} -e \
- 's|-malign-loops|-falign-loops|g ; \
- s|-malign-jumps|-falign-jumps|g ; \
- s|-malign-functions|-falign-functions|g' ${WRKSRC}/configure.in
- @${REINPLACE_CMD} -e \
- 's|-malign-loops|-falign-loops|g ; \
- s|-malign-jumps|-falign-jumps|g ; \
- s|-malign-functions|-falign-functions|g' ${WRKSRC}/configure
-.endif
-
-.if ${OSVERSION} >= 501102
-BROKEN= "Fails to compile due to gcc3.3 preprocessor"
-.endif
+ @${REINPLACE_CMD} -e 's|-O3||g ; \
+ s|-minline-all-stringops||g ; \
+ s|-march=pentium||g ; \
+ s|-malign-loops=5||g ; \
+ s|-malign-jumps=5||g ; \
+ s|-malign-functions=5||g' ${WRKSRC}/configure
.include <bsd.port.post.mk>
diff --git a/emulators/generator/distinfo b/emulators/generator/distinfo
index fad3e37..15abadc 100644
--- a/emulators/generator/distinfo
+++ b/emulators/generator/distinfo
@@ -1 +1 @@
-MD5 (generator-0.34.tar.gz) = 8eb154bc0d0f644800c865175f22b873
+MD5 (generator-0.35.tar.gz) = 86f23702f2f7b38172863d080bb94630
diff --git a/emulators/generator/files/patch-configure b/emulators/generator/files/patch-configure
deleted file mode 100644
index 73b1b40..0000000
--- a/emulators/generator/files/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig Sat Oct 20 16:05:45 2001
-+++ configure Mon Apr 7 02:18:27 2003
-@@ -1575,7 +1575,7 @@
- if [ "x$GCCVER" != "xno" ]; then
- echo "$as_me:1576: result: Turning on gcc optimisations" >&5
- echo "${ECHO_T}Turning on gcc optimisations" >&6
-- CFLAGS="$CFLAGS -O3 -ffast-math -fomit-frame-pointer"
-+ CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer"
- if [ "x$GCCVER" = "x3" ]; then
- echo "$as_me:1580: result: Turning on gcc 3 optimisations" >&5
- echo "${ECHO_T}Turning on gcc 3 optimisations" >&6
diff --git a/emulators/generator/files/patch-configure.in b/emulators/generator/files/patch-configure.in
deleted file mode 100644
index 563616d..0000000
--- a/emulators/generator/files/patch-configure.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.in.orig Sat Oct 20 15:34:19 2001
-+++ configure.in Mon Apr 7 02:18:22 2003
-@@ -118,7 +118,7 @@
- else
- if [[ "x$GCCVER" != "xno" ]]; then
- AC_MSG_RESULT(Turning on gcc optimisations)
-- CFLAGS="$CFLAGS -O3 -ffast-math -fomit-frame-pointer"
-+ CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer"
- if [[ "x$GCCVER" = "x3" ]]; then
- AC_MSG_RESULT(Turning on gcc 3 optimisations)
- CFLAGS="$CFLAGS -minline-all-stringops -fno-math-errno"
diff --git a/emulators/generator/files/patch-hdr::generator.h b/emulators/generator/files/patch-hdr::generator.h
new file mode 100644
index 0000000..648ed05
--- /dev/null
+++ b/emulators/generator/files/patch-hdr::generator.h
@@ -0,0 +1,41 @@
+--- hdr/generator.h.orig Mon May 5 03:50:43 2003
++++ hdr/generator.h Sun Nov 23 04:46:22 2003
+@@ -13,6 +13,10 @@
+ void gen_softreset(void);
+ void gen_loadmemrom(const char *rom, int romlen);
+
++#if (defined(__unix__) || defined(unix)) && !defined(USG)
++#include <sys/param.h>
++#endif
++
+ #if defined(linux)
+ #include <byteswap.h>
+ #define SWAP16(x) bswap_16((x))
+@@ -21,6 +25,10 @@
+ #include <machine/endian.h>
+ #define SWAP16(x) bswap_16((x))
+ #define SWAP32(x) bswap_32((x))
++#elif defined(__FreeBSD__) && __FreeBSD_version >= 470000
++ #include <sys/endian.h>
++ #define SWAP16(x) (be16toh(x))
++ #define SWAP32(x) (be32toh(x))
+ #else
+ #define SWAP16(y) (( ((y)>>8) & 0x00ff) | (( ((y)<<8) & 0xff00)))
+ #define SWAP32(y) (( ((y)>>24) & 0x000000ff) | \
+@@ -221,11 +229,11 @@
+ # define LOG_DEBUG3(x) /* ui_log_debug3 ## x */
+ # define LOG_DEBUG2(x) /* ui_log_debug2 ## x */
+ # define LOG_DEBUG1(x) /* ui_log_debug1 ## x */
+-# define LOG_USER(x) ui_log_user ## x
+-# define LOG_VERBOSE(x) ui_log_verbose ## x
+-# define LOG_NORMAL(x) ui_log_normal ## x
+-# define LOG_CRITICAL(x) ui_log_critical ## x
+-# define LOG_REQUEST(x) ui_log_request ## x
++# define LOG_USER(x) ui_log_user x
++# define LOG_VERBOSE(x) ui_log_verbose x
++# define LOG_NORMAL(x) ui_log_normal x
++# define LOG_CRITICAL(x) ui_log_critical x
++# define LOG_REQUEST(x) ui_log_request x
+ #endif
+
+ typedef struct {
diff --git a/emulators/generator/files/patch-main-Makefile.in b/emulators/generator/files/patch-main-Makefile.in
deleted file mode 100644
index 4da493a..0000000
--- a/emulators/generator/files/patch-main-Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
---- main/Makefile.in.orig Mon Apr 7 01:54:22 2003
-+++ main/Makefile.in Mon Apr 7 01:54:57 2003
-@@ -222,7 +222,7 @@
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
-- f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-+ f=`echo $$p1|sed 's/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
- $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
- else :; fi; \
-@@ -231,7 +231,7 @@
- uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
-- f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-+ f=`echo $$p|sed 's/$(EXEEXT)$$//;s/$$/$(EXEEXT)/'`; \
- echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
- rm -f $(DESTDIR)$(bindir)/$$f; \
- done
diff --git a/emulators/generator/files/patch-main-ui-gtk.c b/emulators/generator/files/patch-main-ui-gtk.c
deleted file mode 100644
index 3465f38..0000000
--- a/emulators/generator/files/patch-main-ui-gtk.c
+++ /dev/null
@@ -1,136 +0,0 @@
---- main/ui-gtk.c.orig Sun Oct 14 18:02:05 2001
-+++ main/ui-gtk.c Mon Apr 7 01:40:55 2003
-@@ -18,7 +18,8 @@
- /* need Xlib.h for XAutoRepeatOff - how poo is X */
- #include "X11/Xlib.h"
-
--#include "SDL.h"
-+#include <SDL.h>
-+#include <SDL_joystick.h>
-
- #include "generator.h"
- #include "snprintf.h"
-@@ -98,6 +99,8 @@
- static int ui_query_response = -1; /* query response */
- t_gtkkeys ui_cont[2]; /* keyboard key codes */
- static int ui_musicfile = -1; /* fd of output file for GYM/GNM logging */
-+static int ui_joysticks = 0; /* number of joysticks */
-+static SDL_Joystick *js_handle[2] = { NULL, NULL };
-
- static enum {
- SCREEN_100, SCREEN_200, SCREEN_FULL
-@@ -120,6 +123,7 @@
- static int ui_gtk_query(const char *msg, int style);
- static void ui_gtk_opts_to_menu(void);
- static void ui_simpleplot(void);
-+static void ui_sdl_events (void);
-
- /*** Program entry point ***/
-
-@@ -129,6 +133,8 @@
- GtkWidget *button, *draw, *obj;
- struct passwd *passwd;
- struct stat statbuf;
-+ int i;
-+ const char *name;
-
- gtk_set_locale();
- gtk_init(&argc, &argv);
-@@ -209,10 +215,21 @@
- GDK_WINDOW_XWINDOW(draw->window));
- putenv(SDL_windowhack);
- }
-- if (SDL_Init(SDL_INIT_VIDEO) < 0) {
-+ if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK) < 0) {
- fprintf(stderr, "Couldn't initialise SDL: %s\n", SDL_GetError());
- return -1;
- }
-+ ui_joysticks = SDL_NumJoysticks();
-+ /* Print information about the joysticks */
-+ fprintf(stderr, "%d joysticks detected\n", ui_joysticks);
-+ for (i = 0; i < ui_joysticks; ++i) {
-+ name = SDL_JoystickName(i);
-+ fprintf(stderr, "Joystick %d: %s\n", i, name ? name : "Unknown Joystick");
-+ }
-+ js_handle[0] = SDL_JoystickOpen(0);
-+ js_handle[1] = SDL_JoystickOpen(1);
-+ SDL_JoystickEventState(SDL_ENABLE);
-+
- ui_gtk_sizechange();
- ui_gtk_newoptions();
- ui_gtk_opts_to_menu();
-@@ -264,9 +281,11 @@
- if (ui_running) {
- while (gtk_events_pending())
- gtk_main_iteration_do(0);
-+ ui_sdl_events();
- ui_newframe();
- event_doframe();
- } else {
-+ ui_sdl_events();
- gtk_main();
- }
- }
-@@ -1529,6 +1548,62 @@
- }
- }
- }
-+
-+static void
-+ui_sdl_events (void)
-+{
-+ SDL_Event event;
-+
-+#define LEFT(event) ((event.jaxis.value < -16384) ? 1 : 0)
-+#define RIGHT(event) ((event.jaxis.value > 16384) ? 1 : 0)
-+#define UP(event) ((event.jaxis.value < -16384) ? 1 : 0)
-+#define DOWN(event) ((event.jaxis.value > 16384) ? 1 : 0)
-+#define PRESS(event) ((event.type == SDL_JOYBUTTONDOWN) ? 1 : 0)
-+
-+ while (SDL_PollEvent(&event)) {
-+ switch (event.type) {
-+ case SDL_JOYAXISMOTION:
-+ if (event.jaxis.which > 1)
-+ break;
-+ switch (event.jaxis.axis) {
-+ case 0: /* left & right */
-+ mem68k_cont[event.jaxis.which].left = LEFT(event);
-+ mem68k_cont[event.jaxis.which].right = RIGHT(event);
-+ break;
-+ case 1: /* up & down */
-+ mem68k_cont[event.jaxis.which].up = UP(event);
-+ mem68k_cont[event.jaxis.which].down = DOWN(event);
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ case SDL_JOYBUTTONDOWN:
-+ case SDL_JOYBUTTONUP:
-+ if (event.jbutton.which > 1)
-+ break;
-+ switch (event.jbutton.button) {
-+ case 0:
-+ mem68k_cont[event.jbutton.which].a = PRESS(event);
-+ break;
-+ case 1:
-+ mem68k_cont[event.jbutton.which].b = PRESS(event);
-+ break;
-+ case 2:
-+ mem68k_cont[event.jbutton.which].c = PRESS(event);
-+ break;
-+ case 3:
-+ mem68k_cont[event.jbutton.which].start = PRESS(event);
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+}
-
- void ui_gtk_mainenter(void)
- {
diff --git a/emulators/generator/files/patch-main::ui-gtk.c b/emulators/generator/files/patch-main::ui-gtk.c
new file mode 100644
index 0000000..9b6181f
--- /dev/null
+++ b/emulators/generator/files/patch-main::ui-gtk.c
@@ -0,0 +1,11 @@
+--- main/ui-gtk.c.orig Sun May 4 09:09:51 2003
++++ main/ui-gtk.c Sun Nov 23 04:32:57 2003
+@@ -739,7 +739,7 @@
+ /* logging is done this way because this was the best I could come up with
+ whilst battling with macros that can only take fixed numbers of arguments */
+
+-#define LOG_FUNC(name,level,txt) void ui_log_ ## name ## (const char *text, ...) \
++#define LOG_FUNC(name,level,txt) void ui_log_ ## name (const char *text, ...) \
+ { \
+ va_list ap; \
+ if (gen_loglevel >= level) { \
OpenPOWER on IntegriCloud