From fd1ffd0e0d8a701616cd51c33717f6ad4fdbd508 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 5 Nov 2018 12:22:11 +0100 Subject: SDL2: include cf-private on darwin It's not included implicitly by the frameworks anymore. Undefined symbols for architecture x86_64: "_NSDefaultRunLoopMode", referenced from: _Cocoa_PumpEvents in SDL_cocoaevents.o "_NSURLIsAliasFileKey", referenced from: -[SDLWindow performDragOperation:] in SDL_cocoawindow.o "_OBJC_CLASS_$_NSArray", referenced from: objc-class-ref in SDL_cocoaclipboard.o objc-class-ref in SDL_cocoakeyboard.o objc-class-ref in SDL_cocoawindow.o "_OBJC_CLASS_$_NSData", referenced from: objc-class-ref in SDL_cocoamouse.o "_OBJC_CLASS_$_NSDate", referenced from: objc-class-ref in SDL_cocoaevents.o "_OBJC_CLASS_$_NSDictionary", referenced from: objc-class-ref in SDL_cocoaevents.o "_OBJC_CLASS_$_NSMutableArray", referenced from: objc-class-ref in SDL_cocoawindow.o "_OBJC_CLASS_$_NSURL", referenced from: objc-class-ref in SDL_cocoawindow.o "_OBJC_CLASS_$_NSUserDefaults", referenced from: objc-class-ref in SDL_cocoaevents.o "_OBJC_EHTYPE_$_NSException", referenced from: GCC_except_table67 in SDL_cocoawindow.o ld: symbol(s) not found for architecture x86_64 --- pkgs/development/libraries/SDL2/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'pkgs/development/libraries/SDL2') diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 7d8f5b2caee..4b358f68a11 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -8,7 +8,7 @@ , ibusSupport ? false, ibus , pulseaudioSupport ? true, libpulseaudio , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL -, audiofile, libiconv +, audiofile, cf-private, libiconv }: # NOTE: When editing this expression see if the same change applies to @@ -54,7 +54,11 @@ stdenv.mkDerivation rec { buildInputs = [ audiofile libiconv ] ++ dlopenBuildInputs ++ optional ibusSupport ibus - ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; + ++ optionals stdenv.isDarwin [ + AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL + # Needed for NSDefaultRunLoopMode symbols. + cf-private + ]; # /build/SDL2-2.0.7/src/video/wayland/SDL_waylandevents.c:41:10: fatal error: # pointer-constraints-unstable-v1-client-protocol.h: No such file or directory -- cgit 1.4.1 From 8abc1cccfbf5b72f90f71627f8a13ddccf4c3670 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 5 Nov 2018 12:55:08 +0100 Subject: SDL: move overrides out of all-packages.nix Using defaults makes it much easier to understand what the values are. --- pkgs/development/libraries/SDL/default.nix | 14 +++++++------- pkgs/development/libraries/SDL2/default.nix | 16 ++++++++-------- pkgs/top-level/all-packages.nix | 10 ---------- 3 files changed, 15 insertions(+), 25 deletions(-) (limited to 'pkgs/development/libraries/SDL2') diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 08a52096d4b..7ef3c4c8968 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,8 +1,8 @@ -{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, audiofile, libcap, libiconv -, openglSupport ? false, libGL, libGLU -, alsaSupport ? true, alsaLib -, x11Support ? stdenv.hostPlatform == stdenv.buildPlatform, libXext, libICE, libXrandr -, pulseaudioSupport ? true, libpulseaudio +{ stdenv, config, libGLSupported, fetchurl, fetchpatch, pkgconfig, audiofile, libcap, libiconv +, openglSupport ? libGLSupported, libGL, libGLU +, alsaSupport ? stdenv.isLinux, alsaLib +, x11Support ? !stdenv.isCygwin, libXext, libICE, libXrandr +, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio , OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa , cf-private }: @@ -10,7 +10,7 @@ # NOTE: When editing this expression see if the same change applies to # SDL2 expression too -with lib; +with stdenv.lib; assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport; assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null && libGLU != null); @@ -114,7 +114,7 @@ stdenv.mkDerivation rec { postFixup = '' for lib in $out/lib/*.so* ; do if [[ -L "$lib" ]]; then - patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath propagatedBuildInputs}" "$lib" + patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" fi done ''; diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 4b358f68a11..242b1b8a3f5 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -1,12 +1,12 @@ -{ stdenv, lib, fetchurl, pkgconfig, pruneLibtoolFiles -, openglSupport ? false, libGL -, alsaSupport ? true, alsaLib -, x11Support ? true, libX11, xproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr -, waylandSupport ? true, wayland, wayland-protocols, libxkbcommon -, dbusSupport ? false, dbus +{ stdenv, config, libGLSupported, fetchurl, pkgconfig, pruneLibtoolFiles +, openglSupport ? libGLSupported, libGL +, alsaSupport ? stdenv.isLinux, alsaLib +, x11Support ? !stdenv.isCygwin, libX11, xproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr +, waylandSupport ? stdenv.isLinux, wayland, wayland-protocols, libxkbcommon +, dbusSupport ? stdenv.isLinux, dbus , udevSupport ? false, udev , ibusSupport ? false, ibus -, pulseaudioSupport ? true, libpulseaudio +, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL , audiofile, cf-private, libiconv }: @@ -14,7 +14,7 @@ # NOTE: When editing this expression see if the same change applies to # SDL expression too -with lib; +with stdenv.lib; assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport; assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c61e47ce57..07f0bf2bed2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12122,10 +12122,6 @@ with pkgs; schroedinger = callPackage ../development/libraries/schroedinger { }; SDL = callPackage ../development/libraries/SDL { - openglSupport = libGLSupported; - alsaSupport = stdenv.isLinux; - x11Support = !stdenv.isCygwin; - pulseaudioSupport = config.pulseaudio or stdenv.isLinux; inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa; }; @@ -12147,12 +12143,6 @@ with pkgs; SDL_ttf = callPackage ../development/libraries/SDL_ttf { }; SDL2 = callPackage ../development/libraries/SDL2 { - openglSupport = libGLSupported; - alsaSupport = stdenv.isLinux; - x11Support = !stdenv.isCygwin; - waylandSupport = stdenv.isLinux; - udevSupport = stdenv.isLinux; - pulseaudioSupport = config.pulseaudio or stdenv.isLinux; inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL; }; -- cgit 1.4.1