1{ stdenv
2, lib
3, fetchFromGitHub
4, meson
5, ninja
6, boost
7, libbacktrace
8, unstableGitUpdater
9}:
10
11stdenv.mkDerivation rec {
12 pname = "libsegfault";
13 version = "0-unstable-2022-11-13";
14
15 src = fetchFromGitHub {
16 owner = "jonathanpoelen";
17 repo = "libsegfault";
18 rev = "8bca5964613695bf829c96f7a3a14dbd8304fe1f";
19 sha256 = "vKtY6ZEkyK2K+BzJCSo30f9MpERpPlUnarFIlvJ1Giw=";
20 };
21
22 env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin) "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED=1";
23
24 nativeBuildInputs = [
25 meson
26 ninja
27 ];
28
29 buildInputs = [
30 boost
31 libbacktrace
32 ];
33
34 passthru = {
35 updateScript = unstableGitUpdater { };
36 };
37
38 meta = with lib; {
39 description = "Implementation of libSegFault.so with Boost.stracktrace";
40 homepage = "https://github.com/jonathanpoelen/libsegfault";
41 license = licenses.asl20;
42 maintainers = with maintainers; [ jtojnar ];
43 platforms = platforms.unix;
44 };
45}