Author: urkud
Date: Wed Sep 15 18:37:21 2010
New Revision: 23810
URL: https://svn.nixos.org/websvn/nix/?rev=23810&sc=1

Log:
Update cmake

Use system libraries, make curses optional, add optional qt4 gui etc.

Modified:
   nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/default.nix
   nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/setup-hook.sh
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Modified: nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/default.nix       
Wed Sep 15 15:55:12 2010        (r23809)
+++ nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/default.nix       
Wed Sep 15 18:37:21 2010        (r23810)
@@ -1,31 +1,37 @@
-{fetchurl, stdenv, replace, ncurses}:
+{fetchurl, stdenv, replace, curl, expat, zlib
+, useNcurses ? false, ncurses, useQt4 ? false, qt4}:
 
 stdenv.mkDerivation rec {
-  name = "cmake-2.8.1";
+  name = "cmake-${majorVersion}.1";
 
-  # We look for cmake modules in .../share/cmake-${majorVersion}/Modules.
   majorVersion = "2.8";
 
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = http://www.cmake.org/;
-    description = "Cross-Platform Makefile Generator";
-  };
-
   src = fetchurl {
     url = "http://www.cmake.org/files/v${majorVersion}/${name}.tar.gz";;
     sha256 = "0hi28blqxvir0dkhln90sgr0m3ri9n2i3hlmwdl4m5vkfsmp9bky";
   };
 
+  buildInputs = [ curl expat zlib ]
+    ++ stdenv.lib.optional useNcurses ncurses
+    ++ stdenv.lib.optional useQt4 qt4;
+
+  CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
+  configureFlags =
+    "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+    + stdenv.lib.optionalString useQt4 " --qt-gui";
+
+  setupHook = ./setup-hook.sh;
+
   postUnpack = ''
     dontUseCmakeConfigure=1
     source $setupHook
     fixCmakeFiles $sourceRoot
-    echo 'SET (CMAKE_SYSTEM_PREFIX_PATH "'${ncurses}'" CACHE FILEPATH "Root 
for libs for cmake" FORCE)' > $sourceRoot/cmakeInit.txt
   '';
 
-  configureFlags= [ " --init=cmakeInit.txt " ];
-
-  postInstall = "fixCmakeFiles $out/share";
+  meta = {
+    homepage = http://www.cmake.org/;
+    description = "Cross-Platform Makefile Generator";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
 }

Modified: 
nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/setup-hook.sh
==============================================================================
--- nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/setup-hook.sh     
Wed Sep 15 15:55:12 2010        (r23809)
+++ nixpkgs/trunk/pkgs/development/tools/build-managers/cmake/setup-hook.sh     
Wed Sep 15 18:37:21 2010        (r23810)
@@ -1,15 +1,15 @@
 addCMakeParams()
 {
     addToSearchPath CMAKE_PREFIX_PATH $1
-    addToSearchPath CMAKE_MODULE_PATH $1/share/cma...@majorversion@/Modules
 }
 
 fixCmakeFiles()
 {
     local replaceArgs
     echo "fixing cmake files"
-    replaceArgs="-e -f -L -T /usr /FOO"
-    find $1 -type f -name "*.cmake" -print0 | xargs -0 replace-literal 
${replaceArgs}
+    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}
 }
 
 cmakeConfigurePhase()

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Wed Sep 15 15:55:12 
2010        (r23809)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Wed Sep 15 18:37:21 
2010        (r23810)
@@ -2284,6 +2284,10 @@
 
   cmake = callPackage ../development/tools/build-managers/cmake { };
 
+  cmakeCurses = cmake.override { useNcurses = true; };
+
+  cmakeWithGui = cmakeCurses.override { useQt4 = true; };
+
   coccinelle = callPackage ../development/tools/misc/coccinelle { };
 
   cppi = callPackage ../development/tools/misc/cppi { };
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to