stdenv/darwin: integrate a new CoreFoundation

This also updates the bootstrap tool builder to LLVM 5, but not the ones
we actually use for bootstrap. I'll make that change in a subsequent commit
so as to provide traceable provenance of the bootstrap tools.
This commit is contained in:
Dan Peebles
2018-09-09 13:36:05 -04:00
parent b93f4234e8
commit 4efd4053ed
17 changed files with 148 additions and 189 deletions

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchFromGitHub, python, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
{ stdenv, fetchFromGitHub, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ninja-${version}";
@@ -11,25 +13,27 @@ stdenv.mkDerivation rec {
sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f";
};
nativeBuildInputs = [ python asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ];
nativeBuildInputs = [ python ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ];
buildPhase = ''
python configure.py --bootstrap
# "./ninja -vn manual" output copied here to support cross compilation.
'' + optionalString buildDocs ''
asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc
xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html
'';
installPhase = ''
install -Dm555 -t $out/bin ninja
install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja
install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja
'' + optionalString buildDocs ''
install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
'';
setupHook = ./setup-hook.sh;
meta = with stdenv.lib; {
meta = {
description = "Small build system with a focus on speed";
longDescription = ''
Ninja is a small build system with a focus on speed. It differs from