ports/82141: Update port: emulators/generator

Alejandro Pulver alejandro at varnet.biz
Sat Jun 11 15:10:14 UTC 2005


>Number:         82141
>Category:       ports
>Synopsis:       Update port: emulators/generator
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 11 15:10:12 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Alejandro Pulver
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:


System: FreeBSD 5.4-RELEASE #0: Sat May 21 12:14:47 ART 2005
    root at phobos.mars.bsd:/usr/src/sys/i386/compile/ATHLON-ALE



>Description:





>How-To-Repeat:





>Fix:


--- generator.diff begins here ---
diff -urN /usr/ports/emulators/generator/Makefile generator/Makefile
--- /usr/ports/emulators/generator/Makefile	Tue Mar 16 01:23:36 2004
+++ generator/Makefile	Sat Jun 11 12:04:35 2005
@@ -1,53 +1,85 @@
-# New ports collection makefile for:   generator
+# New ports collection makefile for:   emulators/generator
 # Date created:        16 April 2001
 # Whom:                Yukihiro Nakai <nakai at FreeBSD.org>
 #
-# $FreeBSD: ports/emulators/generator/Makefile,v 1.11 2004/03/16 04:23:36 edwin Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	generator
 PORTVERSION=	0.35
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	emulators
 MASTER_SITES=	http://www.squish.net/generator/files/
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	alejandro at varnet.biz
 COMMENT=	SEGA Genesis emulator
 
 LIB_DEPENDS=	jpeg.9:${PORTSDIR}/graphics/jpeg
 
-PLIST_FILES=	bin/generator-gtk
-USE_GNOME=	gtk12
 USE_SDL=	sdl
-USE_REINPLACE=	yes
 USE_GMAKE=	yes
-GNU_CONFIGURE=	yes
+USE_GNOME=	gtk12
+
+OPTIONS=	OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
+		RAZE "Use RAZE z80 emulation (only for i386)" on \
+		SDL_AUDIO "Use SDL for audio" off
+
+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
+CONFIGURE_ENV=		CPPFLAGS="-I${LOCALBASE}/include" \
+			LDFLAGS="-L${LOCALBASE}/lib"
+CONFIGURE_ARGS+=	--with-gtk
+
 MAKE_ARGS=	ACLOCAL="${TRUE}" AUTOCONF="${TRUE}" AUTOMAKE="${TRUE}" \
 		AUTOHEADER="${TRUE}"
 
+PLIST_FILES=	bin/${PORTNAME}-gtk
+
+post-install:
+	@${ECHO_CMD}
+	@${CAT} ${PKGMESSAGE}
+	@${ECHO_CMD}
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "alpha" && ${OSVERSION} >= 502102
 BROKEN=		"Does not configure on alpha 5.x"
 .endif
 
-.if ${ARCH} == "i386"
-BUILD_DEPENDS+=	nasm:${PORTSDIR}/devel/nasm
+# Generator needs GCC 2.95.x or GCC >= 3.4.2 to work properly.
+# Generator does not automatically determine the GCC version.
+
+.if ${OSVERSION} < 400012
+# GCC < 2.95 is in the base system.
+USE_GCC=		2.95
+.endif
+
+.if ${OSVERSION} >= 500035 && ${OSVERSION} < 502126
+# GCC > 2.95 (3.X) && GCC < 3.4.2 is in the base system.
+USE_GCC=		3.4
+.endif
+
+.if ${OSVERSION} < 500035
+CONFIGURE_ARGS+=	--with-gcc=2
+.endif
+
+.if ${OSVERSION} >= 500035
+CONFIGURE_ARGS+=	--with-gcc=3
+.endif
+
+.if defined(WITHOUT_OPTIMIZED_CFLAGS)
+CONFIGURE_ARGS+=	--without-gcc
+.endif
+
+.if defined(WITH_RAZE) && ${ARCH} == "i386"
+BUILD_DEPENDS+=		nasm:${PORTSDIR}/devel/nasm
 CONFIGURE_ARGS+=	--with-raze
 .else
 CONFIGURE_ARGS+=	--with-cmz80
 .endif
 
