Merge pull request #30473 from teto/pygccxml

[RDY] pygccxml + castxml + pybindgen
This commit is contained in:
Jörg Thalheim 2018-04-05 14:08:52 +01:00 committed by GitHub
commit 129fbf9ff2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 105 additions and 1 deletions

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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 {

View File

@ -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 {
@ -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 { };