-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
retroarch: fix build on Darwin #102230
retroarch: fix build on Darwin #102230
Conversation
@SuperSandro2000 can you give these a try? |
Result of Currently looking why wayland is pulled in. |
I didn't add that change yet, only the ones in the libretro cores. |
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index bfc2c338769..669ffd7e79b 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -32,8 +32,9 @@ stdenv.mkDerivation rec {
rev = "v${version}";
};
- nativeBuildInputs = [ pkgconfig wayland ]
- ++ optional withVulkan makeWrapper;
+ nativeBuildInputs = [ pkgconfig ]
+ ++ optional withVulkan makeWrapper
+ ++ optional stdenv.isLinux wayland;
buildInputs = [ ffmpeg_3 freetype libxml2 libGLU libGL python3 SDL2 which ]
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit but then it still fails with:
|
Ok, looks like I forgot the current MAME core. Meanwhile can you try to build |
Result of 4 packages built:
|
Builds for me with my change. |
It was found out in the course of NixOS#102078 that the libretro.mame* packages did not build on macOS, both because of an unconditional dependency on alsa-lib (which is exclusive to Linux) and references to GCC scattered across makefiles. This commit makes alsa-lib a dependency only on Linux, and tries to force usage of the generic `cc`/`c++` commands. Ideally we'd refer to the `$CC` and `$CXX` environment variables, but that seems to introduce recursive expansion problems for make. Thanks to @SuperSandro2000 for suggestions and actual testing.
Wayland is not used or supported in other platforms.
a2049b5
to
34fe576
Compare
The latest push should make it all work. |
Result of 76 packages built:
|
Result of 1 package marked as broken and skipped:
12 packages failed to build:
60 packages built:
atari800
beetle-psx-hw
citra
fbneo
mame
mame2016
mupen64plus
picodrive
play
ppsspp
vecx
|
fbalpga2012
|
@AluisioASG hit me up on IRC if you want to debug this together with less delay between tests. |
Result of 1 package marked as broken and skipped:
10 packages failed to build:
61 packages built:
beetle-psx-hw
citra
fbalpha2012
fbneo
mame https://termbin.com/li6zd mame2016 https://termbin.com/smc4z picodrive
play
ppsspp
|
citra https://termbin.com/m2tl dolphin
mame 2016 https://termbin.com/znfj1 |
Citra seems to require a newer macOS. Dolphin and MAME just need playing whack-a-mole with macOS' frameworks. |
That seems to be mamedev/mame#2598, hopefully a patch applies cleanly. |
Result of 6 packages marked as broken and skipped:
4 packages failed to build:
63 packages built:
dolphin
mame: still the log above play: Missing Foundation Framework
ppsspp
|
Dolphin was configured to link statically, the commit that set that doesn't say why. Apparently Dolphin, MAME, and Play had references to Foundation, so I added a dependency to it for them. |
Result of 6 packages marked as broken and skipped:
1 package failed to build:
66 packages built:
|
After spending a massive amount of time making RetroArch build on macOS (github:NixOS/nixpkgs#102230), I've decided to make sure my packages have the right platforms on their `meta.platforms` and `meta.broken`. Looks like builds.sr.ht has FreeBSD images. Might try to build for that later.
After spending a massive amount of time making RetroArch build on macOS (github:NixOS/nixpkgs#102230), I've decided to make sure my packages have the right platforms on their `meta.platforms` and `meta.broken`. Looks like builds.sr.ht has FreeBSD images. Might try to build for that later.
After spending a massive amount of time making RetroArch build on macOS (github:NixOS/nixpkgs#102230), I've decided to make sure my packages have the right platforms on their `meta.platforms` and `meta.broken`. Looks like builds.sr.ht has FreeBSD images. Might try to build for that later.
After spending a massive amount of time making RetroArch build on macOS (github:NixOS/nixpkgs#102230), I've decided to make sure my packages have the right platforms on their `meta.platforms` and `meta.broken`. Looks like builds.sr.ht has FreeBSD images. Might try to build for that later.
385f7a3
to
1ee1443
Compare
befc508
to
ac211b0
Compare
Result of 2 packages failed to build:
74 packages built:
libretro.dolphin: libretro.mame: timed out Edit: Can we set some flag to only compile mame* on big compilers like libreoffice? Each of them took ~40 minutes on my not terrible machine. |
Result of 6 packages marked as broken and skipped:
14 packages failed to build:
53 packages built:
beetle-gba:
beetl-lynx
beetle-pcfx
beetle-snes:
beetle-supergrafx
beetle-vb:
beetle-wswan:
libretro.desmume
libretro.desmume2015
libretro.dosbox
libretro.gambatte
libretro.mame
libretro.stella2014
libretro.tgbdual
|
I marked this as stale due to inactivity. → More info |
Closing as dead and conflicted. |
Motivation for this change
The newer MAME cores for libretro don't seem to build on Darwin (probably not on BSD either). See comments in #102078.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)