bootstrap-tools: Fix xnu python3 patch
This patch only affects the xnu included in the bootstrap-tools to avoid a stdenv rebuild.
This commit is contained in:
parent
7e9e1b6351
commit
7da313e10a
41
pkgs/stdenv/darwin/fixed-xnu-python3.patch
Normal file
41
pkgs/stdenv/darwin/fixed-xnu-python3.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
diff --git a/bsd/kern/makekdebugevents.py b/bsd/kern/makekdebugevents.py
|
||||||
|
index 73b2db4..d354ba0 100755
|
||||||
|
--- a/bsd/kern/makekdebugevents.py
|
||||||
|
+++ b/bsd/kern/makekdebugevents.py
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
# named kd_events[] or these mappings.
|
||||||
|
# Required to generate a header file used by DEVELOPMENT and DEBUG kernels.
|
||||||
|
#
|
||||||
|
-
|
||||||
|
+
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
|
||||||
|
@@ -21,18 +21,18 @@ code_table = []
|
||||||
|
# scan file to generate internal table
|
||||||
|
with open(trace_code_file, 'rt') as codes:
|
||||||
|
for line in codes:
|
||||||
|
- m = id_name_pattern.match(line)
|
||||||
|
- if m:
|
||||||
|
+ m = id_name_pattern.match(line)
|
||||||
|
+ if m:
|
||||||
|
code_table += [(int(m.group(1),base=16), m.group(2))]
|
||||||
|
|
||||||
|
# emit typedef:
|
||||||
|
-print "typedef struct {"
|
||||||
|
-print " uint32_t id;"
|
||||||
|
-print " const char *name;"
|
||||||
|
-print "} kd_event_t;"
|
||||||
|
+print("typedef struct {")
|
||||||
|
+print(" uint32_t id;")
|
||||||
|
+print(" const char *name;")
|
||||||
|
+print("} kd_event_t;")
|
||||||
|
# emit structure declaration and sorted initialization:
|
||||||
|
-print "kd_event_t kd_events[] = {"
|
||||||
|
+print("kd_event_t kd_events[] = {")
|
||||||
|
for mapping in sorted(code_table, key=lambda x: x[0]):
|
||||||
|
- print " {0x%x, \"%s\"}," % mapping
|
||||||
|
-print "};"
|
||||||
|
+ print(" {0x%x, \"%s\"}," % mapping)
|
||||||
|
+print("};")
|
||||||
|
|
@ -26,6 +26,12 @@ in rec {
|
|||||||
# Avoid messing with libkrb5 and libnghttp2.
|
# Avoid messing with libkrb5 and libnghttp2.
|
||||||
curl_ = curlMinimal.override (args: { gssSupport = false; http2Support = false; });
|
curl_ = curlMinimal.override (args: { gssSupport = false; http2Support = false; });
|
||||||
|
|
||||||
|
# Avoid stdenv rebuild.
|
||||||
|
Libsystem_ = darwin.Libsystem.override (args:
|
||||||
|
{ xnu = darwin.xnu.overrideAttrs (oldAttrs:
|
||||||
|
{ patches = [ ./fixed-xnu-python3.patch ]; });
|
||||||
|
});
|
||||||
|
|
||||||
build = stdenv.mkDerivation {
|
build = stdenv.mkDerivation {
|
||||||
name = "stdenv-bootstrap-tools";
|
name = "stdenv-bootstrap-tools";
|
||||||
|
|
||||||
@ -37,12 +43,12 @@ in rec {
|
|||||||
|
|
||||||
${lib.optionalString stdenv.targetPlatform.isx86_64 ''
|
${lib.optionalString stdenv.targetPlatform.isx86_64 ''
|
||||||
# Copy libSystem's .o files for various low-level boot stuff.
|
# Copy libSystem's .o files for various low-level boot stuff.
|
||||||
cp -d ${darwin.Libsystem}/lib/*.o $out/lib
|
cp -d ${Libsystem_}/lib/*.o $out/lib
|
||||||
|
|
||||||
# Resolv is actually a link to another package, so let's copy it properly
|
# Resolv is actually a link to another package, so let's copy it properly
|
||||||
cp -L ${darwin.Libsystem}/lib/libresolv.9.dylib $out/lib
|
cp -L ${Libsystem_}/lib/libresolv.9.dylib $out/lib
|
||||||
|
|
||||||
cp -rL ${darwin.Libsystem}/include $out
|
cp -rL ${Libsystem_}/include $out
|
||||||
chmod -R u+w $out/include
|
chmod -R u+w $out/include
|
||||||
cp -rL ${darwin.ICU}/include* $out/include
|
cp -rL ${darwin.ICU}/include* $out/include
|
||||||
cp -rL ${libiconv}/include/* $out/include
|
cp -rL ${libiconv}/include/* $out/include
|
||||||
|
Loading…
Reference in New Issue
Block a user