summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-10-15 15:01:48 -0500
committerGitHub <noreply@github.com>2018-10-15 15:01:48 -0500
commit4c1b22b1f82ba7d4dab41763e00a9d7318a71448 (patch)
tree03fb0074dc1541aa397d78a9393b3d4978b9d803
parente080bb6a3bccf138ddf148a3c349bdf6b3b024c0 (diff)
parent8d42787c61e149f58e708a641a6e9ffc017efece (diff)
downloadnixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar.gz
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar.bz2
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar.lz
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar.xz
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.tar.zst
nixlib-4c1b22b1f82ba7d4dab41763e00a9d7318a71448.zip
Merge pull request #47408 from bhipple/add/abi-tools
abi-compliance-checker: init at 2.3
-rw-r--r--pkgs/development/tools/misc/abi-compliance-checker/default.nix26
-rw-r--r--pkgs/development/tools/misc/abi-dumper/default.nix33
-rw-r--r--pkgs/development/tools/misc/vtable-dumper/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix10
4 files changed, 91 insertions, 2 deletions
diff --git a/pkgs/development/tools/misc/abi-compliance-checker/default.nix b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
new file mode 100644
index 000000000000..db0e41d27ab3
--- /dev/null
+++ b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, ctags, perl, binutils, abi-dumper }:
+
+stdenv.mkDerivation rec {
+  name = "abi-compliance-checker-${version}";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "abi-compliance-checker";
+    rev = version;
+    sha256 = "1f1f9j2nf9j83sfl2ljadch99v6ha8rq8xm7ax5akc05hjpyckij";
+  };
+
+  buildInputs = [ binutils ctags perl ];
+  propagatedBuildInputs = [ abi-dumper ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://lvc.github.io/abi-compliance-checker;
+    description = "A tool for checking backward API/ABI compatibility of a C/C++ library";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/abi-dumper/default.nix b/pkgs/development/tools/misc/abi-dumper/default.nix
new file mode 100644
index 000000000000..047cd466baac
--- /dev/null
+++ b/pkgs/development/tools/misc/abi-dumper/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, ctags, perl, elfutils, vtable-dumper }:
+
+stdenv.mkDerivation rec {
+  name = "abi-dumper-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "abi-dumper";
+    rev = version;
+    sha256 = "1byhw132aj7a5a5zh5s3pnjlrhdk4cz6xd5irp1y08jl980qba5j";
+  };
+
+  patchPhase = ''
+    substituteInPlace abi-dumper.pl \
+      --replace eu-readelf ${elfutils}/bin/eu-readelf \
+      --replace vtable-dumper ${vtable-dumper}/bin/vtable-dumper \
+      --replace '"ctags"' '"${ctags}/bin/ctags"'
+  '';
+
+  buildInputs = [ elfutils ctags perl vtable-dumper ];
+
+  preBuild = "mkdir -p $out";
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lvc/abi-dumper;
+    description = "Dump ABI of an ELF object containing DWARF debug info";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/vtable-dumper/default.nix b/pkgs/development/tools/misc/vtable-dumper/default.nix
new file mode 100644
index 000000000000..e806a7796386
--- /dev/null
+++ b/pkgs/development/tools/misc/vtable-dumper/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, libelf }:
+
+stdenv.mkDerivation rec {
+  name = "vtable-dumper-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "vtable-dumper";
+    rev = version;
+    sha256 = "0sl7lnjr2l4c2f7qaazvpwpzsp4gckkvccfam88wcq9f7j9xxbyp";
+  };
+
+  buildInputs = [ libelf ];
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lvc/vtable-dumper;
+    description = "A tool to list content of virtual tables in a C++ shared library";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index aaa8da74333d..630a170f65f4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8003,6 +8003,10 @@ with pkgs;
 
   ### DEVELOPMENT / TOOLS
 
+  abi-compliance-checker = callPackage ../development/tools/misc/abi-compliance-checker { };
+
+  abi-dumper = callPackage ../development/tools/misc/abi-dumper { };
+
   activator = throw ''
     Typesafe Activator was removed in 2017-05-08 as the actual package reaches end of life.
 
@@ -8011,13 +8015,13 @@ with pkgs;
     for more information.
   '';
 
+  adtool = callPackage ../tools/admin/adtool { };
+
   inherit (callPackage ../development/tools/alloy { })
     alloy4
     alloy5
     alloy;
 
-  adtool = callPackage ../tools/admin/adtool { };
-
   augeas = callPackage ../tools/system/augeas { };
 
   inherit (callPackages ../tools/admin/ansible {})
@@ -8941,6 +8945,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  vtable-dumper = callPackage ../development/tools/misc/vtable-dumper { };
+
   watson-ruby = callPackage ../development/tools/misc/watson-ruby {};
 
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };