diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-01-20 15:10:28 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-01-20 15:10:28 +0000 |
commit | 28780d27d1074f0adac168679fcbd40aa767a03b (patch) | |
tree | e4076452a0d0bc3985f3202c73d15bbb2731ba85 /pkgs/development/tools/build-managers | |
parent | 14aab94aefcfe5b6fd5f36137572b99d8f792d6c (diff) | |
download | nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar.gz nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar.bz2 nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar.lz nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar.xz nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.tar.zst nixlib-28780d27d1074f0adac168679fcbd40aa767a03b.zip |
* cmake: don't use replace-literal.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31736
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r-- | pkgs/development/tools/build-managers/cmake/default.nix | 9 | ||||
-rwxr-xr-x | pkgs/development/tools/build-managers/cmake/setup-hook.sh | 32 |
2 files changed, 18 insertions, 23 deletions
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 53e27836d73a..7e5236541979 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -39,15 +39,12 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; - postUnpack = - '' - dontUseCmakeConfigure=1 - source $setupHook - fixCmakeFiles $sourceRoot - ''; + dontUseCmakeConfigure = true; preConfigure = optionalString (stdenv ? glibc) '' + source $setupHook + fixCmakeFiles . substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc} ''; diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index c523e849fc15..8fdf64417dd3 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -1,36 +1,34 @@ -addCMakeParams() -{ +addCMakeParams() { addToSearchPath CMAKE_PREFIX_PATH $1 } -fixCmakeFiles() -{ - local replaceArgs - echo "fixing cmake files" - replaceArgs="-e -f -L -T /usr /var/empty -a /opt /var/empty" - find $1 -type f -name "*.cmake" -o -name "*.cmake.in" -o -name CMakeLists.txt -print0 | - xargs -0 replace-literal ${replaceArgs} +fixCmakeFiles() { + echo "fixing cmake files..." + find "$1" \( -type f -name "*.cmake" -o -name "*.cmake.in" -o -name CMakeLists.txt \) -print | + while read fn; do + sed -e 's|/usr|/var/empty|g' -e 's|/opt|/var/empty|g' < "$fn" > "$fn.tmp" + mv "$fn.tmp" "$fn" + done } -cmakeConfigurePhase() -{ +cmakeConfigurePhase() { eval "$preConfigure" - if test -z "$dontFixCmake"; then + if [ -z "$dontFixCmake" ]; then fixCmakeFiles . fi - if test -z "$dontUseCmakeBuildDir"; then + if [ -z "$dontUseCmakeBuildDir" ]; then mkdir -p build cd build cmakeDir=.. fi - if test -z "$dontAddPrefix"; then + if [ -z "$dontAddPrefix" ]; then cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags" fi - if test -n "$crossConfig"; then + if [ -n "$crossConfig" ]; then # By now it supports linux builds only. We should set the proper # CMAKE_SYSTEM_NAME otherwise. # http://www.cmake.org/Wiki/CMake_Cross_Compiling @@ -47,11 +45,11 @@ cmakeConfigurePhase() eval "$postConfigure" } -if test -z "$dontUseCmakeConfigure"; then +if [ -z "$dontUseCmakeConfigure" ]; then configurePhase=cmakeConfigurePhase fi -if test -n "$crossConfig"; then +if [ -n "$crossConfig" ]; then crossEnvHooks+=(addCMakeParams) else envHooks+=(addCMakeParams) |