From 4a515ed306c24de0ec32acbfeb2c9882601f2a1c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 8 Apr 2018 00:43:07 -0500 Subject: dtrace: add xcode drv darwin.dtrace-xcode contains the dtrace bin --- .../darwin/apple-source-releases/default.nix | 3 +- .../darwin/apple-source-releases/dtrace/xcode.nix | 35 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix (limited to 'pkgs/os-specific/darwin') diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index cca729016c25..c796ca05105c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -201,7 +201,8 @@ let configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {}; Csu = applePackage "Csu" "osx-10.11.6" "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {}; - dtrace = applePackage "dtrace" "osx-10.11.6" "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wc0" {}; + dtrace = applePackage "dtrace" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; + dtrace-xcode = applePackage "dtrace/xcode.nix" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; dyld = applePackage "dyld" "osx-10.11.6" "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {}; eap8021x = applePackage "eap8021x" "osx-10.11.6" "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {}; ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix new file mode 100644 index 000000000000..3fb31fda166e --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix @@ -0,0 +1,35 @@ +{ appleDerivation, xcbuild, CoreSymbolication, xnu, bison, flex, darling }: + +appleDerivation { + buildInputs = [ xcbuild CoreSymbolication xnu bison flex darling ]; + NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers"; + NIX_LDFLAGS = "-L./Products/Release"; + xcbuildFlags = "-target dtrace"; + + # hack to handle xcbuild's broken lex handling + preBuild = '' + cd libdtrace + yacc -d dt_grammar.y + flex -l -d dt_lex.l + cd .. + + substituteInPlace dtrace.xcodeproj/project.pbxproj \ + --replace '6EBC9800099BFBBF0001019C /* dt_grammar.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; name = dt_grammar.y; path = libdtrace/dt_grammar.y; sourceTree = ""; };' '6EBC9800099BFBBF0001019C /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = y.tab.c; path = libdtrace/y.tab.c; sourceTree = ""; };' \ + --replace '6EBC9808099BFBBF0001019C /* dt_lex.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; name = dt_lex.l; path = libdtrace/dt_lex.l; sourceTree = ""; };' '6EBC9808099BFBBF0001019C /* lex.yy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lex.yy.c; path = libdtrace/lex.yy.c; sourceTree = ""; };' + ''; + + # xcbuild doesn't support install + installPhase = '' + mkdir -p $out + + cp -r Products/Release/usr $out + mv $out/usr/* $out + rmdir $out/usr + + mkdir $out/lib + cp Products/Release/*.dylib $out/lib + + mkdir $out/bin + cp Products/Release/dtrace $out/bin + ''; +} -- cgit 1.4.1