root: use pure CoreSymbolication on Darwin
The current build works by linking against CoreSymbolication in /System/Library/PrivateFrameworks. This is impure and doesn't work in newer versions of macOS. See https://github.com/NixOS/nixpkgs/issues/128576 (cherry picked from commit 55dcd998597257714c4a5362c14845a9363dde66)
This commit is contained in:
committed by
Jonathan Ringer
parent
3866043a12
commit
f77d176ec6
@@ -2,7 +2,7 @@
|
||||
, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre
|
||||
, pkg-config, python, xxHash, zlib, zstd
|
||||
, libAfterImage, giflib, libjpeg, libtiff, libpng
|
||||
, Cocoa, OpenGL, noSplash ? false }:
|
||||
, Cocoa, CoreSymbolication, OpenGL, noSplash ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "root";
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ makeWrapper cmake pkg-config llvm_5.dev ];
|
||||
buildInputs = [ ftgl gl2ps glew pcre zlib zstd llvm_5 libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng python.pkgs.numpy ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
|
||||
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
|
||||
++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ]
|
||||
;
|
||||
|
||||
patches = [
|
||||
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs build/unix/
|
||||
'' + lib.optionalString noSplash ''
|
||||
substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# Eliminate impure reference to /System/Library/PrivateFrameworks
|
||||
substituteInPlace core/CMakeLists.txt \
|
||||
--replace "-F/System/Library/PrivateFrameworks" ""
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
Reference in New Issue
Block a user