1PORTNAME=	atari800
2PORTVERSION=	3.1.0
3PORTREVISION=	1
4CATEGORIES=	emulators
5MASTER_SITES=	ftp://ftpmirror.uk/freebsd-ports/atari800/ \
6		SF/${PORTNAME}/ROM/Original%20XL%20ROM:x \
7		ftp://ftpmirror.uk/freebsd-ports/atari800/:x
8DISTFILES=	${DISTNAME}${EXTRACT_SUFX} xf25.zip:x
9DIST_SUBDIR=	${PORTNAME}
10EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
11
12MAINTAINER=	ports@MidnightBSD.org
13COMMENT=	Atari 8-bit computer emulator
14WWW=		http://atari800.sourceforge.net/
15
16LICENSE=	gpl2 ROM
17LICENSE_COMB=	multi
18LICENSE_NAME_ROM=	Copyrighted ROMs
19LICENSE_TEXT_ROM=	xf25 contains copyright ROMs and cannot be distributed.
20LICENSE_PERMS_ROM=	auto-accept
21
22BUILD_DEPENDS=	${UNZIP_CMD}:archivers/unzip
23LIB_DEPENDS=	libpng.so:graphics/png
24
25RESTRICTED=	xf25 contains copyright ROMs and cannot be distributed.
26
27WRKSRC=		${WRKDIR}/${DISTNAME}/src
28
29USES=		cpe gmake
30GNU_CONFIGURE=	yes
31NO_OPTIONS_SORT=yes
32
33OPTIONS_DEFINE=	DOCS SHM SDL SERIOSOUND CLIPSOUND PAGEDATTRIB BUFFEREDLOG VERYSLOW
34OPTIONS_DEFAULT=	SHM
35
36SHM_DESC=	X11 frontend with shared memory extensions
37SDL_DESC=	SDL frontend
38SERIOSOUND_DESC=Serial in/out sound
39CLIPSOUND_DESC=	Sound clipping
40PAGEDATTRIB_DESC=Page-based attribute array
41BUFFEREDLOG_DESC=Buffered debug output (until graphics mode switches back to text mode)
42VERYSLOW_DESC=	Very slow computer support
43
44CFLAGS+=	-I${LOCALBASE}/include/libpng
45LDFLAGS+=	-L${LOCALBASE}/lib
46
47ATARI_XF=	ataribas.rom atariosb.rom atarixl.rom demos1.xfd \
48		demos2.xfd dos25.xfd mydos45d.atr
49
50SERIOSOUND_CONFIGURE_ON=	--enable-seriosound
51CLIPSOUND_CONFIGURE_ON=	--enable-cripsound
52PAGEDATTRIB_CONFIGURE_ON=	--enable-pagedattrib
53BUFFEREDLOG_CONFIGURE_ON=	--enable-bufferedlog
54VERYSLOW_CONFIGURE_ON=	--enable-veryslow
55
56.include <bsd.mport.options.mk>
57
58.if ${PORT_OPTIONS:MSDL}
59PKGNAMESUFFIX=	-sdl
60USES+=		sdl
61USE_SDL=	sdl
62CONFIGURE_ARGS+=	--target=sdl
63.else
64USES+=		xorg
65USE_XORG=	x11 xext
66.if ${PORT_OPTIONS:MSHM}
67CONFIGURE_ARGS+=	--target=x11-shm
68.else
69CONFIGURE_ARGS+=	--target=x11
70.endif
71.endif
72
73post-patch:
74	@${CP} ${FILESDIR}/atari800.cfg ${WRKSRC}
75	@${REINPLACE_CMD} -e 's|GUMBY|${DATADIR}|g' ${WRKSRC}/atari800.cfg
76	@${REINPLACE_CMD} -e 's|/etc|${DATADIR}|g' ${WRKSRC}/cfg.c
77	@${REINPLACE_CMD} -e 's|/etc|${DATADIR}|g' ${WRKSRC}/atari.c
78	@${REINPLACE_CMD} -e 's|sdl-config|$$SDL_CONFIG|g' \
79		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
80
81pre-configure:
82	@${UNZIP_CMD} -q -L -o ${DISTDIR}/${DIST_SUBDIR}/xf25.zip ${ATARI_XF} -d ${WRKSRC}
83
84do-install:
85	${INSTALL_PROGRAM} ${WRKSRC}/atari800 ${PREFIX}/bin/atari800
86	${INSTALL_MAN} ${WRKSRC}/atari800.man ${PREFIX}/share/man/man1/atari800.1
87	@${MKDIR} ${DATADIR}
88	${INSTALL_DATA} ${WRKSRC}/atari800.cfg ${DATADIR}
89.for rom in ${ATARI_XF}
90	${INSTALL_DATA} ${WRKSRC}/${rom} ${DATADIR}
91.endfor
92	@${MKDIR} ${DOCSDIR}
93.for docfile in BUGS CHANGES.OLD CREDITS ChangeLog FAQ README TODO USAGE
94	${INSTALL_DATA} ${WRKSRC}/../DOC/${docfile} ${DOCSDIR}
95.endfor
96
97.include <bsd.port.mk>
98