summaryrefslogtreecommitdiffstats
path: root/emulators/vice/Makefile
blob: 2ac37033ecb1e72d9113dedd2b3e17444bc3e3fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# Created by: dchapes@ddm.on.ca
# $FreeBSD$

PORTNAME=	vice
PORTVERSION=	2.4
PORTREVISION=	5
CATEGORIES=	emulators
MASTER_SITES=	http://www.zimmers.net/anonftp/pub/cbm/crossplatform/emulators/VICE/ \
		ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/VICE/
PKGNAMESUFFIX?=	${GNOME_SUFFIX}${PKGNAMESUFFIX2}

MAINTAINER=	dinoex@FreeBSD.org
COMMENT=	Emulator for Commodore C64, C128, VIC20, PET, and CBM-II

LICENSE=	GPLv2

BUILD_DEPENDS=	bdftopcf:${PORTSDIR}/x11-fonts/bdftopcf \
		mkfontdir:${PORTSDIR}/x11-fonts/mkfontdir \
		mkfontscale:${PORTSDIR}/x11-fonts/mkfontscale
LIB_DEPENDS=	libpng.so:${PORTSDIR}/graphics/png \
		libgif.so:${PORTSDIR}/graphics/giflib \
		libmp3lame.so:${PORTSDIR}/audio/lame \
		libavcodec.so:${PORTSDIR}/multimedia/ffmpeg

RESTRICTED=	ROMs are copyrighted by Commodore Business Machines

USES=		iconv:patch gmake pkgconfig makeinfo
USE_XORG=	xpm ice sm xext xv xt x11 xmu
USE_XORG+=	xrender xinerama xi xrandr xcursor xcomposite xdamage xfixes
GNU_CONFIGURE=	yes
MAKE_ENV+=	MAKEINFOFLAGS="--no-split"
CFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
CPPFLAGS+=	-I${LOCALBASE}/include
CONFIGURE_ARGS+=	--enable-fullscreen --enable-ipv6 \
			--disable-dependency-tracking
#CONFIGURE_ARGS+=	--enable-ethernet
# libpcap or libnet
#CONFIGURE_ARGS+=	--enable-sdlui
#CONFIGURE_ARGS+=	--enable-gp2x
#CONFIGURE_ARGS+=	--enable-wiz
#CONFIGURE_ARGS+=	--enable-parsid
#CONFIGURE_ARGS+=	--enable-memmap

LMLINKS=	vice.1 x64.1 \
		vice.1 x128.1 \
		vice.1 xvic.1 \
		vice.1 xpet.1 \
		vice.1 xplus4.1 \
		vice.1 xcbm2.1

FIX_XAW=	src/arch/unix/x11/xaw/about.c \
		src/arch/unix/x11/xaw/uicartridge.c \
		src/arch/unix/x11/xaw/uiedisk.c \
		src/arch/unix/x11/xaw/uimenu.c \
		src/arch/unix/x11/xaw/uipalcontrol.c \
		src/arch/unix/x11/xaw/uiscreenshot.c \
		src/arch/unix/x11/xaw/uisnapshot.c \
		src/arch/unix/x11/xaw/uivsidcontrol.c \
		src/arch/unix/x11/xaw/x11ui.c \
		src/arch/unix/x11/xaw/widgets/FileSel.c \
		src/arch/unix/x11/xaw/widgets/FileSelP.h \
		src/arch/unix/x11/xaw/widgets/MultiList.h \
		src/arch/unix/x11/xaw/widgets/MultiListP.h \
		src/arch/unix/x11/xaw/widgets/ScrList.c \

OPTIONS_DEFINE=	SDL ASOUND PULSE DOCS
OPTIONS_SINGLE= GUI
OPTIONS_SINGLE_GUI=	GNOMEUI XAW3D XAW
OPTIONS_DEFAULT?=	GNOMEUI SDL
NO_OPTIONS_SORT=yes
GNOMEUI_DESC=	use gnomeui toolkit
XAW3D_DESC=	use Xaw3d library
XAW_DESC=	use plain Xaw library
SDL_DESC=	build with SDL sound system support
ASOUND_DESC=	build with asound support
PULSE_DESC=	build with pulseaudio support

