diff --git a/games/moonlight-embedded/Makefile b/games/moonlight-embedded/Makefile index 45c8ecaac71c..17b7723059af 100644 --- a/games/moonlight-embedded/Makefile +++ b/games/moonlight-embedded/Makefile @@ -1,54 +1,48 @@ 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 @${RM} ${WRKSRC}/libgamestream/discover.c @${REINPLACE_CMD} -e 's@/etc/moonlight/moonlight.conf@${PREFIX}/etc/moonlight.conf@' \ -e 's@moonligt@moonlight@g' \ ${WRKSRC}/docs/README.pod post-install: @${MV} ${STAGEDIR}${PREFIX}/etc/moonlight.conf \ ${STAGEDIR}${PREFIX}/etc/moonlight.conf.sample .include diff --git a/games/moonlight-embedded/distinfo b/games/moonlight-embedded/distinfo index 5aab3cccd977..119ac533be76 100644 --- a/games/moonlight-embedded/distinfo +++ b/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 diff --git a/games/moonlight-embedded/files/patch-src_input_evdev.c b/games/moonlight-embedded/files/patch-src_input_evdev.c new file mode 100644 index 000000000000..2fbd4ff994f1 --- /dev/null +++ b/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 + #include + #include +-#include ++#include + #include + +-#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; diff --git a/games/moonlight-embedded/files/patch-src_main.c b/games/moonlight-embedded/files/patch-src_main.c index 6f2ede47e7fb..eb3340ad3460 100644 --- a/games/moonlight-embedded/files/patch-src_main.c +++ b/games/moonlight-embedded/files/patch-src_main.c @@ -1,106 +1,17 @@ ---- 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 \tLoad encryption keys from directory\n"); - printf("\t-mapping \t\tUse as gamepad mappings configuration file\n"); -- printf("\t-platform \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; - printf("Searching for server...\n"); - gs_discover_server(config.address); - if (config.address[0] == 0) { - fprintf(stderr, "Autodiscovery failed. Specify an IP address next time.\n"); - exit(-1); - } + fprintf(stderr, "Autodiscovery unsupported. Specify an IP address next time.\n"); + exit(-1); } 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 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); diff --git a/games/moonlight-embedded/files/patch-src_platform.c b/games/moonlight-embedded/files/patch-src_platform.c index 4f6e6668f23c..d9cddad61b50 100644 --- a/games/moonlight-embedded/files/patch-src_platform.c +++ b/games/moonlight-embedded/files/patch-src_platform.c @@ -1,17 +1,17 @@ ---- 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 - if (audio_pulse_init(audio_device)) - return &audio_callbacks_pulse; - #endif - #ifdef HAVE_ALSA - return &audio_callbacks_alsa; - #endif } return NULL; } diff --git a/games/moonlight-embedded/files/patch-third__party_moonlight-common-c_src_InputStream.c b/games/moonlight-embedded/files/patch-third__party_moonlight-common-c_src_InputStream.c deleted file mode 100644 index 11a31e91d292..000000000000 --- a/games/moonlight-embedded/files/patch-third__party_moonlight-common-c_src_InputStream.c +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/moonlight-common-c/src/InputStream.c.orig 2019-04-29 17:05:00 UTC -+++ third_party/moonlight-common-c/src/InputStream.c -@@ -35,7 +35,7 @@ typedef struct _PACKET_HOLDER { - LINKED_BLOCKING_QUEUE_ENTRY entry; - } PACKET_HOLDER, *PPACKET_HOLDER; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - #define EVP_CIPHER_CTX_reset(x) EVP_CIPHER_CTX_cleanup(x); EVP_CIPHER_CTX_init(x) - #endif -