--- retroarch/Makefile (revision 504816) +++ retroarch/Makefile (working copy) @@ -2,10 +2,9 @@ # $FreeBSD$ PORTNAME= RetroArch -PORTVERSION= 1.3.6 +PORTVERSION= 1.7.7 # sync with games/libretro-core-info DISTVERSIONPREFIX= v -PORTREVISION= 15 -CATEGORIES= games +CATEGORIES= games emulators MAINTAINER= yuri@FreeBSD.org COMMENT= Cross-platform entertainment system based on libretro API @@ -16,58 +15,72 @@ LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon \ libdrm.so:graphics/libdrm \ libass.so:multimedia/libass +RUN_DEPENDS= retroarch-assets<=0:games/retroarch-assets BROKEN_powerpc64= fails to compile: features_cpu.c: undefined reference to __mftb -OPTIONS_DEFINE= FFMPEG OSS JACK PULSEAUDIO ALSA SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO -OPTIONS_DEFAULT=OSS PULSEAUDIO SDL OPENGL OPENAL NETPLAY PYTHON V4L FREETYPE FBO # FFMPEG +USES= compiler:c++11-lib gmake pkgconfig shebangfix +USE_GITHUB= yes +GH_ACCOUNT= libretro +SUB_FILES= pkg-message +HAS_CONFIGURE= yes +CONFIGURE_ARGS+=--global-config-dir=${LOCALBASE}/etc +USE_XORG= x11 xcb xext xinerama xrandr xv xxf86vm +LLD_UNSAFE= yes +CFLAGS= -fPIC +SHEBANG_FILES= libretro-common/glsym/glgen.py libretro-common/glsym/rglgen.py tools/cg2glsl.py tools/vulkan_loader_generator.py + +CONFIGURE_ARGS+=--enable-threads --disable-discord +CONFIGURE_ENV+= MAN_DIR=${MANPREFIX}/man + +OPTIONS_DEFINE= ALSA FFMPEG FREETYPE JACK OPENAL OPENGL OSS PULSEAUDIO PYTHON QT SDL UDEV V4L WAYLAND +OPTIONS_DEFAULT=FFMPEG FREETYPE OPENAL OPENGL OSS PULSEAUDIO PYTHON QT SDL UDEV V4L WAYLAND 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 +QT_DESC= Qt based desktop-style GUI +UDEV_DESC= udev device hotplug support +WAYLAND_DESC= Wayland display support -FFMPEG_BROKEN= fails to build with ffmpeg 4.0 +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_CONFIGURE_ENABLE= alsa FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg FFMPEG_CONFIGURE_ENABLE=ffmpeg -OSS_CONFIGURE_ENABLE= oss +FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2 +FREETYPE_CONFIGURE_ENABLE= freetype JACK_LIB_DEPENDS= libjack.so:audio/jack JACK_CONFIGURE_ENABLE= jack +OPENAL_USES= openal:soft +OPENAL_CONFIGURE_ENABLE=al +OPENGL_USES= gl +OPENGL_USE= GL=egl,gbm,gl +OPENGL_CONFIGURE_ENABLE=opengl +OSS_CONFIGURE_ENABLE= oss PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CONFIGURE_ENABLE= pulse -ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib -ALSA_CONFIGURE_ENABLE= alsa -SDL_USE= SDL=sdl2 image2 +PYTHON_CONFIGURE_ENABLE=python +PYTHON_USES= python:3.6 +QT_USES= qt:5 +QT_USE= QT=concurrent,core,gui,network,widgets +QT_CONFIGURE_ENABLE= qt +SDL_USES= sdl +SDL_USE= SDL=sdl2,image2 SDL_CONFIGURE_ON= --disable-sdl --enable-sdl2 SDL_CONFIGURE_OFF= --disable-sdl --disable-sdl2 -OPENGL_USE= GL=gl,egl,gbm -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+ +UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd \ + libepoll-shim.so:devel/libepoll-shim +UDEV_CFLAGS= -I${LOCALBASE}/include/libepoll-shim +UDEV_LDFLAGS= -lepoll-shim +UDEV_CONFIGURE_ENABLE= udev V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l V4L_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat V4L_CONFIGURE_ENABLE= v4l2 -FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2 -FREETYPE_CONFIGURE_ENABLE= freetype -FBO_CONFIGURE_ENABLE= fbo +WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \ + ${LOCALBASE}/include/linux/kd.h:graphics/svgalib +WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ + libwayland-server.so:graphics/wayland \ + libwayland-egl.so:graphics/mesa-libs +WAYLAND_CONFIGURE_ENABLE= wayland -CFLAGS+= -pthread -LDFLAGS+= -pthread -CONFIGURE_ARGS+=--enable-threads -CONFIGURE_ENV+= MAN_DIR=${MANPREFIX}/man - -USES= compiler:c++11-lib gmake pkgconfig shebangfix -USE_GITHUB= yes -GH_ACCOUNT= libretro -SUB_FILES= pkg-message -GNU_CONFIGURE= yes -CONFIGURE_ARGS+=--global-config-dir=${LOCALBASE}/etc -USE_XORG= x11 xcb xext xinerama xv xxf86vm -LLD_UNSAFE= yes -SHEBANG_FILES= libretro-common/glsym/glgen.py libretro-common/glsym/rglgen.py tools/cg2glsl.py tools/vulkan_loader_generator.py - post-patch: @${REINPLACE_CMD} -e 's|||' \ ${WRKSRC}/camera/drivers/video4linux2.c \ @@ -88,7 +101,15 @@ post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/retroarch - @${REINPLACE_CMD} -e 's|# libretro_directory =|libretro_directory = "${PREFIX}/libexec/libretro"|' \ + @${REINPLACE_CMD} \ + -e 's|# libretro_directory =|libretro_directory = "${PREFIX}/lib/libretro"|' \ + -e 's|# libretro_info_path =|libretro_info_path = "${PREFIX}/share/libretro/info"|' \ + -e 's|# assets_directory =|assets_directory = "${PREFIX}/share/libretro/assets"|' \ + -e 's|# video_shader_dir =|video_shader_dir = "${PREFIX}/share/libretro/shaders"|' \ + -e 's|# video_filter_dir =|video_filter_dir = "${PREFIX}/lib/retroarch/filters/video"|' \ + -e 's|# audio_filter_dir =|audio_filter_dir = "${PREFIX}/lib/retroarch/filters/audio"|' \ + -e 's|# joypad_autoconfig_dir =|joypad_autoconfig_dir = "${PREFIX}/share/retroarch/autoconfig"|' \ + -e 's|# menu_show_core_updater = true|menu_show_core_updater = false|' \ ${STAGEDIR}${PREFIX}/etc/retroarch.cfg .include --- retroarch/distinfo (revision 504816) +++ retroarch/distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP = 1468710318 -SHA256 (libretro-RetroArch-v1.3.6_GH0.tar.gz) = bed4201e49b2e97809e97df07d08c752879af0274feec93965a07cf6140759f5 -SIZE (libretro-RetroArch-v1.3.6_GH0.tar.gz) = 11967473 +TIMESTAMP = 1561150238 +SHA256 (libretro-RetroArch-v1.7.7_GH0.tar.gz) = 84cdf88b7dfbbe229521c32489820040eeee7736ef8fb43f1f345235b34e9732 +SIZE (libretro-RetroArch-v1.7.7_GH0.tar.gz) = 28479975 --- retroarch/files/patch-gfx_common_x11__common.c (nonexistent) +++ retroarch/files/patch-gfx_common_x11__common.c (working copy) @@ -0,0 +1,61 @@ +--- gfx/common/x11_common.c.orig 2019-05-07 23:56:49 UTC ++++ gfx/common/x11_common.c +@@ -422,7 +422,7 @@ bool x11_get_metrics(void *data, + return true; + } + +-static void x11_handle_key_event(unsigned keycode, XEvent *event, XIC ic, bool filter) ++static void x11_handle_key_event(XEvent *event, XIC ic, bool filter) + { + int i; + Status status; +@@ -473,9 +473,7 @@ static void x11_handle_key_event(unsigned keycode, XEv + if (keysym >= XK_A && keysym <= XK_Z) + keysym += XK_z - XK_Z; + +- /* Get the real keycode, +- that correctly ignores international layouts as windows code does. */ +- key = input_keymaps_translate_keysym_to_rk(keycode); ++ key = input_keymaps_translate_keysym_to_rk(keysym); + + if (state & ShiftMask) + mod |= RETROKMOD_SHIFT; +@@ -485,10 +483,10 @@ static void x11_handle_key_event(unsigned keycode, XEv + mod |= RETROKMOD_CTRL; + if (state & Mod1Mask) + mod |= RETROKMOD_ALT; +- if (state & Mod2Mask) +- mod |= RETROKMOD_NUMLOCK; + if (state & Mod4Mask) + mod |= RETROKMOD_META; ++ if (IsKeypadKey(keysym)) ++ mod |= RETROKMOD_NUMLOCK; + + input_keyboard_event(down, key, chars[0], mod, RETRO_DEVICE_KEYBOARD); + +@@ -503,16 +501,10 @@ bool x11_alive(void *data) + { + XEvent event; + bool filter = false; +- unsigned keycode = 0; + + /* Can get events from older windows. Check this. */ + XNextEvent(g_x11_dpy, &event); + +- /* IMPORTANT - Get keycode before XFilterEvent +- because the event is localizated after the call */ +- keycode = event.xkey.keycode; +- filter = XFilterEvent(&event, g_x11_win); +- + switch (event.type) + { + case ClientMessage: +@@ -587,7 +579,7 @@ bool x11_alive(void *data) + } + case KeyPress: + if (event.xkey.window == g_x11_win) +- x11_handle_key_event(keycode, &event, g_x11_xic, filter); ++ x11_handle_key_event(&event, g_x11_xic, filter); + break; + } + } --- retroarch/files/patch-input_drivers_x11__input.c (nonexistent) +++ retroarch/files/patch-input_drivers_x11__input.c (working copy) @@ -0,0 +1,38 @@ +--- input/drivers/x11_input.c.orig 2019-05-07 23:56:49 UTC ++++ input/drivers/x11_input.c +@@ -75,7 +75,7 @@ static void *x_input_init(const char *joypad_driver) + + static bool x_keyboard_pressed(x11_input_t *x11, unsigned key) + { +- int keycode = rarch_keysym_lut[(enum retro_key)key]; ++ int keycode = XKeysymToKeycode(x11->display, rarch_keysym_lut[(enum retro_key)key]); + return x11->state[keycode >> 3] & (1 << (keycode & 7)); + } + +@@ -155,20 +155,23 @@ static int16_t x_pressed_analog(x11_input_t *x11, + unsigned id_plus = 0; + int id_minus_key = 0; + int id_plus_key = 0; +- unsigned keycode = 0; ++ unsigned sym = 0; ++ int keycode = 0; + + input_conv_analog_id_to_bind_id(idx, id, &id_minus, &id_plus); + + id_minus_key = binds[id_minus].key; + id_plus_key = binds[id_plus].key; + +- keycode = rarch_keysym_lut[(enum retro_key)id_minus_key]; ++ sym = rarch_keysym_lut[(enum retro_key)id_minus_key]; ++ keycode = XKeysymToKeycode(x11->display, sym); + if ( binds[id_minus].valid + && (id_minus_key < RETROK_LAST) + && (x11->state[keycode >> 3] & (1 << (keycode & 7)))) + pressed_minus = -0x7fff; + +- keycode = rarch_keysym_lut[(enum retro_key)id_plus_key]; ++ sym = rarch_keysym_lut[(enum retro_key)id_plus_key]; ++ keycode = XKeysymToKeycode(x11->display, sym); + if ( binds[id_plus].valid + && (id_plus_key < RETROK_LAST) + && (x11->state[keycode >> 3] & (1 << (keycode & 7)))) --- retroarch/files/patch-input_input__keymaps.c (nonexistent) +++ retroarch/files/patch-input_input__keymaps.c (working copy) @@ -0,0 +1,286 @@ +--- input/input_keymaps.c.orig 2019-05-07 23:56:49 UTC ++++ input/input_keymaps.c +@@ -50,7 +50,9 @@ + #endif + + #ifdef HAVE_X11 +-#include "input/include/xfree86_keycodes.h" ++#include ++#include ++#include + #endif + + #ifdef HAVE_DINPUT +@@ -951,123 +953,156 @@ const struct rarch_key_map rarch_key_map_wiiu[] = { + + #ifdef HAVE_X11 + +-const struct rarch_key_map rarch_key_map_x11[] = { ++#ifndef XF68XK_Calculator ++#define XF86XK_Calculator 0x1008FF1D ++#endif + +- { XFVK_ESC, RETROK_ESCAPE }, +- { XFVK_FK01, RETROK_F1 }, +- { XFVK_FK02, RETROK_F2 }, +- { XFVK_FK03, RETROK_F3 }, +- { XFVK_FK04, RETROK_F4 }, +- { XFVK_FK05, RETROK_F5 }, +- { XFVK_FK06, RETROK_F6 }, +- { XFVK_FK07, RETROK_F7 }, +- { XFVK_FK08, RETROK_F8 }, +- { XFVK_FK09, RETROK_F9 }, +- { XFVK_FK10, RETROK_F10 }, +- { XFVK_FK11, RETROK_F11 }, +- { XFVK_FK12, RETROK_F12 }, +- +- { XFVK_TLDE, RETROK_BACKQUOTE }, +- { XFVK_AE01, RETROK_1 }, +- { XFVK_AE02, RETROK_2 }, +- { XFVK_AE03, RETROK_3 }, +- { XFVK_AE04, RETROK_4 }, +- { XFVK_AE05, RETROK_5 }, +- { XFVK_AE06, RETROK_6 }, +- { XFVK_AE07, RETROK_7 }, +- { XFVK_AE08, RETROK_8 }, +- { XFVK_AE09, RETROK_9 }, +- { XFVK_AE10, RETROK_0 }, +- { XFVK_AE11, RETROK_MINUS }, +- { XFVK_AE12, RETROK_EQUALS }, +- { XFVK_BKSP, RETROK_BACKSPACE }, +- +- { XFVK_TAB, RETROK_TAB }, +- { XFVK_AD01, RETROK_q }, +- { XFVK_AD02, RETROK_w }, +- { XFVK_AD03, RETROK_e }, +- { XFVK_AD04, RETROK_r }, +- { XFVK_AD05, RETROK_t }, +- { XFVK_AD06, RETROK_y }, +- { XFVK_AD07, RETROK_u }, +- { XFVK_AD08, RETROK_i }, +- { XFVK_AD09, RETROK_o }, +- { XFVK_AD10, RETROK_p }, +- { XFVK_AD11, RETROK_LEFTBRACKET }, +- { XFVK_AD12, RETROK_RIGHTBRACKET }, +- { XFVK_RTRN, RETROK_RETURN }, +- +- { XFVK_CAPS, RETROK_CAPSLOCK }, +- { XFVK_AC01, RETROK_a }, +- { XFVK_AC02, RETROK_s }, +- { XFVK_AC03, RETROK_d }, +- { XFVK_AC04, RETROK_f }, +- { XFVK_AC05, RETROK_g }, +- { XFVK_AC06, RETROK_h }, +- { XFVK_AC07, RETROK_j }, +- { XFVK_AC08, RETROK_k }, +- { XFVK_AC09, RETROK_l }, +- { XFVK_AC10, RETROK_SEMICOLON }, +- { XFVK_AC11, RETROK_QUOTE }, +- { XFVK_AC12, RETROK_BACKSLASH }, +- +- { XFVK_LFSH, RETROK_LSHIFT }, +- { XFVK_AB01, RETROK_z }, +- { XFVK_AB02, RETROK_x }, +- { XFVK_AB03, RETROK_c }, +- { XFVK_AB04, RETROK_v }, +- { XFVK_AB05, RETROK_b }, +- { XFVK_AB06, RETROK_n }, +- { XFVK_AB07, RETROK_m }, +- { XFVK_AB08, RETROK_COMMA }, +- { XFVK_AB09, RETROK_PERIOD }, +- { XFVK_AB10, RETROK_SLASH }, +- { XFVK_RTSH, RETROK_RSHIFT }, +- +- { XFVK_LALT, RETROK_LALT }, +- { XFVK_LCTL, RETROK_LCTRL }, +- { XFVK_SPCE, RETROK_SPACE }, +- { XFVK_RCTL, RETROK_RCTRL }, +- { XFVK_RALT, RETROK_RALT }, +- +- { XFVK_LSGT, RETROK_OEM_102 }, +- { XFVK_MENU, RETROK_MENU }, +- { XFVK_LWIN, RETROK_LSUPER }, +- { XFVK_RWIN, RETROK_RSUPER }, +- { XFVK_CALC, RETROK_HELP }, +- +- { XFVK_PRSC, RETROK_PRINT }, +- { XFVK_SCLK, RETROK_SCROLLOCK }, +- { XFVK_PAUS, RETROK_PAUSE }, +- { XFVK_INS, RETROK_INSERT }, +- { XFVK_HOME, RETROK_HOME }, +- { XFVK_PGUP, RETROK_PAGEUP }, +- { XFVK_DELE, RETROK_DELETE }, +- { XFVK_END, RETROK_END }, +- { XFVK_PGDN, RETROK_PAGEDOWN }, +- { XFVK_UP, RETROK_UP }, +- { XFVK_LEFT, RETROK_LEFT }, +- { XFVK_DOWN, RETROK_DOWN }, +- { XFVK_RGHT, RETROK_RIGHT }, +- +- { XFVK_NMLK, RETROK_NUMLOCK }, +- { XFVK_KPDV, RETROK_KP_DIVIDE }, +- { XFVK_KPMU, RETROK_KP_MULTIPLY }, +- { XFVK_KPSU, RETROK_KP_MINUS }, +- { XFVK_KP7, RETROK_KP7 }, +- { XFVK_KP8, RETROK_KP8 }, +- { XFVK_KP9, RETROK_KP9 }, +- { XFVK_KPAD, RETROK_KP_PLUS }, +- { XFVK_KP4, RETROK_KP4 }, +- { XFVK_KP5, RETROK_KP5 }, +- { XFVK_KP6, RETROK_KP6 }, +- { XFVK_KP1, RETROK_KP1 }, +- { XFVK_KP2, RETROK_KP2 }, +- { XFVK_KP3, RETROK_KP3 }, +- { XFVK_KPEN, RETROK_KP_ENTER }, +- { XFVK_KP0, RETROK_KP0 }, +- { XFVK_KPDL, RETROK_KP_PERIOD }, +- { XFVK_KPEQ, RETROK_KP_EQUALS }, ++const struct rarch_key_map rarch_key_map_x11[] = { ++ { XK_BackSpace, RETROK_BACKSPACE }, ++ { XK_Tab, RETROK_TAB }, ++ { XK_Clear, RETROK_CLEAR }, ++ { XK_Return, RETROK_RETURN }, ++ { XK_Pause, RETROK_PAUSE }, ++ { XK_Escape, RETROK_ESCAPE }, ++ { XK_space, RETROK_SPACE }, ++ { XK_exclam, RETROK_EXCLAIM }, ++ { XK_quotedbl, RETROK_QUOTEDBL }, ++ { XK_numbersign, RETROK_HASH }, ++ { XK_dollar, RETROK_DOLLAR }, ++ { XK_ampersand, RETROK_AMPERSAND }, ++ { XK_apostrophe, RETROK_QUOTE }, ++ { XK_parenleft, RETROK_LEFTPAREN }, ++ { XK_parenright, RETROK_RIGHTPAREN }, ++ { XK_asterisk, RETROK_ASTERISK }, ++ { XK_plus, RETROK_PLUS }, ++ { XK_comma, RETROK_COMMA }, ++ { XK_minus, RETROK_MINUS }, ++ { XK_period, RETROK_PERIOD }, ++ { XK_slash, RETROK_SLASH }, ++ { XK_0, RETROK_0 }, ++ { XK_1, RETROK_1 }, ++ { XK_2, RETROK_2 }, ++ { XK_3, RETROK_3 }, ++ { XK_4, RETROK_4 }, ++ { XK_5, RETROK_5 }, ++ { XK_6, RETROK_6 }, ++ { XK_7, RETROK_7 }, ++ { XK_8, RETROK_8 }, ++ { XK_9, RETROK_9 }, ++ { XK_colon, RETROK_COLON }, ++ { XK_semicolon, RETROK_SEMICOLON }, ++ { XK_less, RETROK_LESS }, ++ { XK_equal, RETROK_EQUALS }, ++ { XK_greater, RETROK_GREATER }, ++ { XK_question, RETROK_QUESTION }, ++ { XK_at, RETROK_AT }, ++ { XK_bracketleft, RETROK_LEFTBRACKET }, ++ { XK_backslash, RETROK_BACKSLASH }, ++ { XK_bracketright, RETROK_RIGHTBRACKET }, ++ { XK_dead_circumflex, RETROK_CARET }, ++ { XK_underscore, RETROK_UNDERSCORE }, ++ { XK_grave, RETROK_BACKQUOTE }, ++ { XK_a, RETROK_a }, ++ { XK_b, RETROK_b }, ++ { XK_c, RETROK_c }, ++ { XK_d, RETROK_d }, ++ { XK_e, RETROK_e }, ++ { XK_f, RETROK_f }, ++ { XK_g, RETROK_g }, ++ { XK_h, RETROK_h }, ++ { XK_i, RETROK_i }, ++ { XK_j, RETROK_j }, ++ { XK_k, RETROK_k }, ++ { XK_l, RETROK_l }, ++ { XK_m, RETROK_m }, ++ { XK_n, RETROK_n }, ++ { XK_o, RETROK_o }, ++ { XK_p, RETROK_p }, ++ { XK_q, RETROK_q }, ++ { XK_r, RETROK_r }, ++ { XK_s, RETROK_s }, ++ { XK_t, RETROK_t }, ++ { XK_u, RETROK_u }, ++ { XK_v, RETROK_v }, ++ { XK_w, RETROK_w }, ++ { XK_x, RETROK_x }, ++ { XK_y, RETROK_y }, ++ { XK_z, RETROK_z }, ++ { XK_Delete, RETROK_DELETE }, ++ { XK_KP_0, RETROK_KP0 }, ++ { XK_KP_1, RETROK_KP1 }, ++ { XK_KP_2, RETROK_KP2 }, ++ { XK_KP_3, RETROK_KP3 }, ++ { XK_KP_4, RETROK_KP4 }, ++ { XK_KP_5, RETROK_KP5 }, ++ { XK_KP_6, RETROK_KP6 }, ++ { XK_KP_7, RETROK_KP7 }, ++ { XK_KP_8, RETROK_KP8 }, ++ { XK_KP_9, RETROK_KP9 }, ++ { XK_KP_Decimal, RETROK_KP_PERIOD }, ++ { XK_KP_Divide, RETROK_KP_DIVIDE }, ++ { XK_KP_Multiply, RETROK_KP_MULTIPLY }, ++ { XK_KP_Subtract, RETROK_KP_MINUS }, ++ { XK_KP_Add, RETROK_KP_PLUS }, ++ { XK_KP_Enter, RETROK_KP_ENTER }, ++ { XK_KP_Equal, RETROK_KP_EQUALS }, ++ { XK_Up, RETROK_UP }, ++ { XK_Down, RETROK_DOWN }, ++ { XK_Right, RETROK_RIGHT }, ++ { XK_Left, RETROK_LEFT }, ++ { XK_Insert, RETROK_INSERT }, ++ { XK_Home, RETROK_HOME }, ++ { XK_End, RETROK_END }, ++ { XK_Page_Up, RETROK_PAGEUP }, ++ { XK_Page_Down, RETROK_PAGEDOWN }, ++ { XK_F1, RETROK_F1 }, ++ { XK_F2, RETROK_F2 }, ++ { XK_F3, RETROK_F3 }, ++ { XK_F4, RETROK_F4 }, ++ { XK_F5, RETROK_F5 }, ++ { XK_F6, RETROK_F6 }, ++ { XK_F7, RETROK_F7 }, ++ { XK_F8, RETROK_F8 }, ++ { XK_F9, RETROK_F9 }, ++ { XK_F10, RETROK_F10 }, ++ { XK_F11, RETROK_F11 }, ++ { XK_F12, RETROK_F12 }, ++ { XK_F13, RETROK_F13 }, ++ { XK_F14, RETROK_F14 }, ++ { XK_F15, RETROK_F15 }, ++ { XK_Num_Lock, RETROK_NUMLOCK }, ++ { XK_Caps_Lock, RETROK_CAPSLOCK }, ++ { XK_Scroll_Lock, RETROK_SCROLLOCK }, ++ { XK_Shift_R, RETROK_RSHIFT }, ++ { XK_Shift_L, RETROK_LSHIFT }, ++ { XK_Control_R, RETROK_RCTRL }, ++ { XK_Control_L, RETROK_LCTRL }, ++ { XK_Alt_R, RETROK_RALT }, ++ { XK_Alt_L, RETROK_LALT }, ++ { XK_Meta_R, RETROK_RMETA }, ++ { XK_Meta_L, RETROK_LMETA }, ++ { XK_Super_L, RETROK_LSUPER }, ++ { XK_Super_R, RETROK_RSUPER }, ++ { XK_Mode_switch, RETROK_MODE }, ++ { XK_Multi_key, RETROK_COMPOSE }, ++ { XK_Help, RETROK_HELP }, ++ { XK_Print, RETROK_PRINT }, ++ { XK_Sys_Req, RETROK_SYSREQ }, ++ { XK_Break, RETROK_BREAK }, ++ { XK_Menu, RETROK_MENU }, ++ /*{ ?, RETROK_POWER },*/ ++ { XK_EuroSign, RETROK_EURO }, ++ { XK_Undo, RETROK_UNDO }, ++ /*{ ?, RETROK_OEM_102 },*/ ++ /* FIXME(shizeeg): RetroArch can't handle these buttons atm. ++ * Do we really need RETROK_KP_INSERT, RETROK_KP_END, ++ * RETROK_KP_DOWN, RETROK_KP_PAGEDOWN ??? ++ * ++ { XK_KP_Insert, RETROK_KP0 }, ++ { XK_KP_End, RETROK_KP1 }, ++ { XK_KP_Down, RETROK_KP2 }, ++ { XK_KP_Page_Down, RETROK_KP3 },*/ ++ { XF86XK_Calculator, RETROK_HELP }, + + { 0, RETROK_UNKNOWN }, + }; --- retroarch/files/patch-libretro-common_include_streams_interface__stream.h (revision 504816) +++ retroarch/files/patch-libretro-common_include_streams_interface__stream.h (working copy) @@ -1,9 +1,9 @@ ---- libretro-common/include/streams/interface_stream.h.orig 2016-05-02 20:17:12 UTC +--- libretro-common/include/streams/interface_stream.h.orig 2018-02-19 12:43:32 UTC +++ libretro-common/include/streams/interface_stream.h -@@ -29,6 +29,8 @@ - #include - #include +@@ -32,6 +32,8 @@ + RETRO_BEGIN_DECLS + +#include + enum intfstream_type --- retroarch/files/patch-libretro-common_net_net__ifinfo.c (revision 504816) +++ retroarch/files/patch-libretro-common_net_net__ifinfo.c (working copy) @@ -1,9 +1,9 @@ ---- libretro-common/net/net_ifinfo.c.orig 2016-07-04 20:02:01 UTC +--- libretro-common/net/net_ifinfo.c.orig 2018-12-31 20:08:25 UTC +++ libretro-common/net/net_ifinfo.c -@@ -44,6 +44,8 @@ +@@ -50,6 +50,8 @@ + #include + #endif - #include - +#include + void net_ifinfo_free(net_ifinfo_t *list) --- retroarch/files/patch-libretro-common_rthreads_rthreads.c (revision 504816) +++ retroarch/files/patch-libretro-common_rthreads_rthreads.c (working copy) @@ -1,6 +1,6 @@ ---- libretro-common/rthreads/rthreads.c.orig 2016-07-16 23:05:18 UTC +--- libretro-common/rthreads/rthreads.c.orig 2019-05-07 23:56:49 UTC +++ libretro-common/rthreads/rthreads.c -@@ -57,6 +57,8 @@ +@@ -67,6 +67,8 @@ #include #endif --- retroarch/files/patch-qb_config.libs.sh (nonexistent) +++ retroarch/files/patch-qb_config.libs.sh (working copy) @@ -0,0 +1,15 @@ +--- qb/config.libs.sh.orig 2019-05-07 23:56:49 UTC ++++ qb/config.libs.sh +@@ -479,11 +479,7 @@ check_enabled CXX VULKAN vulkan 'The C++ compiler is' + check_enabled CXX OPENGL_CORE 'OpenGL core' 'The C++ compiler is' false + check_enabled THREADS VULKAN vulkan 'Threads are' false + +-if [ "$HAVE_VULKAN" != "no" ] && [ "$OS" = 'Win32' ]; then +- HAVE_VULKAN=yes +-else +- check_lib '' VULKAN -lvulkan vkCreateInstance +-fi ++HAVE_VULKAN=yes + + check_pkgconf PYTHON 'python3 python3 python-3.7 python-3.6 python-3.5 python-3.4 python-3.3 python-3.2' + --- retroarch/files/patch-qb_qb.params.sh (revision 504816) +++ retroarch/files/patch-qb_qb.params.sh (nonexistent) @@ -1,14 +0,0 @@ ---- qb/qb.params.sh.orig 2016-07-15 20:24:15 UTC -+++ qb/qb.params.sh -@@ -79,7 +79,10 @@ parse_input() # Parse stuff :V - opt_exists "${arg%%=*}" "$1" - eval "$opt=\"$val\"" - ;; -- -h|--help) print_help; exit 0;; -+ --x-*) -+ ;; -+ --build*) -+ ;; - *) echo "Unknown option $1"; exit 1;; - esac - shift --- retroarch/pkg-plist (revision 504816) +++ retroarch/pkg-plist (working copy) @@ -3,5 +3,7 @@ etc/retroarch.cfg man/man6/retroarch-cg2glsl.6.gz man/man6/retroarch.6.gz +share/applications/retroarch.desktop +share/doc/retroarch/COPYING +share/doc/retroarch/README.md share/pixmaps/retroarch.svg -share/applications/retroarch.desktop