GNOMEUI_CONFIGURE_ENABLE=	gnomeui
XAW3D_CONFIGURE_WITH=	xaw3d
XAW3D_LIB_DEPENDS=	libXaw3d.so:${PORTSDIR}/x11-toolkits/Xaw3d
SDL_USE=		SDL=sdl
SDL_CONFIGURE_ON=	--with-sdlsound
SDL_CPPFLAGS=		-I${LOCALBASE}/include/SDL
ASOUND_CONFIGURE_OFF=	--without-alsa
ASOUND_LIB_DEPENDS=	libasound.so:${PORTSDIR}/audio/alsa-lib
PULSE_CONFIGURE_OFF=	--without-pulse
PULSE_LIB_DEPENDS=	libpulse.so:${PORTSDIR}/audio/pulseaudio

.include <bsd.port.options.mk>

.if !defined(BUILDING_INDEX)
__pmlinks1!= ${ECHO_CMD} '${LMLINKS:S/    / /}' | ${AWK} \
	'{ if (NF % 2 != 0) { print "broken"; exit; } \
	for (i=1; i<=NF; i++) { \
		if ( i % 2 == 0) { print " " $$i " ;"; } \
		else { printf "${LN} -s " $$i " "; } \
	} }'
.endif

.if ${PORT_OPTIONS:MXAW3D}
GNOME_SUFFIX=   -xaw3d
CONFLICTS?=     vice-gnome-1.* vice-1.*
.endif

.if ${PORT_OPTIONS:MGNOMEUI}
GNOME_SUFFIX=   -gnome
USE_GNOME=      gtk20 vte
CONFLICTS?=     vice-1.* vice-xaw3d-1.*
.endif

.if ${PORT_OPTIONS:MXAW}
CONFLICTS?=     vice-xaw3d-1.* vice-gnome-1.*
USE_XORG+=      xaw
.endif

.if exists(${LOCALBASE}/bin/fc-cache)
PLIST_SUB+=		FCCACHE=""
PLIST_SUB+=		NOFCCACHE="@comment "
.else
PLIST_SUB+=		FCCACHE="@comment "
PLIST_SUB+=		NOFCCACHE=""
.endif

.if ${PORT_OPTIONS:MNLS}
USES+=		gettext
CONFIGURE_ARGS+=	--enable-nls --localedir=${LOCALBASE}/share/locale
# causes vice to crash:
#LDFLAGS+=		-lgettextlib
PLIST_SUB+=		NLS=""
.else
CONFIGURE_ARGS+=	--disable-nls
PLIST_SUB+=		NLS="@comment "
.endif

.if ${PORT_OPTIONS:MDOCS}
INFO+=		vice
.endif

.if ${PORT_OPTIONS:MSDL}
USE_SDL=	sdl
.endif

post-extract:
	@${RM} -f ${WRKSRC}/doc/vice.info*

post-patch:
	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \
		${WRKSRC}/man/vice.1
	${REINPLACE_CMD} -e 's|^localedir.*|localedir = $$(DESTDIR)${LOCALBASE}/share/locale|' \
		${WRKSRC}/po/Makefile.in.in
	${REINPLACE_CMD} -e 's|lungif|lgif|g' -e 's|== "x|= "x|' \
		-e 's|"DATADIRNAME"/locale|share/locale|' \
		${WRKSRC}/configure
.for i in da.po de.po fr.po hu.po it.po nl.po pl.po sv.po tr.po
	${MV} "${WRKSRC}/po/${i}" "${WRKSRC}/po/${i}.latin"
	${ICONV_CMD} -f latin1 -t utf-8 < "${WRKSRC}/po/${i}.latin" > "${WRKSRC}/po/${i}"
.endfor
.if ! ${PORT_OPTIONS:MDOCS}
	${REINPLACE_CMD} -e 's| doc||' ${WRKSRC}/Makefile.in
.endif
.if ${PORT_OPTIONS:MXAW3D}
.for i in ${FIX_XAW}
	${REINPLACE_CMD} -e 's|X11/Xaw/|X11/Xaw3d/|' ${WRKSRC}/${i}
.endfor
.endif

pre-install:
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/vice/fonts
.if exists(${LOCALBASE}/bin/fc-cache)
	${INSTALL_DATA} ${WRKSRC}/data/fonts/vice-cbm.bdf \
		${STAGEDIR}${PREFIX}/lib/vice/fonts/
.endif
.if ${PORT_OPTIONS:MDOCS}
	${MKDIR} ${STAGEDIR}${DOCSDIR}
.endif

post-install:
	( cd ${STAGEDIR}${PREFIX}/man/man1 && ${__pmlinks1} )
.if ${PORT_OPTIONS:MDOCS}
	${LN} -sf vice_toc.html ${STAGEDIR}${DOCSDIR}/index.html
.endif

.include <bsd.port.mk>
OpenPOWER on IntegriCloud