Skip to content

Commit

Permalink
games/moonlight-embedded: Update to 2.5.2
Browse files Browse the repository at this point in the history
Enable udev, evdev and platform selection features.
  • Loading branch information
arrowd committed Apr 21, 2022
1 parent 8412492 commit 1a71ca9
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 123 deletions.
20 changes: 7 additions & 13 deletions games/moonlight-embedded/Makefile
@@ -1,44 +1,38 @@
PORTNAME= moonlight-embedded
DISTVERSION= 2.4.11
DISTVERSION= 2.5.2
CATEGORIES= games
MASTER_SITES= https://github.com/irtimmer/moonlight-embedded/releases/download/v${DISTVERSION}/

PATCH_SITES= https://github.com/irtimmer/moonlight-embedded/commit/
PATCHFILES= 5b6639c8a76c4bbb5e0b4bcfe41b8df136608885.patch:-p1

MAINTAINER= ports@FreeBSD.org
COMMENT= Gamestream client

LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE

BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libcurl.so:ftp/curl \
libenet.so:net/enet \
libexpat.so:textproc/expat2 \
libevdev.so:devel/libevdev \
libopus.so:audio/opus \
libudev.so:devel/libudev-devd \
libuuid.so:misc/e2fsprogs-libuuid

USES= cmake localbase:ldflags perl5 pkgconfig sdl ssl tar:xz
USE_LDCONFIG= yes
USE_PERL5= build
USE_SDL= sdl2

CFLAGS+= -DPREFIX="\\\"${PREFIX}\\\""
NO_WRKSUBDIR= yes
CFLAGS+= -DHAS_SOCKLEN_T=1 -I${LOCALBASE}/include/libepoll-shim/
LDFLAGS+= -lepoll-shim

post-patch:
@${REINPLACE_CMD} -e '/(ALSA)/d' \
-e '/libpulse-simple/d' \
-e '/libcec/d' \
-e '/libevdev/d' -e 's@./src/input/evdev.c@@' \
-e '/libudev/d' -e 's@./src/input/udev.c@@' \
-e '/libva/d' \
-e '/vdpau/d' \
-e '/egl/d' \
-e '/glesv2/d' \
-e '/x11/d' \
${WRKSRC}/CMakeLists.txt
@${RM} ${WRKSRC}/src/loop.c
@${REINPLACE_CMD} -e '/avahi-client/d' -e 's@SHARED@STATIC@' \
-e 's@OpenSSL 1.0.2@OpenSSL@' -e '/^install(/d' \
${WRKSRC}/libgamestream/CMakeLists.txt
Expand Down
8 changes: 3 additions & 5 deletions games/moonlight-embedded/distinfo
@@ -1,5 +1,3 @@
TIMESTAMP = 1597898806
SHA256 (moonlight-embedded-2.4.11.tar.xz) = 4494a30925c42c28197e1b0ebabdac0215507f206696aa5b14cb6e85afa4e33c
SIZE (moonlight-embedded-2.4.11.tar.xz) = 164096
SHA256 (5b6639c8a76c4bbb5e0b4bcfe41b8df136608885.patch) = e09b68d07acf1790747da9663dd8c0c0484778f948fac2c8e75a8b5a9e49daaa
SIZE (5b6639c8a76c4bbb5e0b4bcfe41b8df136608885.patch) = 1076
TIMESTAMP = 1649611079
SHA256 (moonlight-embedded-2.5.2.tar.xz) = 05b8c4db5ff4e5ea6f6edf2ffc35fef4c989792342549498fd372bc21707f809
SIZE (moonlight-embedded-2.5.2.tar.xz) = 295184
26 changes: 26 additions & 0 deletions games/moonlight-embedded/files/patch-src_input_evdev.c
@@ -0,0 +1,26 @@
--- src/input/evdev.c.orig 2021-12-20 00:24:48 UTC
+++ src/input/evdev.c
@@ -38,10 +38,10 @@
#include <limits.h>
#include <unistd.h>
#include <pthread.h>
-#include <endian.h>
+#include <sys/endian.h>
#include <math.h>

