diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2019-09-04 16:59:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-04 16:59:33 +0200 |
commit | e7cccdbb139ccf2f9f170500f40c04a6237a2da1 (patch) | |
tree | 40982a399e0167e9bf14b47f138667742ba60fab | |
parent | b479a214039913672817cffa876f8425b0168881 (diff) | |
parent | 1be03500d5bfaf3306b97a96595f2c526bdb063d (diff) | |
download | nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar.gz nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar.bz2 nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar.lz nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar.xz nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.tar.zst nixlib-e7cccdbb139ccf2f9f170500f40c04a6237a2da1.zip |
Merge pull request #68105 from jtojnar/meson-darwin-fix
meson: fix darwin patch
-rw-r--r-- | pkgs/development/tools/build-managers/meson/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/meson/fix-objc-linking.patch | 30 |
2 files changed, 17 insertions, 14 deletions
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index d37951ab94a4..fad5bc9e630d 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -60,6 +60,7 @@ python3Packages.buildPythonApplication rec { # pass it `-Wl,-O1` flag but optimizations are not recognized by # Mac linker. # https://github.com/mesonbuild/meson/issues/4784 + # Should be fixed in 0.52 ./fix-objc-linking.patch ]; diff --git a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch index 60a205828f5d..996e0c3420e2 100644 --- a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch +++ b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch @@ -1,20 +1,22 @@ +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index dc8f099b..d8581fcf 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -795,7 +795,7 @@ +@@ -944,7 +944,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 @@ + return GnuObjCCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines) +- if out.startswith('Apple LLVM') or out.startswith('Apple clang'): ++ if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin(): + return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap) + if 'windows' in out: + return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap) +@@ -974,7 +974,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) + return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines) +- if out.startswith('Apple LLVM') or out.startswith('Apple clang'): ++ if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin(): + return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap) + if 'windows' in out: + return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap) |