Update games/hexalate to version 1.1.6
[dports.git] / games / retroarch / Makefile
1 # Created by: Yuri Victorovich <yuri@rawbw.com>
2 # $FreeBSD$
3
4 PORTNAME=       RetroArch
5 PORTVERSION=    1.3.6
6 DISTVERSIONPREFIX=      v
7 PORTREVISION=   18
8 CATEGORIES=     games
9
10 MAINTAINER=     greg@unrelenting.technology
11 COMMENT=        Cross-platform entertainment system based on libretro API
12
13 LICENSE=        GPLv3
14 LICENSE_FILE=   ${WRKSRC}/COPYING
15
16 LIB_DEPENDS=    libxkbcommon.so:x11/libxkbcommon \
17                 libdrm.so:graphics/libdrm \
18                 libass.so:multimedia/libass
19
20 BROKEN_powerpc64=       fails to compile: features_cpu.c: undefined reference to __mftb
21
22 OPTIONS_DEFINE= FFMPEG OSS JACK PULSEAUDIO ALSA SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO
23 OPTIONS_DEFAULT=OSS PULSEAUDIO SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO  # FFMPEG
24 FFMPEG_DESC=    On-the-fly recording of gameplay with libavcodec
25 NETPLAY_DESC=   Peer-to-peer netplay
26 PYTHON_DESC=    Script support in shaders
27 FBO_DESC=       OpenGL render-to-texture
28
29 FFMPEG_BROKEN=          fails to build with ffmpeg 4.0
30 FFMPEG_LIB_DEPENDS=     libavcodec.so:multimedia/ffmpeg
31 FFMPEG_CONFIGURE_ENABLE=ffmpeg
32 OSS_CONFIGURE_ENABLE=   oss
33 JACK_LIB_DEPENDS=       libjack.so:audio/jack
34 JACK_CONFIGURE_ENABLE=  jack
35 PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
36 PULSEAUDIO_CONFIGURE_ENABLE=    pulse
37 ALSA_LIB_DEPENDS=       libasound.so:audio/alsa-lib
38 ALSA_CONFIGURE_ENABLE=  alsa
39 SDL_USES=               sdl
40 SDL_USE=                SDL=sdl2 image2
41 SDL_CONFIGURE_ON=       --disable-sdl --enable-sdl2
42 SDL_CONFIGURE_OFF=      --disable-sdl --disable-sdl2
43 OPENGL_USES=            gl
44 OPENGL_USE=             GL=gl,egl,gbm
45 OPENGL_CONFIGURE_ENABLE=opengl
46 OPENAL_USES=            openal:soft
47 OPENAL_CONFIGURE_ENABLE=al
48 NETPLAY_CONFIGURE_ENABLE=       netplay
49 PYTHON_CONFIGURE_ENABLE=python
50 PYTHON_USES=            python:3.4+
51 V4L_LIB_DEPENDS=        libv4l2.so:multimedia/libv4l
52 V4L_BUILD_DEPENDS=      v4l_compat>0:multimedia/v4l_compat
53 V4L_CONFIGURE_ENABLE=   v4l2
54 FREETYPE_LIB_DEPENDS=   libfreetype.so:print/freetype2
55 FREETYPE_CONFIGURE_ENABLE=      freetype
56 FBO_CONFIGURE_ENABLE=   fbo
57
58 CFLAGS+=        -pthread
59 LDFLAGS+=       -pthread
60 LDFLAGS_i386=   -Wl,-znotext
61 CONFIGURE_ARGS+=--enable-threads --disable-udev
62 CONFIGURE_ENV+= MAN_DIR=${MANPREFIX}/man
63
64 USES=           compiler:c++11-lib gmake pkgconfig shebangfix xorg
65 USE_GITHUB=     yes
66 GH_ACCOUNT=     libretro
67 SUB_FILES=      pkg-message
68 GNU_CONFIGURE=  yes
69 CONFIGURE_ARGS+=--global-config-dir=${LOCALBASE}/etc
70 USE_XORG=       x11 xcb xext xinerama xv xxf86vm
71 SHEBANG_FILES=  libretro-common/glsym/glgen.py libretro-common/glsym/rglgen.py tools/cg2glsl.py tools/vulkan_loader_generator.py
72
73 post-patch:
74         @${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|' \
75                 ${WRKSRC}/camera/drivers/video4linux2.c \
76                 ${WRKSRC}/gfx/drivers/*.c \
77                 ${WRKSRC}/libretro-common/libco/armeabi.c \
78                 ${WRKSRC}/memory/wii/mem2_manager.c
79         @${REINPLACE_CMD} -e 's|<asm/types.h>|<sys/types.h>|' \
80                 ${WRKSRC}/camera/drivers/video4linux2.c
81         @${REINPLACE_CMD} -e '/^add_define_make DYLIB_LIB/s|$$|;\
82                 add_include_dirs ${LOCALBASE}/include;\
83                 add_library_dirs ${LOCALBASE}/lib| ; \
84                 /^check_lib OSS_LIB/d' \
85                 ${WRKSRC}/qb/config.libs.sh
86
87 post-patch-PYTHON-on:
88         @${REINPLACE_CMD} -e '/check_pkgconf PYTHON/s/python3/python-${PYTHON_VER}/' \
89                 ${WRKSRC}/qb/config.libs.sh
90
91 post-install:
92         @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch
93         @${REINPLACE_CMD} -e 's|# libretro_directory =|libretro_directory = "${PREFIX}/libexec/libretro"|' \
94                 ${STAGEDIR}${PREFIX}/etc/retroarch.cfg
95
96 .include <bsd.port.mk>