summaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2015-11-14 13:51:27 +0000
committerKurt Jaeger <pi@FreeBSD.org>2015-11-14 13:51:27 +0000
commit5c787d38b87f9680097554fb901998d3db93bae9 (patch)
treef4ef47a7efbede5caa93294e0fbf8d93e554bcde /games
parent- Add LICENSE_FILE (diff)
New port: games/retroarch
RetroArch is the reference frontend for the libretro API. Popular examples of implementations for this API includes videogame system emulators and game engines, but also more generalized 3D programs. These programs are instantiated as dynamic libraries. We refer to these as "libretro cores". WWW: http://github.com/libretro/RetroArch PR: 204347 Submitted by: yuri@rawbw.com
Notes
Notes: svn path=/head/; revision=401567
Diffstat (limited to 'games')
-rw-r--r--games/Makefile1
-rw-r--r--games/retroarch/Makefile90
-rw-r--r--games/retroarch/distinfo2
-rw-r--r--games/retroarch/files/patch-qb_config.libs.sh37
-rw-r--r--games/retroarch/files/patch-qb_qb.params.sh12
-rw-r--r--games/retroarch/files/pkg-message.in12
-rw-r--r--games/retroarch/pkg-descr6
-rw-r--r--games/retroarch/pkg-plist9
8 files changed, 169 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile
index e0d1ae0524bd..6bb8ad8cb856 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -835,6 +835,7 @@
SUBDIR += reminiscence
SUBDIR += rescue
SUBDIR += residualvm
+ SUBDIR += retroarch
SUBDIR += rezerwar
SUBDIR += rfksay
SUBDIR += ri-li
diff --git a/games/retroarch/Makefile b/games/retroarch/Makefile
new file mode 100644
index 000000000000..0dbf1c2ae1e0
--- /dev/null
+++ b/games/retroarch/Makefile
@@ -0,0 +1,90 @@
+# Created by: Yuri Victorovich <yuri@rawbw.com>
+# $FreeBSD$
+
+PORTNAME= RetroArch
+PORTVERSION= 1.2.2
+DISTVERSIONPREFIX= v
+CATEGORIES= games
+
+MAINTAINER= yuri@rawbw.com
+COMMENT= Cross-platform entertainment system based on libretro API
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libxkbcommon.so:${PORTSDIR}/x11/libxkbcommon
+
+OPTIONS_DEFINE= FFMPEG OSS JACK PULSEAUDIO ALSA SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO
+OPTIONS_DEFAULT=FFMPEG OSS PULSEAUDIO SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO
+FFMPEG_DESC= On-the-fly recording of gameplay with libavcodec
+NETPLAY_DESC= Peer-to-peer netplay
+PYTHON_DESC= Script support in shaders
+FBO_DESC= OpenGL render-to-texture
+
+FFMPEG_LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
+FFMPEG_CONFIGURE_ENABLE=ffmpeg
+OSS_CONFIGURE_ENABLE= oss
+JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
+JACK_CONFIGURE_ENABLE= jack
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
+PULSEAUDIO_CONFIGURE_ENABLE= pulse
+ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib
+ALSA_CONFIGURE_ENABLE= alsa
+SDL_USE= SDL=sdl2 image2
+SDL_CONFIGURE_ON= --disable-sdl --enable-sdl2
+SDL_CONFIGURE_OFF= --disable-sdl --disable-sdl2
+OPENGL_USE= GL=gl
+OPENGL_CONFIGURE_ENABLE=opengl
+OPENAL_USES= openal:soft
+OPENAL_CONFIGURE_ENABLE=al
+NETPLAY_CONFIGURE_ENABLE= netplay
+PYTHON_CONFIGURE_ENABLE=python
+PYTHON_USES= python:3.4+
+V4L_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
+V4L_CONFIGURE_ENABLE= v4l2
+FREETYPE_LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2
+FREETYPE_CONFIGURE_ENABLE= freetype
+FBO_CONFIGURE_ENABLE= fbo
+
+CFLAGS+= -pthread
+LDFLAGS+= -pthread
+CONFIGURE_ARGS+=--enable-threads
+
+USE_GITHUB= yes
+GH_ACCOUNT= libretro
+
+SUB_FILES= pkg-message
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--global-config-dir=${LOCALBASE}/etc
+USES= compiler:c++11-lib gmake
+USE_XORG= x11 xext xinerama xv xxf86vm
+
+MAN1PAGES= retroarch-cg2glsl.1 retroarch-joyconfig.1 retroarch.1
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|' \
+ ${WRKSRC}/camera/drivers/video4linux2.c \
+ ${WRKSRC}/deps/zlib/zutil.h \
+ ${WRKSRC}/gfx/drivers/*.c \
+ ${WRKSRC}/libretro-common/formats/png/rpng_decode.c \
+ ${WRKSRC}/libretro-common/libco/armeabi.c \
+ ${WRKSRC}/logger/netlogger/psl1ght_logger.c \
+ ${WRKSRC}/wii/mem2_manager.c
+ @${REINPLACE_CMD} -e 's|<asm/types.h>|<sys/types.h>|' \
+ ${WRKSRC}/camera/drivers/video4linux2.c
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/qb/config.libs.sh
+
+post-install:
+ if [ -n "${STRIP}" ]; then \
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch; \
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch-joyconfig; \
+ fi
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch-cg2glsl.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/man/man1/retroarch-joyconfig.1
+ ${RM} -rf ${STAGEDIR}${PREFIX}/share/man
+ @${REINPLACE_CMD} -e 's|# libretro_directory =|libretro_directory = "${PREFIX}/libexec/libretro"|' \
+ ${STAGEDIR}${PREFIX}/etc/retroarch.cfg
+
+.include <bsd.port.mk>
diff --git a/games/retroarch/distinfo b/games/retroarch/distinfo
new file mode 100644
index 000000000000..cbf8c791aefe
--- /dev/null
+++ b/games/retroarch/distinfo
@@ -0,0 +1,2 @@
+SHA256 (libretro-RetroArch-v1.2.2_GH0.tar.gz) = 1113f75f6ddb790174b0f9e0fc82ff4875e8a4d39262428a6ba4a931a147b9af
+SIZE (libretro-RetroArch-v1.2.2_GH0.tar.gz) = 9155016
diff --git a/games/retroarch/files/patch-qb_config.libs.sh b/games/retroarch/files/patch-qb_config.libs.sh
new file mode 100644
index 000000000000..9a8dca53e2ee
--- /dev/null
+++ b/games/retroarch/files/patch-qb_config.libs.sh
@@ -0,0 +1,37 @@
+--- qb/config.libs.sh.orig 2015-07-19 09:50:27 UTC
++++ qb/config.libs.sh
+@@ -31,6 +31,9 @@ fi
+
+ add_define_make DYLIB_LIB "$DYLIB"
+
++add_include_dirs /usr/local/include
++add_library_dirs /usr/local/lib
++
+ [ "$OS" = 'Darwin' ] && HAVE_X11=no # X11 breaks on recent OSXes even if present.
+
+ [ -d /opt/vc/lib ] && add_library_dirs /opt/vc/lib
+@@ -125,11 +128,11 @@ fi
+ add_define_make libretro "$LIBRETRO"
+ }
+
+-if [ "$MAN_DIR" ]; then
++#if [ "$MAN_DIR" ]; then
+ add_define_make MAN_DIR "$MAN_DIR"
+-else
+- add_define_make MAN_DIR "${PREFIX}/share/man/man1"
+-fi
++#else
++ add_define_make MAN_DIR "${PREFIX}/man/man1"
++#fi
+
+ if [ "$OS" = 'Win32' ]; then
+ HAVE_THREADS=yes
+@@ -182,7 +185,7 @@ fi
+ check_pkgconf ALSA alsa
+ check_header OSS sys/soundcard.h
+ check_header OSS_BSD soundcard.h
+-check_lib OSS_LIB -lossaudio
++#check_lib OSS_LIB -lossaudio
+
+ if [ "$OS" = 'Darwin' ]; then
+ check_lib AL "-framework OpenAL" alcOpenDevice
diff --git a/games/retroarch/files/patch-qb_qb.params.sh b/games/retroarch/files/patch-qb_qb.params.sh
new file mode 100644
index 000000000000..a90c5564c2bd
--- /dev/null
+++ b/games/retroarch/files/patch-qb_qb.params.sh
@@ -0,0 +1,12 @@
+--- qb/qb.params.sh.orig 2015-07-19 09:50:27 UTC
++++ qb/qb.params.sh
+@@ -59,6 +59,9 @@ parse_input() # Parse stuff :V
+ while [ "$1" ]; do
+ case "$1" in
+ --prefix=*) PREFIX=${1##--prefix=};;
++ --build=*) ;;
++ --x-includes=*) ;;
++ --x-libraries=*) ;;
+ --global-config-dir=*) GLOBAL_CONFIG_DIR=${1##--global-config-dir=};;
+ --host=*) CROSS_COMPILE=${1##--host=}-;;
+ --enable-*)
diff --git a/games/retroarch/files/pkg-message.in b/games/retroarch/files/pkg-message.in
new file mode 100644
index 000000000000..ff92753e00c1
--- /dev/null
+++ b/games/retroarch/files/pkg-message.in
@@ -0,0 +1,12 @@
+======================================================================
+You installed RetroArch: libretro-based entertainment platform.
+
+RetroArch is the lowest tier of the entertainment platform. The middle
+tier is the core, which is usually an interpreter of the computer game
+code. The top tier is the game code itself.
+
+You can run the stack with this command:
+$ retroarch -L some-core-libretro.so some-game.game
+
+Enjoy!
+======================================================================
diff --git a/games/retroarch/pkg-descr b/games/retroarch/pkg-descr
new file mode 100644
index 000000000000..71751b84acc4
--- /dev/null
+++ b/games/retroarch/pkg-descr
@@ -0,0 +1,6 @@
+RetroArch is the reference frontend for the libretro API. Popular examples
+of implementations for this API includes videogame system emulators and
+game engines, but also more generalized 3D programs. These programs are
+instantiated as dynamic libraries. We refer to these as "libretro cores".
+
+WWW: http://github.com/libretro/RetroArch
diff --git a/games/retroarch/pkg-plist b/games/retroarch/pkg-plist
new file mode 100644
index 000000000000..5d383c9b5cb5
--- /dev/null
+++ b/games/retroarch/pkg-plist
@@ -0,0 +1,9 @@
+bin/retroarch
+bin/retroarch-cg2glsl
+bin/retroarch-joyconfig
+etc/retroarch.cfg
+man/man1/retroarch-cg2glsl.1.gz
+man/man1/retroarch-joyconfig.1.gz
+man/man1/retroarch.1.gz
+share/pixmaps/retroarch.png
+share/pixmaps/retroarch.svg