-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if _BYTE_ORDER == _LITTLE_ENDIAN
#define int16_to_le(val) val
#else
#define int16_to_le(val) ((((val) >> 8) & 0x00FF) | (((val) << 8) & 0xFF00))
@@ -66,8 +66,8 @@ struct input_device {
int hats_state[3][2];
int fd;
char modifiers;
- __s32 mouseDeltaX, mouseDeltaY, mouseScroll;
- __s32 touchDownX, touchDownY, touchX, touchY;
+ int32_t mouseDeltaX, mouseDeltaY, mouseScroll;
+ int32_t touchDownX, touchDownY, touchX, touchY;
struct timeval touchDownTime;
struct timeval btnDownTime;
short controllerId;
93 changes: 2 additions & 91 deletions games/moonlight-embedded/files/patch-src_main.c
@@ -1,54 +1,6 @@
--- src/main.c.orig 2020-03-09 19:33:27 UTC
--- src/main.c.orig 2021-12-20 00:24:48 UTC
+++ src/main.c
@@ -91,7 +91,6 @@ static void stream(PSERVER_DATA server, PCONFIGURATION
}

int gamepads = 0;
- gamepads += evdev_gamepads;
#ifdef HAVE_SDL
gamepads += sdl_gamepads;
#endif
@@ -121,21 +120,11 @@ static void stream(PSERVER_DATA server, PCONFIGURATION
connection_debug = true;
}

- if (IS_EMBEDDED(system))
- loop_init();
-
platform_start(system);
LiStartConnection(&server->serverInfo, &config->stream, &connection_callbacks, platform_get_video(system), platform_get_audio(system, config->audio_device), NULL, drFlags, config->audio_device, 0);

- if (IS_EMBEDDED(system)) {
- if (!config->viewonly)
- evdev_start();
- loop_main();
- if (!config->viewonly)
- evdev_stop();
- }
#ifdef HAVE_SDL
- else if (system == SDL)
+ if (system == SDL)
sdl_loop();
#endif

@@ -188,7 +177,6 @@ static void help() {
printf("\t-surround\t\tStream 5.1 surround sound (requires GFE 2.7)\n");
printf("\t-keydir <directory>\tLoad encryption keys from directory\n");
printf("\t-mapping <file>\t\tUse <file> as gamepad mappings configuration file\n");
- printf("\t-platform <system>\tSpecify system used for audio, video and input: pi/imx/aml/rk/x11/x11_vdpau/sdl/fake (default auto)\n");
printf("\t-unsupported\t\tTry streaming if GFE version or options are unsupported\n");
printf("\t-quitappafter\t\tSend quit app request to remote after quitting session\n");
printf("\t-viewonly\t\tDisable all input processing (view-only mode)\n");
@@ -228,8 +216,6 @@ int main(int argc, char* argv[]) {
exit(-1);
}

- evdev_create(config.inputs[0], NULL, config.debug_level > 0);
- evdev_map(config.inputs[0]);
exit(0);
}

@@ -240,12 +226,8 @@ int main(int argc, char* argv[]) {
@@ -258,12 +244,8 @@ int main(int argc, char* argv[]) {
exit(-1);
}
config.address[0] = 0;
Expand All @@ -63,44 +15,3 @@
}

char host_config_file[128];
@@ -304,39 +286,8 @@ int main(int argc, char* argv[]) {
if (config.debug_level > 0)
printf("View-only mode enabled, no input will be sent to the host computer\n");
} else {
- if (IS_EMBEDDED(system)) {
- char* mapping_env = getenv("SDL_GAMECONTROLLERCONFIG");
- if (config.mapping == NULL && mapping_env == NULL) {
- fprintf(stderr, "Please specify mapping file as default mapping could not be found.\n");
- exit(-1);
- }
-
- struct mapping* mappings = NULL;
- if (config.mapping != NULL)
- mappings = mapping_load(config.mapping, config.debug_level > 0);
-
- if (mapping_env != NULL) {
- struct mapping* map = mapping_parse(mapping_env);
- map->next = mappings;
- mappings = map;
- }
-
- for (int i=0;i<config.inputsCount;i++) {
- if (config.debug_level > 0)
- printf("Add input %s...\n", config.inputs[i]);
-
- evdev_create(config.inputs[i], mappings, config.debug_level > 0);
- }
-
- udev_init(!inputAdded, mappings, config.debug_level > 0);
- evdev_init();
- rumble_handler = evdev_rumble;
- #ifdef HAVE_LIBCEC
- cec_init();
- #endif /* HAVE_LIBCEC */
- }
#ifdef HAVE_SDL
- else if (system == SDL) {
+ if (system == SDL) {
if (config.inputsCount > 0) {
fprintf(stderr, "You can't select input devices as SDL will automatically use all available controllers\n");
exit(-1);
6 changes: 3 additions & 3 deletions games/moonlight-embedded/files/patch-src_platform.c
@@ -1,8 +1,8 @@
--- src/platform.c.orig 2018-08-11 15:43:13 UTC
--- src/platform.c.orig 2021-12-20 00:24:48 UTC
+++ src/platform.c
@@ -174,14 +174,6 @@ AUDIO_RENDERER_CALLBACKS* platform_get_audio(enum plat
if (audio_device == NULL || strcmp(audio_device, "local") == 0 || strcmp(audio_device, "hdmi") == 0)
@@ -188,14 +188,6 @@ AUDIO_RENDERER_CALLBACKS* platform_get_audio(enum plat
return (PAUDIO_RENDERER_CALLBACKS) dlsym(RTLD_DEFAULT, "audio_callbacks_omx");
// fall-through
#endif
- default:
- #ifdef HAVE_PULSE
Expand Down

This file was deleted.

0 comments on commit 1a71ca9

Please sign in to comment.