diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix index ff47bd0e9f3..f3d9b74181a 100644 --- a/pkgs/development/tools/castxml/default.nix +++ b/pkgs/development/tools/castxml/default.nix @@ -1,52 +1,69 @@ -{ lib, stdenv, fetchFromGitHub -, python3Packages +{ lib +, stdenv +, fetchFromGitHub +, clang-unwrapped , cmake -, llvmPackages -, libffi, libxml2, zlib -, withMan ? true +, libclang +, libffi +, libxml2 +, llvm +, sphinx +, zlib +, withManual ? true +, withHTML ? true }: -stdenv.mkDerivation rec { - pname = "CastXML"; - version = "0.3.4"; +stdenv.mkDerivation rec { + pname = "CastXML"; + version = "0.4.3"; src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = "v${version}"; - sha256 = "0ypj67xrgj228myp7l1gsjw1ja97q68nmj98dsd33srmiayqraj4"; + owner = pname; + repo = pname; + rev = "v${version}"; + hash = "sha256-MschwCEkZrZmNgr8a1ocdukjXzHbXl2gmkPmygJaA6k="; }; - nativeBuildInputs = [ cmake ] ++ lib.optionals withMan [ python3Packages.sphinx ]; - - clangVersion = lib.getVersion llvmPackages.clang; + nativeBuildInputs = [ + cmake + llvm + ] ++ lib.optionals (withManual || withHTML) [ + sphinx + ]; cmakeFlags = [ - "-DCLANG_RESOURCE_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${clangVersion}/" - "-DSPHINX_MAN=${if withMan then "ON" else "OFF"}" + "-DCLANG_RESOURCE_DIR=${clang-unwrapped}/lib/clang/${lib.getVersion clang-unwrapped}/" + "-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}" + "-DSPHINX_MAN=${if withManual then "ON" else "OFF"}" ]; buildInputs = [ - llvmPackages.clang-unwrapped - llvmPackages.llvm - libffi libxml2 zlib + clang-unwrapped + libffi + libxml2 + zlib ]; - propagatedBuildInputs = [ llvmPackages.libclang ]; + propagatedBuildInputs = [ + libclang + ]; # 97% tests passed, 97 tests failed out of 2881 # mostly because it checks command line and nix append -isystem and all doCheck = false; + # -E exclude 4 tests based on names + # see https://github.com/CastXML/CastXML/issues/90 checkPhase = '' - # -E exclude 4 tests based on names - # see https://github.com/CastXML/CastXML/issues/90 + runHook preCheck ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd' + runHook postCheck ''; meta = with lib; { homepage = "https://github.com/CastXML/CastXML"; + description = "C-family Abstract Syntax Tree XML Output"; license = licenses.asl20; - description = "Abstract syntax tree XML output tool"; + maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de70ea5931b..d51d6fbd32b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -190,7 +190,10 @@ in castget = callPackage ../applications/networking/feedreaders/castget { }; - castxml = callPackage ../development/tools/castxml { }; + castxml = callPackage ../development/tools/castxml { + inherit (llvmPackages) clang-unwrapped libclang llvm; + inherit (python3Packages) sphinx; + }; cen64 = callPackage ../misc/emulators/cen64 { };