diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix new file mode 100644 index 000000000000..f8389786b9da --- /dev/null +++ b/pkgs/development/tools/castxml/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub +, pythonPackages +, pkgconfig +, cmake +, llvmPackages +, withMan ? true +}: +stdenv.mkDerivation rec { + + name = "${pname}-${version}"; + pname = "CastXML"; + version = "20180403"; + + src = fetchFromGitHub { + owner = "CastXML"; + repo = "CastXML"; + rev = "c2a44d06d9379718292b696f4e13a2725ff9d95e"; + sha256 = "1hjh8ihjyp1m2jb5yypp5c45bpbz8k004f4p1cjw4gc7pxhjacdj"; + }; + + buildInputs = [ + cmake + llvmPackages.clang-unwrapped + llvmPackages.llvm + ] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ]; + + propagatedbuildInputs = [ llvmPackages.libclang ]; + + preConfigure = '' + cmakeFlagsArray+=( + ${if withMan then "-DSPHINX_MAN=ON" else ""} + )''; + + # 97% tests passed, 96 tests failed out of 2866 + # mostly because it checks command line and nix append -isystem and all + doCheck=false; + checkPhase = '' + # -E exclude 4 tests based on names + # see https://github.com/CastXML/CastXML/issues/90 + ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd' + ''; + + meta = with stdenv.lib; { + homepage = http://www.kitware.com; + license = licenses.asl20; + description = "Abstract syntax tree XML output tool"; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1cfa3463ef3..18b99af5aa21 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -111,6 +111,8 @@ with pkgs; buildMaven = callPackage ../build-support/build-maven.nix {}; + castxml = callPackage ../development/tools/castxml { }; + cmark = callPackage ../development/libraries/cmark { }; dhallToNix = callPackage ../build-support/dhall-to-nix.nix {