diff options
author | Thiago Kenji Okada <thiagokokada@gmail.com> | 2022-10-28 21:22:09 +0100 |
---|---|---|
committer | Thiago Kenji Okada <thiagokokada@gmail.com> | 2022-10-28 21:31:39 +0100 |
commit | 87af66df786d82732a74d658d0397e84a85b66d4 (patch) | |
tree | 233602588f0a7495f8b1d49d6141207b568b988c /pkgs/applications/emulators | |
parent | cb5179db830c63bfa3a9e1f7ef8e029d86f5b02e (diff) |
retroarch: drop all Darwin related code
Darwin support in retroarch was broken for a long time, and it is getting worse with each subsequent update. Upstream abandoned `./configure` usage in macOS systems too for a Xcode build system. So if we want to get back decent support for retroarch in Darwin, we should migrate it to use Xcode. For now, let's just remove all this code that is not working.
Diffstat (limited to 'pkgs/applications/emulators')
-rw-r--r-- | pkgs/applications/emulators/retroarch/default.nix | 31 | ||||
-rw-r--r-- | pkgs/applications/emulators/retroarch/wrapper.nix | 5 |
2 files changed, 4 insertions, 32 deletions
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index a4f654caeb2a6..5c12e66c5f5dd 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -6,18 +6,15 @@ , withVulkan ? stdenv.isLinux , withWayland ? stdenv.isLinux , alsa-lib -, AppKit , dbus , fetchFromGitHub , ffmpeg_4 , flac -, Foundation , freetype , gamemode , libdrm , libGL , libGLU -, libobjc , libpulseaudio , libv4l , libX11 @@ -95,7 +92,6 @@ stdenv.mkDerivation rec { lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ lib.optional withVulkan vulkan-loader ++ lib.optional withWayland wayland ++ - lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ lib.optionals stdenv.isLinux [ alsa-lib dbus @@ -133,31 +129,10 @@ stdenv.mkDerivation rec { lib.optionalString (runtimeLibs != [ ]) '' wrapProgram $out/bin/retroarch \ --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs} - '' + - lib.optionalString stdenv.isDarwin '' - # https://github.com/libretro/RetroArch/blob/master/retroarch-apple-packaging.sh - app=$out/Applications/RetroArch.app - mkdir -p $app/Contents/MacOS - cp -r pkg/apple/OSX/* $app/Contents - cp $out/bin/retroarch $app/Contents/MacOS - # FIXME: using Info_Metal.plist results in input not working - # mv $app/Contents/Info_Metal.plist $app/Contents/Info.plist - - substituteInPlace $app/Contents/Info.plist \ - --replace '${"\${EXECUTABLE_NAME}"}' 'RetroArch' \ - --replace '$(PRODUCT_BUNDLE_IDENTIFIER)' 'com.libretro.RetroArch' \ - --replace '${"\${PRODUCT_NAME}"}' 'RetroArch' \ - --replace '${"\${MACOSX_DEPLOYMENT_TARGET}"}' '10.13' - - cp media/retroarch.icns $app/Contents/Resources/ ''; preFixup = "rm $out/bin/retroarch-cg2glsl"; - # Workaround for the following error affecting newer versions of Clang: - # ./config.def.h:xxx:x: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-Wno-undef-prefix" ]; - passthru.tests = nixosTests.retroarch; meta = with lib; { @@ -168,8 +143,10 @@ stdenv.mkDerivation rec { changelog = "https://github.com/libretro/RetroArch/blob/v${version}/CHANGES.md"; maintainers = with maintainers; teams.libretro.members ++ [ matthewbauer kolbycrouch ]; mainProgram = "retroarch"; - # FIXME: error while building in macOS: - # "Undefined symbols for architecture <arch>" + # If you want to (re)-add support for macOS, see: + # https://docs.libretro.com/development/retroarch/compilation/osx/ + # and + # https://github.com/libretro/RetroArch/blob/71eb74d256cb4dc5b8b43991aec74980547c5069/.gitlab-ci.yml#L330 broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/emulators/retroarch/wrapper.nix b/pkgs/applications/emulators/retroarch/wrapper.nix index f04cf922f5118..7ce75b22ba47b 100644 --- a/pkgs/applications/emulators/retroarch/wrapper.nix +++ b/pkgs/applications/emulators/retroarch/wrapper.nix @@ -31,11 +31,6 @@ symlinkJoin { rm $out/bin/retroarch makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \ ${wrapperArgs} - '' + lib.optionalString stdenv.isDarwin '' - # wrapProgram can't operate on symlinks - rm $out/Applications/RetroArch.app/Contents/MacOS/retroarch - makeWrapper ${retroarch}/bin/retroarch $out/Applications/RetroArch.app/Contents/MacOS/retroarch \ - ${wrapperArgs} ''; meta = with retroarch.meta; { |