about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/cmake
diff options
context:
space:
mode:
authorgoodwillcoding <goodwillcoding@webhippo.net>2015-03-22 20:00:04 -0700
committerDomen Kožar <domen@dev.si>2015-03-26 11:42:02 +0100
commit62d4564de4477609b98a4a7170f52f55e23e1f20 (patch)
treeb3d384541148dfe69a7ee9474cef192ecfc4447b /pkgs/development/tools/build-managers/cmake
parent1841a05b9d035cba7f0985fe625e0927dde78047 (diff)
downloadnixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar.gz
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar.bz2
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar.lz
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar.xz
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.tar.zst
nixlib-62d4564de4477609b98a4a7170f52f55e23e1f20.zip
fix the cmake 2.8.x detection of OpenSSL version broken in openssl 1.0.1m
this is a follow up to security update for openssl: 1.0.1l -> 1.0.1m,
references:
 - http://public.kitware.com/Bug/bug_relationship_graph.php?bug_id=15386
 - http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c5d9a8283cfac15b4a5a07f18d5eb10c1f388505#patch1

(cherry picked from commit 30dd174520827c58f7d58408029f8845878dd021)
Signed-off-by: Domen Kožar <domen@dev.si>
Diffstat (limited to 'pkgs/development/tools/build-managers/cmake')
-rw-r--r--pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch11
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix10
2 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch b/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch
new file mode 100644
index 000000000000..25bbd2a91ba1
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch
@@ -0,0 +1,11 @@
+--- ./Modules/FindOpenSSL.cmake
++++ ./Modules/FindOpenSSL.cmake
+@@ -264,7 +264,7 @@
+     set(OPENSSL_VERSION "${_OPENSSL_VERSION}")
+   elseif(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
+     file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
+-         REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
++         REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
+
+     # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
+     # The status gives if this is a developer or prerelease and is ignored here.
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 60a941a66375..64ed4d59d3dc 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -32,14 +32,18 @@ stdenv.mkDerivation rec {
       sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
     })] ++
     # Don't search in non-Nix locations such as /usr, but do search in
-    # Nixpkgs' Glibc. 
+    # Nixpkgs' Glibc.
     optional (stdenv ? glibc) ./search-path.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";
-    });
+    }) ++
+    # fix cmake detection of openssl libs
+    # see: http://public.kitware.com/Bug/bug_relationship_graph.php?bug_id=15386
+    #      and http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c5d9a8283cfac15b4a5a07f18d5eb10c1f388505#patch1
+    [./cmake_find_openssl_for_openssl-1.0.1m_and_up.patch];
 
   buildInputs = [ curl expat zlib bzip2 libarchive ]
     ++ optional useNcurses ncurses
@@ -48,7 +52,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = optional wantPS ps;
 
   CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
-  
+
   configureFlags =
     "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
     + stdenv.lib.optionalString useQt4 " --qt-gui";