summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/python-modules/pybindgen/default.nix23
-rw-r--r--pkgs/development/python-modules/pygccxml/default.nix26
-rw-r--r--pkgs/development/tools/build-managers/remake/default.nix2
-rw-r--r--pkgs/development/tools/castxml/default.nix49
4 files changed, 99 insertions, 1 deletions
diff --git a/pkgs/development/python-modules/pybindgen/default.nix b/pkgs/development/python-modules/pybindgen/default.nix
new file mode 100644
index 0000000000000..09cb4c2cdf98e
--- /dev/null
+++ b/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 ];
+  };
+}
+
+
diff --git a/pkgs/development/python-modules/pygccxml/default.nix b/pkgs/development/python-modules/pygccxml/default.nix
new file mode 100644
index 0000000000000..5271677dc1eab
--- /dev/null
+++ b/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 ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/remake/default.nix b/pkgs/development/tools/build-managers/remake/default.nix
index 7a199cc925a7f..926cc83cd9767 100644
--- a/pkgs/development/tools/build-managers/remake/default.nix
+++ b/pkgs/development/tools/build-managers/remake/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = http://bashdb.sourceforge.net/remake/;
     license = stdenv.lib.licenses.gpl3;
     description = "GNU Make with comprehensible tracing and a debugger";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
     maintainers = with stdenv.lib.maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix
new file mode 100644
index 0000000000000..f8389786b9da3
--- /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;
+  };
+}