Import games/retroarch version 1.2.2
[dports.git] / games / retroarch / Makefile
1 # Created by: Yuri Victorovich <yuri@rawbw.com>
2 # $FreeBSD$
3
4 PORTNAME=       RetroArch
5 PORTVERSION=    1.2.2
6 DISTVERSIONPREFIX=      v
7 CATEGORIES=     games
8
9 MAINTAINER=     yuri@rawbw.com
10 COMMENT=        Cross-platform entertainment system based on libretro API
11
12 LICENSE=        GPLv3
13 LICENSE_FILE=   ${WRKSRC}/COPYING
14
15 LIB_DEPENDS=    libxkbcommon.so:${PORTSDIR}/x11/libxkbcommon
16
17 OPTIONS_DEFINE= FFMPEG OSS JACK PULSEAUDIO ALSA SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO
18 OPTIONS_DEFAULT=FFMPEG OSS PULSEAUDIO SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO
19 FFMPEG_DESC=    On-the-fly recording of gameplay with libavcodec
20 NETPLAY_DESC=   Peer-to-peer netplay
21 PYTHON_DESC=    Script support in shaders
22 FBO_DESC=       OpenGL render-to-texture
23
24 FFMPEG_LIB_DEPENDS=     libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
25 FFMPEG_CONFIGURE_ENABLE=ffmpeg
26 OSS_CONFIGURE_ENABLE=   oss
27 JACK_LIB_DEPENDS=       libjack.so:${PORTSDIR}/audio/jack
28 JACK_CONFIGURE_ENABLE=  jack
29 PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
30 PULSEAUDIO_CONFIGURE_ENABLE=    pulse
31 ALSA_LIB_DEPENDS=       libasound.so:${PORTSDIR}/audio/alsa-lib
32 ALSA_CONFIGURE_ENABLE=  alsa
33 SDL_USE=                SDL=sdl2 image2
34 SDL_CONFIGURE_ON=       --disable-sdl --enable-sdl2
35 SDL_CONFIGURE_OFF=      --disable-sdl --disable-sdl2
36 OPENGL_USE=             GL=gl
37 OPENGL_CONFIGURE_ENABLE=opengl
38 OPENAL_USES=            openal:soft
39 OPENAL_CONFIGURE_ENABLE=al
40 NETPLAY_CONFIGURE_ENABLE=       netplay
41 PYTHON_CONFIGURE_ENABLE=python
42 PYTHON_USES=            python:3.4+
43 V4L_LIB_DEPENDS=        libv4l2.so:${PORTSDIR}/multimedia/libv4l
44 V4L_CONFIGURE_ENABLE=   v4l2
45 FREETYPE_LIB_DEPENDS=   libfreetype.so:${PORTSDIR}/print/freetype2
46 FREETYPE_CONFIGURE_ENABLE=      freetype
47 FBO_CONFIGURE_ENABLE=   fbo
48
49 CFLAGS+=        -pthread
50 LDFLAGS+=       -pthread
51 CONFIGURE_ARGS+=--enable-threads
52
53 USE_GITHUB=     yes
54 GH_ACCOUNT=     libretro
55
56 SUB_FILES=      pkg-message
57 GNU_CONFIGURE=  yes
58 CONFIGURE_ARGS+=--global-config-dir=${LOCALBASE}/etc
59 USES=           compiler:c++11-lib gmake
60 USE_XORG=       x11 xext xinerama xv xxf86vm
61
62 MAN1PAGES=      retroarch-cg2glsl.1 retroarch-joyconfig.1 retroarch.1
63
64 post-patch:
65         @${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|' \
66                 ${WRKSRC}/camera/drivers/video4linux2.c \
67                 ${WRKSRC}/deps/zlib/zutil.h \
68                 ${WRKSRC}/gfx/drivers/*.c \
69                 ${WRKSRC}/libretro-common/formats/png/rpng_decode.c \
70                 ${WRKSRC}/libretro-common/libco/armeabi.c \
71                 ${WRKSRC}/logger/netlogger/psl1ght_logger.c \
72                 ${WRKSRC}/wii/mem2_manager.c
73         @${REINPLACE_CMD} -e 's|<asm/types.h>|<sys/types.h>|' \
74                 ${WRKSRC}/camera/drivers/video4linux2.c
75         @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
76                 ${WRKSRC}/qb/config.libs.sh
77
78 post-install:
79         if [ -n "${STRIP}" ]; then \
80                 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch; \
81                 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch-joyconfig; \
82         fi
83         ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch.1
84         ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch-cg2glsl.1
85         ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch-joyconfig.1
86         ${RM} -rf ${STAGEDIR}${PREFIX}/share/man
87         @${REINPLACE_CMD} -e 's|# libretro_directory =|libretro_directory = "${PREFIX}/libexec/libretro"|' \
88                 ${STAGEDIR}${PREFIX}/etc/retroarch.cfg
89
90 .include <bsd.port.mk>