diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6e69f3c050..b0041d7a7c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -89,17 +89,32 @@ build-retroarch-windows-i686: - "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll" build-retroarch-linux-x64: + image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:xenial-gcc9 stage: build + variables: + MEDIA_PATH: .media before_script: - export NUMPROC=$(($(nproc)/3)) artifacts: paths: - retroarch + - ${MEDIA_PATH} expire_in: 1 month dependencies: [] script: - - "./configure" + - "./configure --prefix=/usr" - "make -j$NUMPROC" + - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" + - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" + - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir" + - "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" + - "cp -f libretro-common/audio/dsp_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" + - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" + - "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" + - "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" + - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" + - "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr" + - "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -" build-retroarch-dingux-mips32: image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c index 054c8fcb8d..251b63503d 100644 --- a/frontend/drivers/platform_unix.c +++ b/frontend/drivers/platform_unix.c @@ -1824,6 +1824,53 @@ static void frontend_unix_get_env(int *argc, fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path, "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); +#if defined(DINGUX) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path, + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path, + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); +#else + if (path_is_directory("/usr/local/share/retroarch/filters/audio")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], + "/usr/local/share/retroarch", + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + else if (path_is_directory("/usr/share/retroarch/filters/audio")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], + "/usr/share/retroarch", + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + else if (path_is_directory("/usr/local/share/games/retroarch/filters/audio")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], + "/usr/local/share/games/retroarch", + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + else if (path_is_directory("/usr/share/games/retroarch/filters/audio")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], + "/usr/share/games/retroarch", + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + else + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path, + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + + if (path_is_directory("/usr/local/share/retroarch/filters/video")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + "/usr/local/share/retroarch", + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); + else if (path_is_directory("/usr/share/retroarch/filters/video")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + "/usr/share/retroarch", + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); + else if (path_is_directory("/usr/local/share/games/retroarch/filters/video")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + "/usr/local/share/games/retroarch", + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); + else if (path_is_directory("/usr/share/games/retroarch/filters/video")) + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + "/usr/share/games/retroarch", + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); + else + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path, + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); +#endif + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], base_path, "config", sizeof(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], @@ -1841,12 +1888,6 @@ static void frontend_unix_get_env(int *argc, "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path, "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); -#if defined(DINGUX) - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path, - "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path, - "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); -#endif fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path, "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,