summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/emulators/retroarch
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2022-10-28 21:22:09 +0100
committerThiago Kenji Okada <thiagokokada@gmail.com>2022-10-28 21:31:39 +0100
commit87af66df786d82732a74d658d0397e84a85b66d4 (patch)
tree233602588f0a7495f8b1d49d6141207b568b988c /pkgs/applications/emulators/retroarch
parentcb5179db830c63bfa3a9e1f7ef8e029d86f5b02e (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/retroarch')
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix31
-rw-r--r--pkgs/applications/emulators/retroarch/wrapper.nix5
2 files changed, 4 insertions, 32 deletions
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index a4f654caeb2a..5c12e66c5f5d 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 f04cf922f511..7ce75b22ba47 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; {