From 84454c32332e39bc84bab576e00c62ac88b3dbe3 Mon Sep 17 00:00:00 2001 From: toonn Date: Wed, 21 Apr 2021 18:34:13 +0200 Subject: darwin.Libsystem: Patch TargetConditionals.h `TargetConditionals.h` was missing several definitions, like `TARGET_OS_TV` that are part of SDK 10.12 at least. And one that doesn't seem to occur in any SDK afaict, `TARGET_OS_EMBEDDED_OTHER`. I added the definitions from SDK 10.12 verbatim and defined `TARGET_OS_EMBEDDED_OTHER` to be equal to `0`. I think none of this works if `darwin.Libsystem` is used to build for linux or iOS though so maybe this needs a more thorough fix? This reverts 336d82617f1cdd2f5ae77e262afa3f88f5a5e578 because it's no longer necessary. --- pkgs/stdenv/darwin/make-bootstrap-tools.nix | 47 ++--------------------------- 1 file changed, 3 insertions(+), 44 deletions(-) (limited to 'pkgs/stdenv') diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 536bf251a940..34578ecfba8e 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -32,47 +32,6 @@ in rec { # Avoid messing with libkrb5 and libnghttp2. curl_ = curlMinimal.override (args: { gssSupport = false; http2Support = false; }); - # Avoid stdenv rebuild. - Libsystem_ = darwin.Libsystem.overrideAttrs (oldAttrs: - { installPhase = oldAttrs.installPhase + '' - cat < $out/include/TargetConditionals.h - #ifndef __TARGETCONDITIONALS__ - #define __TARGETCONDITIONALS__ - #define TARGET_OS_MAC 1 - #define TARGET_OS_WIN32 0 - #define TARGET_OS_UNIX 0 - #define TARGET_OS_OSX 1 - #define TARGET_OS_IPHONE 0 - #define TARGET_OS_IOS 0 - #define TARGET_OS_WATCH 0 - #define TARGET_OS_BRIDGE 0 - #define TARGET_OS_TV 0 - #define TARGET_OS_SIMULATOR 0 - #define TARGET_OS_EMBEDDED 0 - #define TARGET_OS_EMBEDDED_OTHER 0 /* Used in configd */ - #define TARGET_IPHONE_SIMULATOR TARGET_OS_SIMULATOR /* deprecated */ - #define TARGET_OS_NANO TARGET_OS_WATCH /* deprecated */ - - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 1 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #define TARGET_RT_64_BIT 1 - #endif /* __TARGETCONDITIONALS__ */ - EOF - ''; - }); - build = stdenv.mkDerivation { name = "stdenv-bootstrap-tools"; @@ -84,12 +43,12 @@ in rec { ${lib.optionalString stdenv.targetPlatform.isx86_64 '' # Copy libSystem's .o files for various low-level boot stuff. - cp -d ${Libsystem_}/lib/*.o $out/lib + cp -d ${darwin.Libsystem}/lib/*.o $out/lib # Resolv is actually a link to another package, so let's copy it properly - cp -L ${Libsystem_}/lib/libresolv.9.dylib $out/lib + cp -L ${darwin.Libsystem}/lib/libresolv.9.dylib $out/lib - cp -rL ${Libsystem_}/include $out + cp -rL ${darwin.Libsystem}/include $out chmod -R u+w $out/include cp -rL ${darwin.ICU}/include* $out/include cp -rL ${libiconv}/include/* $out/include -- cgit 1.4.1