diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/SDL_compat')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/SDL_compat/default.nix | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/nixpkgs/pkgs/development/libraries/SDL_compat/default.nix b/nixpkgs/pkgs/development/libraries/SDL_compat/default.nix index 2716b7d2954d..919963bb0c9a 100644 --- a/nixpkgs/pkgs/development/libraries/SDL_compat/default.nix +++ b/nixpkgs/pkgs/development/libraries/SDL_compat/default.nix @@ -4,6 +4,9 @@ , cmake , pkg-config , SDL2 +, libiconv +, Cocoa +, autoSignDarwinBinariesHook , libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms , openglSupport ? libGLSupported , libGL @@ -16,18 +19,20 @@ let in stdenv.mkDerivation rec { pname = "SDL_compat"; - version = "1.2.52"; + version = "1.2.64"; src = fetchFromGitHub { owner = "libsdl-org"; repo = "sdl12-compat"; rev = "release-" + version; - hash = "sha256-PDGlMI8q74JaqMQ5oX9Zt5CEr7frFQWECbuwq5g25eg="; + hash = "sha256-Ctl7RElRWaB4IpBZD5Sm0rYOcv5zaIag78VTKoFlbVs="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ cmake pkg-config ] + ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]; propagatedBuildInputs = [ SDL2 ] + ++ optionals stdenv.hostPlatform.isDarwin [ libiconv Cocoa ] ++ optionals openglSupport [ libGL libGLU ]; enableParallelBuilding = true; @@ -35,15 +40,18 @@ stdenv.mkDerivation rec { setupHook = ../SDL/setup-hook.sh; postFixup = '' - for lib in $out/lib/*.so* ; do + for lib in $out/lib/*${stdenv.hostPlatform.extensions.sharedLibrary}* ; do if [[ -L "$lib" ]]; then - patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" + ${if stdenv.hostPlatform.isDarwin then '' + install_name_tool ${lib.strings.concatMapStrings (x: " -add_rpath ${makeLibraryPath [x]} ") propagatedBuildInputs} "$lib" + '' else '' + patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" + ''} fi done ''; meta = with lib; { - broken = stdenv.isDarwin; description = "A cross-platform multimedia library - build SDL 1.2 applications against 2.0"; homepage = "https://www.libsdl.org/"; license = licenses.zlib; |