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;