uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
49
pkgs/development/tools/build-managers/ninja/default.nix
Normal file
49
pkgs/development/tools/build-managers/ninja/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ninja";
|
||||
version = "1.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ninja-build";
|
||||
repo = "ninja";
|
||||
rev = "v${version}";
|
||||
sha256 = "0mspq4mvx41qri2v2zlg2y3znx5gfw6d8s3czbcfpr2218qbpz55";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 re2c ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin ];
|
||||
|
||||
buildPhase = ''
|
||||
python configure.py --bootstrap
|
||||
'' + optionalString buildDocs ''
|
||||
# "./ninja -vn manual" output copied here to support cross compilation.
|
||||
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 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 = {
|
||||
description = "Small build system with a focus on speed";
|
||||
longDescription = ''
|
||||
Ninja is a small build system with a focus on speed. It differs from
|
||||
other build systems in two major respects: it is designed to have its
|
||||
input files generated by a higher-level build system, and it is designed
|
||||
to run builds as fast as possible.
|
||||
'';
|
||||
homepage = "https://ninja-build.org/";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ thoughtpolice bjornfor orivej ];
|
||||
};
|
||||
}
|
||||
78
pkgs/development/tools/build-managers/ninja/setup-hook.sh
Normal file
78
pkgs/development/tools/build-managers/ninja/setup-hook.sh
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
ninjaBuildPhase() {
|
||||
runHook preBuild
|
||||
|
||||
local buildCores=1
|
||||
|
||||
# Parallel building is enabled by default.
|
||||
if [ "${enableParallelBuilding-1}" ]; then
|
||||
buildCores="$NIX_BUILD_CORES"
|
||||
fi
|
||||
|
||||
local flagsArray=(
|
||||
-j$buildCores -l$NIX_BUILD_CORES
|
||||
$ninjaFlags "${ninjaFlagsArray[@]}"
|
||||
)
|
||||
|
||||
echoCmd 'build flags' "${flagsArray[@]}"
|
||||
ninja "${flagsArray[@]}" | cat
|
||||
|
||||
runHook postBuild
|
||||
}
|
||||
|
||||
if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then
|
||||
buildPhase=ninjaBuildPhase
|
||||
fi
|
||||
|
||||
ninjaInstallPhase() {
|
||||
runHook preInstall
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
local flagsArray=(
|
||||
$ninjaFlags "${ninjaFlagsArray[@]}"
|
||||
${installTargets:-install}
|
||||
)
|
||||
|
||||
echoCmd 'install flags' "${flagsArray[@]}"
|
||||
ninja "${flagsArray[@]}" | cat
|
||||
|
||||
runHook postInstall
|
||||
}
|
||||
|
||||
if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then
|
||||
installPhase=ninjaInstallPhase
|
||||
fi
|
||||
|
||||
ninjaCheckPhase() {
|
||||
runHook preCheck
|
||||
|
||||
if [ -z "${checkTarget:-}" ]; then
|
||||
if ninja -t query test >/dev/null 2>&1; then
|
||||
checkTarget=test
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "${checkTarget:-}" ]; then
|
||||
echo "no test target found in ninja, doing nothing"
|
||||
else
|
||||
local buildCores=1
|
||||
|
||||
if [ "${enableParallelChecking-1}" ]; then
|
||||
buildCores="$NIX_BUILD_CORES"
|
||||
fi
|
||||
|
||||
local flagsArray=(
|
||||
-j$buildCores -l$NIX_BUILD_CORES
|
||||
$ninjaFlags "${ninjaFlagsArray[@]}"
|
||||
$checkTarget
|
||||
)
|
||||
|
||||
echoCmd 'check flags' "${flagsArray[@]}"
|
||||
ninja "${flagsArray[@]}" | cat
|
||||
fi
|
||||
|
||||
runHook postCheck
|
||||
}
|
||||
|
||||
if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then
|
||||
checkPhase=ninjaCheckPhase
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue