diff options
author | Vladimír Čunát <v@cunat.cz> | 2024-05-31 07:30:41 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2024-05-31 07:30:41 +0200 |
commit | 5804775d03fe99dcbc31aa61de20626df0ed7571 (patch) | |
tree | ad1b4f0b5dd0bd8fd9ecc0632815d129a7cc60ec /pkgs/development/tools/build-managers | |
parent | d3d81af60c22e9e93a3930a9630b210362341ab9 (diff) | |
parent | b64e2b1db37091eb93959fe8f27a7d7da84feb27 (diff) |
Merge branch 'staging' into staging-next
Diffstat (limited to 'pkgs/development/tools/build-managers')
3 files changed, 2 insertions, 195 deletions
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 774ea50f86238..7c075b7d8b8bc 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, updateAutotoolsGnuConfigScriptsHook , guileSupport ? false, guile # avoid guile depend on bootstrap to prevent dependency cycles , inBootstrap ? false @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { ./0002-remove-impure-dirs.patch ]; - nativeBuildInputs = lib.optionals guileEnabled [ pkg-config ]; + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] ++ lib.optionals guileEnabled [ pkg-config ]; buildInputs = lib.optionals guileEnabled [ guile ]; configureFlags = lib.optional guileEnabled "--with-guile" diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix deleted file mode 100644 index 3402bcfca625f..0000000000000 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, asciidoc -, docbook_xml_dtd_45 -, docbook_xsl -, installShellFiles -, libxslt -, python3 -, re2c -, buildPackages -, buildDocs ? true -}: - -stdenv.mkDerivation rec { - pname = "ninja"; - version = "1.11.1"; - - src = fetchFromGitHub { - owner = "ninja-build"; - repo = "ninja"; - rev = "v${version}"; - hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; - }; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - - nativeBuildInputs = [ - python3 - re2c - installShellFiles - ] - ++ lib.optionals buildDocs [ - asciidoc - docbook_xml_dtd_45 - docbook_xsl - libxslt.bin - ]; - - patches = lib.optionals stdenv.is32bit [ - # Otherwise ninja may fail on some files in a larger FS. - (fetchpatch { - name = "stat64.patch"; - url = "https://github.com/ninja-build/ninja/commit/7bba11ae704efc84cac5fde5e9be53f653f237d1.diff"; - hash = "sha256-tINS57xLh1lwnYFWCQs5OudfgtIShaOh5zbmv7w5BnQ="; - }) - ]; - - postPatch = '' - # write rebuild args to file after bootstrap - substituteInPlace configure.py --replace "subprocess.check_call(rebuild_args)" "open('rebuild_args','w').write(rebuild_args[0])" - ''; - - buildPhase = '' - runHook preBuild - - # for list of env vars - # see https://github.com/ninja-build/ninja/blob/v1.11.1/configure.py#L264 - CXX="$CXX_FOR_BUILD" \ - AR="$AR_FOR_BUILD" \ - CFLAGS="$CFLAGS_FOR_BUILD" \ - CXXFLAGS="$CXXFLAGS_FOR_BUILD" \ - LDFLAGS="$LDFLAGS_FOR_BUILD" \ - python configure.py --bootstrap - python configure.py - - source rebuild_args - '' + lib.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 - '' + '' - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - install -Dm555 -t $out/bin ninja - installShellCompletion --name ninja \ - --bash misc/bash-completion \ - --zsh misc/zsh-completion - '' + lib.optionalString buildDocs '' - install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html - '' + '' - - runHook postInstall - ''; - - setupHook = ./setup-hook.sh; - - meta = with lib; { - description = "Small build system with a focus on speed"; - mainProgram = "ninja"; - 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 ]; - }; -} diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh deleted file mode 100644 index 7fa5e4675f39b..0000000000000 --- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh +++ /dev/null @@ -1,86 +0,0 @@ -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 - $ninjaFlags "${ninjaFlagsArray[@]}" - ) - - echoCmd 'build flags' "${flagsArray[@]}" - TERM=dumb ninja "${flagsArray[@]}" - - runHook postBuild -} - -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 - $ninjaFlags "${ninjaFlagsArray[@]}" - $checkTarget - ) - - echoCmd 'check flags' "${flagsArray[@]}" - TERM=dumb ninja "${flagsArray[@]}" - fi - - runHook postCheck -} - -ninjaInstallPhase() { - runHook preInstall - - local buildCores=1 - - # Parallel building is enabled by default. - if [ "${enableParallelInstalling-1}" ]; then - buildCores="$NIX_BUILD_CORES" - fi - - # shellcheck disable=SC2086 - local flagsArray=( - -j$buildCores - $ninjaFlags "${ninjaFlagsArray[@]}" - ${installTargets:-install} - ) - - echoCmd 'install flags' "${flagsArray[@]}" - TERM=dumb ninja "${flagsArray[@]}" - - runHook postInstall -} - -if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then - buildPhase=ninjaBuildPhase -fi - -if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then - checkPhase=ninjaCheckPhase -fi - -if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then - installPhase=ninjaInstallPhase -fi |