diff options
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r-- | pkgs/development/tools/build-managers/meson/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/ninja/default.nix | 18 |
2 files changed, 34 insertions, 13 deletions
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index d0306dd33a4..23e11a32433 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -59,6 +59,9 @@ python3.pkgs.buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 ./boost-Do-not-add-system-paths-on-nix.patch + # Nixpkgs cctools does not have bitcode support. + ./disable-bitcode.patch + # Fix passing multiple --define-variable arguments to pkg-config. # https://github.com/mesonbuild/meson/pull/10670 (fetchpatch { @@ -75,13 +78,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://github.com/mesonbuild/meson/commit/a38ad3039d0680f3ac34a6dc487776c79c48acf3.patch"; hash = "sha256-9YaXwc+F3Pw4BjuOXqva4MD6DAxX1k5WLbn0xzwuEmw="; }) - ] - # Nixpkgs cctools does not have bitcode support. - ++ lib.optional stdenv.isDarwin ./disable-bitcode.patch; - - postPatch = if stdenv.isDarwin then '' - rm -r 'test cases/osx/7 bitcode' - '' else null; + ]; setupHook = ./setup-hook.sh; @@ -89,17 +86,23 @@ python3.pkgs.buildPythonApplication rec { checkInputs = [ zlib ] ++ lib.optionals stdenv.isDarwin [ Foundation OpenGL AppKit Cocoa ]; checkPhase = '' - patchShebangs "test cases" - substituteInPlace "test cases/native/8 external program shebang parsing/script.int.in" \ + runHook preCheck + + patchShebangs 'test cases' + substituteInPlace 'test cases/native/8 external program shebang parsing/script.int.in' \ --replace /usr/bin/env ${coreutils}/bin/env # requires git, creating cyclic dependency - rm -r "test cases/common/66 vcstag" + rm -r 'test cases/common/66 vcstag' # requires glib, creating cyclic dependency - rm -r "test cases/linuxlike/6 subdir include order" - rm -r "test cases/linuxlike/9 compiler checks with dependencies" + rm -r 'test cases/linuxlike/6 subdir include order' + rm -r 'test cases/linuxlike/9 compiler checks with dependencies' # requires static zlib, see #66461 - rm -r "test cases/linuxlike/14 static dynamic linkage" + rm -r 'test cases/linuxlike/14 static dynamic linkage' + # Nixpkgs cctools does not have bitcode support. + rm -r 'test cases/osx/7 bitcode' HOME="$TMPDIR" python ./run_project_tests.py + + runHook postCheck ''; postFixup = '' diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index f80f0289dbe..84897e43f78 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -9,6 +9,7 @@ , libxslt , python3 , re2c +, buildPackages , buildDocs ? true }: @@ -23,6 +24,8 @@ stdenv.mkDerivation rec { hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ python3 re2c @@ -35,10 +38,25 @@ stdenv.mkDerivation rec { libxslt.bin ]; + 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 |