Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Nov 2015 13:51:27 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r401567 - in head/games: . retroarch retroarch/files
Message-ID:  <201511141351.tAEDpRSW021865@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Sat Nov 14 13:51:27 2015
New Revision: 401567
URL: https://svnweb.freebsd.org/changeset/ports/401567

Log:
  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

Added:
  head/games/retroarch/
  head/games/retroarch/Makefile   (contents, props changed)
  head/games/retroarch/distinfo   (contents, props changed)
  head/games/retroarch/files/
  head/games/retroarch/files/patch-qb_config.libs.sh   (contents, props changed)
  head/games/retroarch/files/patch-qb_qb.params.sh   (contents, props changed)
  head/games/retroarch/files/pkg-message.in   (contents, props changed)
  head/games/retroarch/pkg-descr   (contents, props changed)
  head/games/retroarch/pkg-plist   (contents, props changed)
Modified:
  head/games/Makefile

Modified: head/games/Makefile
==============================================================================
--- head/games/Makefile	Sat Nov 14 13:50:59 2015	(r401566)
+++ head/games/Makefile	Sat Nov 14 13:51:27 2015	(r401567)
@@ -835,6 +835,7 @@
     SUBDIR += reminiscence
     SUBDIR += rescue
     SUBDIR += residualvm
+    SUBDIR += retroarch
     SUBDIR += rezerwar
     SUBDIR += rfksay
     SUBDIR += ri-li

Added: head/games/retroarch/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/Makefile	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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>

Added: head/games/retroarch/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/distinfo	Sat Nov 14 13:51:27 2015	(r401567)
@@ -0,0 +1,2 @@
+SHA256 (libretro-RetroArch-v1.2.2_GH0.tar.gz) = 1113f75f6ddb790174b0f9e0fc82ff4875e8a4d39262428a6ba4a931a147b9af
+SIZE (libretro-RetroArch-v1.2.2_GH0.tar.gz) = 9155016

Added: head/games/retroarch/files/patch-qb_config.libs.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/files/patch-qb_config.libs.sh	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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

Added: head/games/retroarch/files/patch-qb_qb.params.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/files/patch-qb_qb.params.sh	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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-*)

Added: head/games/retroarch/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/files/pkg-message.in	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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!
+======================================================================

Added: head/games/retroarch/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/pkg-descr	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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

Added: head/games/retroarch/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/retroarch/pkg-plist	Sat Nov 14 13:51:27 2015	(r401567)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511141351.tAEDpRSW021865>