diff options
author | pi <pi@FreeBSD.org> | 2015-11-14 21:51:27 +0800 |
---|---|---|
committer | pi <pi@FreeBSD.org> | 2015-11-14 21:51:27 +0800 |
commit | d48c28e80f442ecb3722a516569fac507b60693f (patch) | |
tree | f4ef47a7efbede5caa93294e0fbf8d93e554bcde /games | |
parent | 6cb1677cd3e18a95737742c77620d7de12591b6a (diff) | |
download | freebsd-ports-gnome-d48c28e80f442ecb3722a516569fac507b60693f.tar.gz freebsd-ports-gnome-d48c28e80f442ecb3722a516569fac507b60693f.tar.zst freebsd-ports-gnome-d48c28e80f442ecb3722a516569fac507b60693f.zip |
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
Diffstat (limited to 'games')
-rw-r--r-- | games/Makefile | 1 | ||||
-rw-r--r-- | games/retroarch/Makefile | 90 | ||||
-rw-r--r-- | games/retroarch/distinfo | 2 | ||||
-rw-r--r-- | games/retroarch/files/patch-qb_config.libs.sh | 37 | ||||
-rw-r--r-- | games/retroarch/files/patch-qb_qb.params.sh | 12 | ||||
-rw-r--r-- | games/retroarch/files/pkg-message.in | 12 | ||||
-rw-r--r-- | games/retroarch/pkg-descr | 6 | ||||
-rw-r--r-- | games/retroarch/pkg-plist | 9 |
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 |