-post-patch:
-	@${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
+.if defined(WITH_SDL_AUDIO)
+CONFIGURE_ARGS+=	--with-sdl-audio
+.endif
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/emulators/generator/files/patch-configure generator/files/patch-configure
--- /usr/ports/emulators/generator/files/patch-configure	Wed Dec 31 21:00:00 1969
+++ generator/files/patch-configure	Sat Jun 11 11:56:30 2005
@@ -0,0 +1,18 @@
+--- configure.orig	Mon May  5 12:08:27 2003
++++ configure	Sat Jun 11 11:55:59 2005
+@@ -1919,15 +1919,6 @@
+ echo "${ECHO_T}Turning on gcc 3 optimisations" >&6
+         CFLAGS="$CFLAGS -minline-all-stringops -fno-math-errno"
+       fi
+-      case $target_cpu in
+-        i?86) echo "$as_me:$LINENO: result: Turning on pentium optimisations" >&5
+-echo "${ECHO_T}Turning on pentium optimisations" >&6
+-              # cannot do malign-double as we link to other libraries and it
+-              # would break binary compatibility
+-              CFLAGS="$CFLAGS -march=pentium -malign-loops=5"
+-              CFLAGS="$CFLAGS -malign-jumps=5 -malign-functions=5"
+-              ;;
+-      esac
+     else
+       { echo "$as_me:$LINENO: WARNING: You did not opt for gcc optimisations!" >&5
+ echo "$as_me: WARNING: You did not opt for gcc optimisations!" >&2;}
diff -urN /usr/ports/emulators/generator/pkg-descr generator/pkg-descr
--- /usr/ports/emulators/generator/pkg-descr	Sat Apr 21 21:32:30 2001
+++ generator/pkg-descr	Sat May 21 16:07:07 2005
@@ -1,6 +1,23 @@
 SEGA Genesis emulator
 
-I ported to FreeBSD with all sound support off.
-If you want the sound support, you hack.
+Generator is an open source emulator designed to emulate the Sega Genesis /
+Mega Drive console, a popular games machine produced in the early 1990s. It is
+a portable program written in C and has been ported to the Amiga, Macintosh,
+Windows and even pocket PCs such as the iPAQ and Cassiopeia. Natively it
+compiles under unix for X Windows with either tcl/tk or gtk/SDL, for svgalib
+and even cross-compiles to DOS with djgpp/allegro.
+
+Generator uses it's own custom 68000 processor emulation which is and uses
+compilation techniques such as block-marking, flag calculation removal,
+operand pre-calculation, endian pre-conversion etc. There are approximately
+1600 C routines generated by the first stage of compilation to cope with the
+67 instruction families. These include two versions of every instruction - one
+that calculates flags and one that doesn't, so that unnecessary flag
+computation is avoided.
+
+Author: James Ponder
 
 WWW: http://www.squish.net/generator/
+
+- Alejandro Pulver
+alejandro at varnet.biz
diff -urN /usr/ports/emulators/generator/pkg-message generator/pkg-message
--- /usr/ports/emulators/generator/pkg-message	Wed Dec 31 21:00:00 1969
+++ generator/pkg-message	Sat May 21 16:07:07 2005
@@ -0,0 +1,19 @@
+Generator has been installed.
+
+If you enabled the option SDL_AUDIO and your sound is delayed try setting the
+variable "sound_maxfields" and "sound_minfields" in your configuration file
+(usually "~/.genrc") to lower values. Like:
+
+# default: 5
+sound_minfields = 1
+
+# default: 10
+sound_maxfields = 2
+
+To gain more performance set the CPUTYPE variable in "make.conf" as appropiate
+(in addition to enabling the build option OPTIMIZED_CFLAGS), then rebuild and
+install generator.
+
+NOTE: if you want more features use the port "emulators/generator-cbiere".
+
+For more information visit: http://www.squish.net/generator/
--- generator.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list