summary refs log tree commit diff
path: root/pkgs/applications/version-management/srcml
diff options
context:
space:
mode:
authorSamuel Leathers <sam@appliedtrust.com>2017-09-04 22:30:42 -0400
committerSamuel Leathers <sam@appliedtrust.com>2017-09-04 22:48:43 -0400
commitd93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b (patch)
tree3695c9797aeb4a72141ed090e846dd5de06c1fae /pkgs/applications/version-management/srcml
parent97935829f6d271ab5cc91a299146cb6a1d903cc4 (diff)
downloadnixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar.gz
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar.bz2
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar.lz
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar.xz
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.tar.zst
nixpkgs-d93e2ccdd0d475aee2c784ca4e08a2eaf1d97c3b.zip
srcml: fix build with gcc6
Diffstat (limited to 'pkgs/applications/version-management/srcml')
-rw-r--r--pkgs/applications/version-management/srcml/default.nix10
-rw-r--r--pkgs/applications/version-management/srcml/gcc6.patch26
2 files changed, 34 insertions, 2 deletions
diff --git a/pkgs/applications/version-management/srcml/default.nix b/pkgs/applications/version-management/srcml/default.nix
index 903932ccbec..2da53d1da89 100644
--- a/pkgs/applications/version-management/srcml/default.nix
+++ b/pkgs/applications/version-management/srcml/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr }:
+{ stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr,
+  curl
+}:
 
 with stdenv.lib;
 
@@ -16,8 +18,12 @@ stdenv.mkDerivation rec {
     substituteInPlace CMake/install.cmake --replace /usr/local $out
     '';
 
+  patches = [
+    ./gcc6.patch
+  ];
+
   nativeBuildInputs = [ cmake antlr ];
-  buildInputs = [ libxml2 libxslt boost libarchive python ];
+  buildInputs = [ libxml2 libxslt boost libarchive python curl ];
 
   meta = {
     description = "Infrastructure for exploration, analysis, and manipulation of source code";
diff --git a/pkgs/applications/version-management/srcml/gcc6.patch b/pkgs/applications/version-management/srcml/gcc6.patch
new file mode 100644
index 00000000000..7cd596d9ea7
--- /dev/null
+++ b/pkgs/applications/version-management/srcml/gcc6.patch
@@ -0,0 +1,26 @@
+diff --git i/CMake/config.cmake w/CMake/config.cmake
+index 28f8047..c596cf8 100644
+--- i/CMake/config.cmake
++++ w/CMake/config.cmake
+@@ -95,7 +95,7 @@ else()
+     find_package(LibXml2 REQUIRED)
+     find_package(CURL REQUIRED)
+     set(Boost_NO_BOOST_CMAKE ON)
+-    set(Boost_USE_STATIC_LIBS ON)
++    set(Boost_USE_STATIC_LIBS OFF)
+     find_package(Boost COMPONENTS program_options filesystem system thread regex date_time REQUIRED)
+ 
+     # add include directories
+diff --git i/src/libsrcml/srcml_reader_handler.hpp w/src/libsrcml/srcml_reader_handler.hpp
+index 0b23fed..c02dfef 100644
+--- i/src/libsrcml/srcml_reader_handler.hpp
++++ w/src/libsrcml/srcml_reader_handler.hpp
+@@ -456,7 +456,7 @@ public :
+ 
+             if(uri == SRCML_CPP_NS_URI) {
+ 
+-                if(archive->language != 0) {
++                if(srcml_check_language(archive->language->c_str()) != 0) {
+ 
+                     if(*archive->language == "C++" || *archive->language == "C" || *archive->language == "Objective-C")
+                         archive->options |= SRCML_OPTION_CPP | SRCML_OPTION_CPP_NOMACRO;