Skip to content

Commit

Permalink
Merge pull request #30473 from teto/pygccxml
Browse files Browse the repository at this point in the history
[RDY] pygccxml + castxml + pybindgen
  • Loading branch information
Mic92 committed Apr 5, 2018
2 parents 7f92e3b + 94c1b10 commit 129fbf9
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 1 deletion.
23 changes: 23 additions & 0 deletions pkgs/development/python-modules/pybindgen/default.nix
@@ -0,0 +1,23 @@
{ stdenv, fetchPypi, buildPythonPackage, setuptools_scm, pygccxml }:
buildPythonPackage rec {
pname = "PyBindGen";
version = "0.18.0";

src = fetchPypi {
inherit pname version;
sha256 = "1sl4jn8rildv6f62cab66w791cixhaaxl7gwg9labs099rl74yl6";
};

buildInputs = [ setuptools_scm ];

checkInputs = [ pygccxml ];

meta = with stdenv.lib; {
homepage = https://github.com/gjcarneiro/pybindgen;
description = "Python Bindings Generator";
license = licenses.lgpl2;
maintainers = with maintainers; [ teto ];
};
}


26 changes: 26 additions & 0 deletions pkgs/development/python-modules/pygccxml/default.nix
@@ -0,0 +1,26 @@
{ stdenv, castxml, fetchFromGitHub, buildPythonPackage,
llvmPackages, clang }:
buildPythonPackage rec {
pname = "pygccxml";
version = "1.9.1";

src = fetchFromGitHub {
owner = "gccxml";
repo = "pygccxml";
rev = "v${version}";
sha256 = "02ip03s0vmp7czzflbvf7qnybibfrd0rzqbc5zfmq3zmpnck3hvm";
};

buildInputs = [ castxml llvmPackages.libcxxStdenv];

# running the suite is hard, needs to generate xml_generator.cfg
# but the format doesn't accept -isystem directives
doCheck = false;

meta = with stdenv.lib; {
homepage = https://github.com/gccxml/pygccxml;
description = "Python package for easy C++ declarations navigation";
license = licenses.boost;
maintainers = with maintainers; [ teto ];
};
}
49 changes: 49 additions & 0 deletions 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;
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -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 {
Expand Down
6 changes: 5 additions & 1 deletion pkgs/top-level/python-packages.nix
Expand Up @@ -8811,7 +8811,7 @@ in {
keyutils = callPackage ../development/python-modules/keyutils { };

klein = callPackage ../development/python-modules/klein { };

koji = callPackage ../development/python-modules/koji { };

kombu = buildPythonPackage rec {
Expand Down Expand Up @@ -18719,6 +18719,10 @@ EOF
propagatedBuildInputs = with self; [];
};

pybindgen = callPackage ../development/python-modules/pybindgen {};

pygccxml = callPackage ../development/python-modules/pygccxml {};

pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { };

pynacl = callPackage ../development/python-modules/pynacl { };
Expand Down

0 comments on commit 129fbf9

Please sign in to comment.