From 19a4fc2b46a8bdcd36e8348d188434bb1572b870 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 21 Mar 2015 12:32:12 -0500 Subject: [PATCH 1/3] add jsoncpp-1.6.0 dependency of cmake-3.2 --- pkgs/development/libraries/jsoncpp/1.6.nix | 24 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/libraries/jsoncpp/1.6.nix diff --git a/pkgs/development/libraries/jsoncpp/1.6.nix b/pkgs/development/libraries/jsoncpp/1.6.nix new file mode 100644 index 000000000000..69dfc2175731 --- /dev/null +++ b/pkgs/development/libraries/jsoncpp/1.6.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, cmake, python }: + +let + basename = "jsoncpp"; + version = "1.6.0"; +in +stdenv.mkDerivation rec { + name = "${basename}-${version}"; + src = fetchurl { + url = "https://github.com/open-source-parsers/${basename}/archive/${version}.tar.gz"; + sha256 = "0ff1niks3y41gr6z13q9m391na70abqyi9rj4z3y2fz69cwm6sgz"; + }; + + nativeBuildInputs = [ cmake python ]; + + meta = { + inherit version; + homepage = https://github.com/open-source-parsers/jsoncpp; + description = "A simple API to manipulate JSON data in C++"; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + license = with stdenv.lib.licenses; [ mit ]; + branch = "1.6"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c91c16251960..e9dcac1c1339 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6074,6 +6074,7 @@ let json_c = callPackage ../development/libraries/json-c { }; jsoncpp = callPackage ../development/libraries/jsoncpp { }; + jsoncpp-1_6 = callPackage ../development/libraries/jsoncpp/1.6.nix { }; libjson = callPackage ../development/libraries/libjson { }; From 7e21c519ba746931c1056fcf62065057ecb1860a Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 21 Mar 2015 12:32:38 -0500 Subject: [PATCH 2/3] add cmake-3.2.1 Earlier versions of CMake have a bug in their OpenSSL version detection code. --- .../tools/build-managers/cmake/3.2.nix | 67 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 + 2 files changed, 70 insertions(+) create mode 100644 pkgs/development/tools/build-managers/cmake/3.2.nix diff --git a/pkgs/development/tools/build-managers/cmake/3.2.nix b/pkgs/development/tools/build-managers/cmake/3.2.nix new file mode 100644 index 000000000000..dd16b649cd13 --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/3.2.nix @@ -0,0 +1,67 @@ +{ stdenv, fetchurl +, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib +, useNcurses ? false, ncurses, useQt4 ? false, qt4 +}: + +with stdenv.lib; + +let + os = stdenv.lib.optionalString; + majorVersion = "3.2"; + minorVersion = "1"; + 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 = "0b2hy4p0aa9zshlxyw9nmlh5q8q1lmnwmb594rvh6sx2n7v1r7vm"; + }; + + enableParallelBuilding = true; + + patches = + # Don't search in non-Nix locations such as /usr, but do search in + # Nixpkgs' Glibc. + optional (stdenv ? glibc) ./search-path-3.0.patch ++ + optional (stdenv ? cross) (fetchurl { + name = "fix-darwin-cross-compile.patch"; + url = "http://public.kitware.com/Bug/file_download.php?" + + "file_id=4981&type=bug"; + sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv"; + }); + + buildInputs = + [ bzip2 curl expat jsoncpp libarchive xz zlib ] + ++ 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 = with stdenv.lib.maintainers; [ urkud mornfall ttuegel ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9dcac1c1339..41c172476c07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4913,6 +4913,9 @@ let ps = if stdenv.isDarwin then darwin.ps else null; }; + cmake-3_2 = callPackage ../development/tools/build-managers/cmake/3.2.nix { + jsoncpp = jsoncpp-1_6; + }; cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { }; cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; From a17535822a68582d04c8b49d1ecf53c4ccaa5b91 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 21 Mar 2015 12:33:31 -0500 Subject: [PATCH 3/3] kf57: use cmake-3.2 Build was broken by openssl update because older cmake could not parse openssl's version correctly. --- pkgs/development/libraries/kde-frameworks-5.7/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks-5.7/default.nix b/pkgs/development/libraries/kde-frameworks-5.7/default.nix index c7fdbc060ec0..793f1e9111d1 100644 --- a/pkgs/development/libraries/kde-frameworks-5.7/default.nix +++ b/pkgs/development/libraries/kde-frameworks-5.7/default.nix @@ -72,8 +72,9 @@ let # packages from the nixpkgs collection (with pkgs; { - inherit cmake epoxy; Boost = boost155; + cmake = cmake-3_2; + inherit epoxy; GIF = giflib; GLIB2 = glib; Gpgme = gpgme; @@ -105,7 +106,7 @@ let extra-cmake-modules = { inherit (super.extra-cmake-modules) name src; - propagatedNativeBuildInputs = [ pkgs.cmake pkgs.pkgconfig qt5.tools ]; + propagatedNativeBuildInputs = [ scope.cmake pkgs.pkgconfig qt5.tools ]; cmakeFlags = ["-DBUILD_TESTING=OFF"]; patches = [