summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/bear/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers/bear/default.nix')
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix51
1 files changed, 42 insertions, 9 deletions
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index bc7bb46cd5b..42fa584a893 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -1,24 +1,55 @@
-{ stdenv, fetchFromGitHub, cmake, python3 }:
+{ lib, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, grpc
+, protobuf
+, openssl
+, nlohmann_json
+, gtest
+, fmt
+, spdlog
+, c-ares
+, abseil-cpp
+, zlib
+, sqlite
+, re2
+}:
 
 stdenv.mkDerivation rec {
   pname = "bear";
-  version = "2.4.2";
+  version = "3.0.13";
 
   src = fetchFromGitHub {
     owner = "rizsotto";
     repo = pname;
     rev = version;
-    sha256 = "1w1kyjzvvy5lj16kn3yyf7iil2cqlfkszi8kvagql7f5h5l6w9b1";
+    sha256 = "sha256-oMrTH3GjxiLBKX0i3ZuV+bNqpA7PkoAQAb/08Q/uELs=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ python3 ]; # just for shebang of bin/bear
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  doCheck = false; # all fail
+  buildInputs = [
+    grpc
+    protobuf
+    openssl
+    nlohmann_json
+    gtest
+    fmt
+    spdlog
+    c-ares
+    abseil-cpp
+    zlib
+    sqlite
+    re2
+  ];
 
-  patches = [ ./ignore_wrapper.patch ./cmakepaths.patch ];
+  patches = [
+    # Default libexec would be set to /nix/store/*-bear//nix/store/*-bear/libexec/...
+    ./no-double-relative.patch
+  ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tool that generates a compilation database for clang tooling";
     longDescription = ''
       Note: the bear command is very useful to generate compilation commands
@@ -28,6 +59,8 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/rizsotto/Bear";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.babariviere ];
+    maintainers = with maintainers; [ babariviere qyliss ];
+    # ld: symbol(s) not found for architecture x86_64
+    broken = stdenv.isDarwin;
   };
 }