From e13720c3c4045a7d80021d6eaabddddb6eeaadf4 Mon Sep 17 00:00:00 2001 From: bbenoist Date: Tue, 20 Aug 2013 10:26:54 +0200 Subject: [PATCH] cmake: Fix CTest custom commands This commit is related to: - https://github.com/NixOS/nixpkgs/issues/762 - http://public.kitware.com/Bug/view.php?id=13887 And fixes a bug present in recent CMake versions. The fix should be integrated in the next CMake release. --- .../tools/build-managers/cmake/762-13887.patch | 17 +++++++++++++++++ .../tools/build-managers/cmake/default.nix | 8 ++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/tools/build-managers/cmake/762-13887.patch diff --git a/pkgs/development/tools/build-managers/cmake/762-13887.patch b/pkgs/development/tools/build-managers/cmake/762-13887.patch new file mode 100644 index 00000000000..3ef27a09b5c --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/762-13887.patch @@ -0,0 +1,17 @@ +diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx +index e7491bb..57b4348 100644 +--- a/Source/CTest/cmCTestTestHandler.cxx ++++ b/Source/CTest/cmCTestTestHandler.cxx +@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector& vec) + for ( it = vec.begin(); it != vec.end(); ++it ) + { + int retVal = 0; +- std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str()); +- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd ++ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it + << std::endl); +- if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0, ++ if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0, + cmSystemTools::OUTPUT_MERGE + /*this->Verbose*/) || retVal != 0 ) + { diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 67b7358057a..35ae214266d 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -24,9 +24,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; patches = + # See https://github.com/NixOS/nixpkgs/issues/762 + # and http://public.kitware.com/Bug/view.php?id=13887 + # Remove this patch when a CMake release contains the corresponding fix + [ ./762-13887.patch ] # Don't search in non-Nix locations such as /usr, but do search in - # Nixpkgs' Glibc. - optional (stdenv ? glibc) ./search-path.patch; + # Nixpkgs' Glibc. + ++ optional (stdenv ? glibc) ./search-path.patch; buildInputs = [ curl expat zlib bzip2 libarchive ] ++ optional useNcurses ncurses