View | Details | Raw Unified | Return to bug 205098
Collapse All | Expand All

(-)Makefile (-115 / +8 lines)
Lines 1-119 Link Here
1
# Created by: alepulver
2
# $FreeBSD$
1
# $FreeBSD$
3
2
4
PORTNAME?=	mame
3
PORTNAME=	mess
5
PORTVERSION=	0.166
4
MTARGET=	mame
6
PORTREVISION?=	0
5
MSUBTARGET=	mess
7
CATEGORIES=	emulators
6
COMMENT=	Multiple Emulator Super System
8
7
9
MAINTAINER=	ports@FreeBSD.org
8
MASTERDIR=	${.CURDIR}/../mame
10
COMMENT?=	Multi Arcade Machine Emulator
9
DESCR=		${.CURDIR}/pkg-descr
10
PLIST=		${.CURDIR}/pkg-plist
11
11
12
LIB_DEPENDS=	libFLAC.so:${PORTSDIR}/audio/flac \
12
.include "${MASTERDIR}/Makefile"
13
		libexpat.so:${PORTSDIR}/textproc/expat2 \
14
		libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
15
RUN_DEPENDS=	liberation-fonts-ttf>=0:${PORTSDIR}/x11-fonts/liberation-fonts-ttf
16
17
NOT_FOR_ARCHS=	ia64 powerpc sparc64
18
19
USE_GITHUB=	yes
20
GH_ACCOUNT=	mamedev
21
GH_PROJECT=	mame 				# explicit (master port)
22
GH_TAGNAME=	mame${PORTVERSION:S/.//}
23
24
USES=		compiler:c11 gmake jpeg pkgconfig python:2,build shebangfix
25
SHEBANG_FILES=	src/devices/cpu/m6502/m6502make.py \
26
		src/devices/cpu/m6809/m6809make.py \
27
		src/devices/cpu/mcs96/mcs96make.py \
28
		src/devices/cpu/tms57002/tmsmake.py \
29
		src/build/*.py
30
USE_XORG=	x11 xext xi xinerama xrender
31
USE_GL=		gl
32
USE_SDL=	sdl2 ttf2
33
USE_QT4=	gui moc_build qmake_build
34
MTARGET?=	mame
35
MSUBTARGET?=	mame
36
CFLAGS+=	-I${LOCALBASE}/include
37
MAKE_ENV=	NOWERROR=1 USE_NETWORK=1 \
38
		LD="${CXX}" PYTHON="${PYTHON_CMD}" SDL_LIBVER="sdl2" \
39
		OPT_FLAGS="${CXXFLAGS}" GCC_LDFLAGS="${LDFLAGS}" \
40
		TARGET="${MTARGET}" SUBTARGET="${MSUBTARGET}" FULLNAME="mame" SDL_NETWORK="pcap"
41
MAKE_ARGS=	TARGETOS=freebsd VERBOSE=1 TOOLS=1
42
MAKEFILE=	makefile
43
GENIE=		${WRKSRC}/3rdparty/genie
44
PORTDOCS=	*
45
PORTEXAMPLES=	${MSUBTARGET}.ini
46
47
SUB_FILES=	pkg-message target.ini
48
SUB_LIST=	MTARGET=${MTARGET} MSUBTARGET=${MSUBTARGET}
49
50
OPTIONS_DEFINE=		DEBUG DOCS EXAMPLES
51
DEBUG_MAKE_ENV=		DEBUG=1
52
53
.include <bsd.port.options.mk>
54
55
.if ${ARCH} == amd64
56
MAKE_ARGS+=	PTR64=1
57
EMULATOR=	${MSUBTARGET}64
58
.else
59
EMULATOR=	${MSUBTARGET}
60
.endif
61
PLIST_SUB=	EMULATOR=${EMULATOR}
62
63
.if ${OPSYS} == FreeBSD && ${OSREL:R} == 8
64
BROKEN=		will not build on FreeBSD 8.x
65
.endif
66
67
post-patch:
68
	@${REINPLACE_CMD} -e \
69
		's|^\(CC \)|#\1| ; \
70
		 s|^\(CXX \)|#\1| ; \
71
		 s|^\(LD \)|#\1| ; \
72
		 s|^\(PYTHON \)|#\1| ; \
73
		 s| .(ARCH)|| ; \
74
		 s|FreeBSD|${OPSYS}|g' \
75
		 ${WRKSRC}/makefile \
76
		 ${GENIE}/build/gmake.bsd/genie.make
77
	@${REINPLACE_CMD} -e 's|gcc|cc|; s|g++|c++|' \
78
		${GENIE}/src/actions/codelite/codelite_project.lua \
79
		${GENIE}/src/tools/gcc.lua \
80
		${GENIE}/src/tools/snc.lua \
81
		${GENIE}/tests/test_gmake_cpp.lua
82
	@${REINPLACE_CMD} -e 's|= \"gcc|= \"cc|; s|= \"g++|= \"c++|' \
83
		-e "s|'CXX =|'#CXX =|; s|'CC  =|'#CC  =|; s| .(ARCH)| |g" \
84
		${GENIE}/src/host/scripts.c
85
	# we can't fix two types of python shebangs, so do these manually
86
	@${REINPLACE_CMD} -i "" -e "s|/usr/bin/env python|${PYTHON_CMD}|" \
87
		${WRKSRC}/src/build/png*.py
88
	@${REINPLACE_CMD} -e 's|"python"|"${PYTHON_CMD}"|' \
89
		${WRKSRC}/scripts/genie.lua
90
	@${GREP} -rl '"png.h"' ${WRKSRC}/src | ${XARGS} ${REINPLACE_CMD} \
91
		-e 's|"png.h"|"localpng.h"|'
92
	@${MV} ${WRKSRC}/src/lib/util/png.h ${WRKSRC}/src/lib/util/localpng.h
93
94
do-install:
95
	@${MKDIR} ${STAGEDIR}${DATADIR} \
96
		${STAGEDIR}${DOCSDIR} \
97
		${STAGEDIR}${EXAMPLESDIR} \
98
		${STAGEDIR}${PREFIX}/libexec/${MSUBTARGET}
99
	${INSTALL_PROGRAM} ${WRKSRC}/${EMULATOR} ${STAGEDIR}${PREFIX}/bin
100
.if ${MSUBTARGET:Mmame}
101
	(cd ${WRKSRC} && \
102
		${INSTALL_PROGRAM} chdman jedutil ldresample ldverify \
103
		romcmp testkeys unidasm \
104
		${STAGEDIR}${PREFIX}/libexec/mame)
105
.endif
106
.if ${MSUBTARGET:Mmess}
107
	(cd ${WRKSRC} && ${INSTALL_PROGRAM} castool chdman imgtool jedutil \
108
		ldresample ldverify romcmp testkeys unidasm \
109
		${STAGEDIR}${PREFIX}/libexec/mess)
110
.endif
111
	(cd ${WRKSRC} && ${COPYTREE_SHARE} artwork ${STAGEDIR}${DATADIR})
112
	(cd ${WRKSRC} && ${COPYTREE_SHARE} hash ${STAGEDIR}${DATADIR})
113
	(cd ${WRKSRC}/src/osd/sdl && \
114
		${COPYTREE_SHARE} keymaps ${STAGEDIR}${DATADIR})
115
	(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR})
116
	${INSTALL_DATA} ${WRKDIR}/target.ini \
117
		${STAGEDIR}${EXAMPLESDIR}/${MSUBTARGET}.ini
118
119
.include <bsd.port.mk>
(-)pkg-descr (-7 / +8 lines)
Lines 1-8 Link Here
1
MAME stands for Multiple Arcade Machine Emulator. When used in
1
MESS is an acronym that stands for Multi Emulator Super System. MESS will
2
conjunction with images of the original arcade game's ROM and disk
2
more or less faithfully reproduce computer and console systems on a PC.
3
data, MAME attempts to reproduce that game as faithfully as possible
3
MESS can currently emulate over 250 systems from the last 5 decades.
4
on a more modern general-purpose computer. MAME can currently emulate
5
several thousand different classic arcade video games from the late
6
1970s through the modern era.
7
4
8
WWW: http://mamedev.org/
5
MESS emulates the hardware of the systems and sometimes utilizes ROM
6
images to load programs and games. Therefore, these systems are NOT
7
simulations, but the actual emulations of the hardware.
8
9
WWW: http://www.mess.org/
(-)pkg-plist (-7 / +9 lines)
Lines 1-11 Link Here
1
bin/%%EMULATOR%%
1
bin/%%EMULATOR%%
2
libexec/mame/chdman
2
libexec/mess/castool
3
libexec/mame/jedutil
3
libexec/mess/chdman
4
libexec/mame/ldresample
4
libexec/mess/imgtool
5
libexec/mame/ldverify
5
libexec/mess/jedutil
6
libexec/mame/romcmp
6
libexec/mess/ldresample
7
libexec/mame/testkeys
7
libexec/mess/ldverify
8
libexec/mame/unidasm
8
libexec/mess/romcmp
9
libexec/mess/testkeys
10
libexec/mess/unidasm
9
%%DATADIR%%/artwork/adapture-grill.png
11
%%DATADIR%%/artwork/adapture-grill.png
10
%%DATADIR%%/artwork/shadow-mask.png
12
%%DATADIR%%/artwork/shadow-mask.png
11
%%DATADIR%%/artwork/slot-mask.png
13
%%DATADIR%%/artwork/slot-mask.png

Return to bug 205098