diff --git a/pkgs/development/libraries/raylib/default.nix b/pkgs/development/libraries/raylib/default.nix index 944896d1cf57..2cdde4f2b726 100644 --- a/pkgs/development/libraries/raylib/default.nix +++ b/pkgs/development/libraries/raylib/default.nix @@ -36,9 +36,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - autoPatchelfHook cmake - ]; + ] ++ lib.optional stdenv.isLinux autoPatchelfHook; buildInputs = [ glfw ] ++ lib.optionals stdenv.isLinux [ mesa libXi libXcursor libXrandr libXinerama ] @@ -71,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: { ]; # fix libasound.so/libpulse.so not being found - appendRunpaths = [ + appendRunpaths = lib.optionals stdenv.isLinux [ (lib.makeLibraryPath (lib.optional alsaSupport alsa-lib ++ lib.optional pulseSupport libpulseaudio)) ]; diff --git a/pkgs/development/python-modules/raylib-python-cffi/default.nix b/pkgs/development/python-modules/raylib-python-cffi/default.nix index f1d46c1822d1..e77e357b3f3a 100644 --- a/pkgs/development/python-modules/raylib-python-cffi/default.nix +++ b/pkgs/development/python-modules/raylib-python-cffi/default.nix @@ -1,4 +1,6 @@ { + stdenv, + gcc, buildPythonPackage, fetchFromGitHub, setuptools, @@ -9,9 +11,19 @@ raylib, physac, raygui, - lib + darwin, + lib, }: +let + inherit (darwin.apple_sdk.frameworks) + OpenGL + Cocoa + IOKit + CoreFoundation + CoreVideo + ; +in buildPythonPackage rec { pname = "raylib-python-cffi"; version = "5.0.0.2"; @@ -31,22 +43,36 @@ buildPythonPackage rec { # This patch fixes to the builder script function to call pkg-config # using the library name rather than searching only through raylib ./fix_pyray_builder.patch + + # use get_lib_flags() instead of linking to libraylib.a directly + ./fix_macos_raylib.patch ]; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + gcc + ]; # tests require a graphic environment doCheck = false; pythonImportsCheck = [ "pyray" ]; - buildInputs = [ - glfw - libffi - raylib - physac - raygui - ]; + buildInputs = + [ + glfw + libffi + raylib + physac + raygui + ] + ++ lib.optionals stdenv.isDarwin [ + OpenGL + Cocoa + IOKit + CoreFoundation + CoreVideo + ]; meta = { description = "Python CFFI bindings for Raylib"; diff --git a/pkgs/development/python-modules/raylib-python-cffi/fix_macos_raylib.patch b/pkgs/development/python-modules/raylib-python-cffi/fix_macos_raylib.patch new file mode 100644 index 000000000000..be2f41a3720c --- /dev/null +++ b/pkgs/development/python-modules/raylib-python-cffi/fix_macos_raylib.patch @@ -0,0 +1,11 @@ +--- a/raylib/build.py ++++ b/raylib/build.py +@@ -158,7 +158,7 @@ def build_unix(): + + if platform.system() == "Darwin": + print("BUILDING FOR MAC") +- extra_link_args = [get_the_lib_path() + '/libraylib.a', '-framework', 'OpenGL', '-framework', 'Cocoa', ++ extra_link_args = get_lib_flags() + ['-framework', 'OpenGL', '-framework', 'Cocoa', + '-framework', 'IOKit', '-framework', 'CoreFoundation', '-framework', + 'CoreVideo'] + libraries = []