ebc424c3ab
The changelog is available at: http://www.cmake.org/files/v2.8/CMakeChangeLog-2.8.11 I had to create a new patch from scratch, that's why it contains a lot of differences. CMake developers has rewritten the files (Modules/Platform/Linux.cmake and Modules/Platform/UnixPaths.cmake) to comply to their coding style requirements and a lot of elements has switched from upper to lower case. Also, the previous patch partially consisted of commenting some instructions mixed with line removals whereas mine is directlty removing them in order to avoid useless evaluations and parsing in resulting files.
57 lines
1.5 KiB
Nix
57 lines
1.5 KiB
Nix
{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
|
|
, useNcurses ? false, ncurses, useQt4 ? false, qt4
|
|
}:
|
|
|
|
with stdenv.lib;
|
|
|
|
let
|
|
os = stdenv.lib.optionalString;
|
|
majorVersion = "2.8";
|
|
minorVersion = "11.2";
|
|
version = "${majorVersion}.${minorVersion}";
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
|
|
|
|
inherit majorVersion;
|
|
|
|
src = fetchurl {
|
|
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
|
|
sha256 = "0qh5dhd7ff08n2h569j7g9m92gb3bz14wvhwjhwl7lgx794cnamk";
|
|
};
|
|
|
|
patches =
|
|
# Don't search in non-Nix locations such as /usr, but do search in
|
|
# Nixpkgs' Glibc.
|
|
optional (stdenv ? glibc) ./search-path.patch;
|
|
|
|
buildInputs = [ curl expat zlib bzip2 libarchive ]
|
|
++ optional useNcurses ncurses
|
|
++ 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;
|
|
|
|
dontUseCmakeConfigure = true;
|
|
|
|
preConfigure = optionalString (stdenv ? glibc)
|
|
''
|
|
source $setupHook
|
|
fixCmakeFiles .
|
|
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
|
|
'';
|
|
|
|
meta = {
|
|
homepage = http://www.cmake.org/;
|
|
description = "Cross-Platform Makefile Generator";
|
|
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
|
|
maintainers = [ stdenv.lib.maintainers.urkud ];
|
|
};
|
|
}
|