Merge master into staging-next
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{ stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
|
||||
, jdk, zip, unzip, bash, writeCBin, coreutils
|
||||
, which, python, perl, gnused, gnugrep, findutils
|
||||
, which, python, perl, gawk, gnused, gnugrep, findutils
|
||||
# Apple dependencies
|
||||
, cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation
|
||||
# Allow to independently override the jdks used to build and run respectively
|
||||
@@ -23,7 +23,7 @@ let
|
||||
for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
|
||||
'';
|
||||
|
||||
defaultShellPath = lib.makeBinPath [ bash coreutils findutils gnugrep gnused which unzip ];
|
||||
defaultShellPath = lib.makeBinPath [ bash coreutils findutils gawk gnugrep gnused which unzip ];
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText
|
||||
, git, ninja, python }:
|
||||
, git, ninja, python2 }:
|
||||
|
||||
let
|
||||
rev = "96ff462cddf35f98e25fd5d098fc27bc81eab94a";
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
--replace "NSArray<NSString*>*" "NSArray*"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ ninja python git ];
|
||||
nativeBuildInputs = [ ninja python2 git ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
|
||||
libobjc
|
||||
cctools
|
||||
|
||||
@@ -44,6 +44,13 @@ python3Packages.buildPythonApplication rec {
|
||||
src = ./fix-rpath.patch;
|
||||
inherit (builtins) storeDir;
|
||||
})
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# We use custom Clang, which makes Meson think *not Apple*, while still
|
||||
# relying on system linker. When it detects standard Clang, Meson will
|
||||
# pass it `-Wl,-O1` flag but optimizations are not recognized by
|
||||
# Mac linker.
|
||||
# https://github.com/mesonbuild/meson/issues/4784
|
||||
./fix-objc-linking.patch
|
||||
];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
--- a/mesonbuild/environment.py
|
||||
+++ b/mesonbuild/environment.py
|
||||
@@ -795,7 +795,7 @@
|
||||
compiler_type = self.get_gnu_compiler_type(defines)
|
||||
version = self.get_gnu_version_from_defines(defines)
|
||||
return GnuObjCCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
|
||||
- if out.startswith('Apple LLVM'):
|
||||
+ if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
|
||||
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
|
||||
if out.startswith('clang'):
|
||||
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
|
||||
@@ -822,7 +822,7 @@
|
||||
compiler_type = self.get_gnu_compiler_type(defines)
|
||||
version = self.get_gnu_version_from_defines(defines)
|
||||
return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
|
||||
- if out.startswith('Apple LLVM'):
|
||||
+ if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
|
||||
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
|
||||
if out.startswith('clang'):
|
||||
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
|
||||
Reference in New Issue
Block a user