Merge pull request #56197 from matthewbauer/cross-fixes3
Android and related cross fixes
This commit is contained in:
commit
5c46f77249
@ -47,5 +47,5 @@ in rec {
|
||||
unix = filterDoubles predicates.isUnix;
|
||||
windows = filterDoubles predicates.isWindows;
|
||||
|
||||
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"];
|
||||
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "armv7a-linux" "aarch64-linux" "powerpc64le-linux"];
|
||||
}
|
||||
|
@ -79,8 +79,8 @@ in stdenv.mkDerivation rec {
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
] ++ stdenv.lib.optional enableSharedLibraries [
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
] ++ stdenv.lib.optional (!isDarwin)
|
||||
|
@ -120,8 +120,8 @@ in stdenv.mkDerivation rec {
|
||||
"-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code
|
||||
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
] ++ stdenv.lib.optional enableSharedLibraries [
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
] ++ stdenv.lib.optional (!isDarwin)
|
||||
|
@ -100,8 +100,8 @@ in stdenv.mkDerivation (rec {
|
||||
"-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code
|
||||
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
]
|
||||
++ stdenv.lib.optional enableSharedLibraries
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
|
@ -14,9 +14,6 @@
|
||||
, debugVersion ? false
|
||||
, enableManpages ? false
|
||||
, enableSharedLibraries ? true
|
||||
# Mesa requires AMDGPU target
|
||||
# BPF is used by bcc
|
||||
, enableTargets ? [ stdenv.hostPlatform stdenv.targetPlatform "AMDGPU" "BPF" ]
|
||||
}:
|
||||
|
||||
let
|
||||
@ -94,7 +91,7 @@ in stdenv.mkDerivation (rec {
|
||||
"-DLLVM_ENABLE_FFI=ON"
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
|
||||
"-DLLVM_ENABLE_DUMP=ON"
|
||||
] ++ optionals enableSharedLibraries [
|
||||
|
@ -101,7 +101,7 @@ in stdenv.mkDerivation (rec {
|
||||
"-DLLVM_ENABLE_FFI=ON"
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
|
||||
"-DLLVM_ENABLE_DUMP=ON"
|
||||
] ++ optionals enableSharedLibraries [
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ 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
|
||||
, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, alsaLib
|
||||
, x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid
|
||||
, libXext, libICE, libXrandr
|
||||
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio
|
||||
, OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
|
||||
, cf-private
|
||||
}:
|
||||
@ -12,9 +13,6 @@
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
|
||||
assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null && libGLU != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "SDL-${version}";
|
||||
version = "1.2.15";
|
||||
@ -30,18 +28,18 @@ stdenv.mkDerivation rec {
|
||||
outputs = [ "out" "dev" ];
|
||||
outputBin = "dev"; # sdl-config
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig ]
|
||||
++ optional stdenv.isLinux libcap;
|
||||
|
||||
propagatedBuildInputs = [ libiconv ]
|
||||
++ optionals x11Support [ libXext libICE libXrandr ]
|
||||
++ optional stdenv.isLinux libcap
|
||||
++ optionals openglSupport [ libGL libGLU ]
|
||||
++ optional alsaSupport alsaLib
|
||||
++ optional pulseaudioSupport libpulseaudio
|
||||
++ optional stdenv.isDarwin Cocoa;
|
||||
|
||||
buildInputs = [ ]
|
||||
++ optional (!stdenv.hostPlatform.isMinGW) audiofile
|
||||
++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile
|
||||
++ optionals stdenv.isDarwin [
|
||||
AudioUnit CoreAudio CoreServices Kernel OpenGL
|
||||
# Needed for NSDefaultRunLoopMode symbols.
|
||||
|
@ -1,12 +1,16 @@
|
||||
{ stdenv, config, libGLSupported, fetchurl, pkgconfig
|
||||
, openglSupport ? libGLSupported, libGL
|
||||
, alsaSupport ? stdenv.isLinux, alsaLib
|
||||
, x11Support ? !stdenv.isCygwin, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
|
||||
, waylandSupport ? stdenv.isLinux, wayland, wayland-protocols, libxkbcommon
|
||||
, dbusSupport ? stdenv.isLinux, dbus
|
||||
, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, alsaLib
|
||||
, x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid
|
||||
, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor
|
||||
, libXinerama, libXext, libXxf86vm, libXrandr
|
||||
, waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
|
||||
, wayland, wayland-protocols, libxkbcommon
|
||||
, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, dbus
|
||||
, udevSupport ? false, udev
|
||||
, ibusSupport ? false, ibus
|
||||
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
|
||||
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid
|
||||
, libpulseaudio
|
||||
, AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
|
||||
, audiofile, cf-private, libiconv
|
||||
}:
|
||||
@ -16,9 +20,6 @@
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
|
||||
assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "SDL2-${version}";
|
||||
version = "2.0.9";
|
||||
@ -44,14 +45,14 @@ stdenv.mkDerivation rec {
|
||||
++ optionals x11Support [ libX11 xorgproto ];
|
||||
|
||||
dlopenBuildInputs = [ ]
|
||||
++ optional alsaSupport alsaLib
|
||||
++ optionals alsaSupport [ alsaLib audiofile ]
|
||||
++ optional dbusSupport dbus
|
||||
++ optional pulseaudioSupport libpulseaudio
|
||||
++ optional udevSupport udev
|
||||
++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
|
||||
++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ];
|
||||
|
||||
buildInputs = [ audiofile libiconv ]
|
||||
buildInputs = [ libiconv ]
|
||||
++ dlopenBuildInputs
|
||||
++ optional ibusSupport ibus
|
||||
++ optionals stdenv.isDarwin [
|
||||
|
@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"LDCONFIG=true"
|
||||
"ARCH=${stdenv.targetPlatform.uname.processor}"
|
||||
"SYS=${stdenv.targetPlatform.uname.system}"
|
||||
"ARCH=${stdenv.hostPlatform.uname.processor}"
|
||||
"SYS=${stdenv.hostPlatform.uname.system}"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
|
||||
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://cgit.freedesktop.org/mesa/glu/;
|
||||
license = stdenv.lib.licenses.sgi-b-20;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
broken = stdenv.hostPlatform.isAndroid;
|
||||
};
|
||||
}
|
||||
|
@ -82,8 +82,8 @@ let
|
||||
prePatch = prePatchCommon + ''
|
||||
substituteInPlace ./libraries/libapparmor/swig/perl/Makefile.am --replace install_vendor install_site
|
||||
substituteInPlace ./libraries/libapparmor/swig/perl/Makefile.in --replace install_vendor install_site
|
||||
substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${stdenv.cc.libc.dev}/include/netinet/in.h"
|
||||
substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${stdenv.cc.libc.dev}/include/netinet/in.h"
|
||||
substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${stdenv.lib.getDev stdenv.cc.libc}/include/netinet/in.h"
|
||||
substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${stdenv.lib.getDev stdenv.cc.libc}/include/netinet/in.h"
|
||||
'';
|
||||
inherit patches;
|
||||
|
||||
|
@ -11652,8 +11652,11 @@ in
|
||||
|
||||
## libGL/libGLU/Mesa stuff
|
||||
|
||||
# Default libGL implementation, should provide headers and libGL.so/libEGL.so/... to link agains them
|
||||
libGL = mesa_noglu.stubs;
|
||||
# Default libGL implementation, should provide headers and
|
||||
# libGL.so/libEGL.so/... to link agains them. Android NDK provides
|
||||
# an OpenGL implementation, we can just use that.
|
||||
libGL = if stdenv.hostPlatform.useAndroidPrebuilt then stdenv
|
||||
else mesa_noglu.stubs;
|
||||
|
||||
# Default libGLU
|
||||
libGLU = mesa_glu;
|
||||
@ -12458,10 +12461,13 @@ in
|
||||
|
||||
schroedinger = callPackage ../development/libraries/schroedinger { };
|
||||
|
||||
SDL = callPackage ../development/libraries/SDL {
|
||||
SDL = callPackage ../development/libraries/SDL ({
|
||||
inherit (darwin) cf-private;
|
||||
inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa;
|
||||
};
|
||||
} // lib.optionalAttrs stdenv.hostPlatform.isAndroid {
|
||||
# libGLU doesn’t work with Android’s SDL
|
||||
libGLU = null;
|
||||
});
|
||||
|
||||
SDL_sixel = callPackage ../development/libraries/SDL_sixel { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user