cpptrace: 0.8.3 -> 1.0.1

+60 -3
+51
pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch
··· 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 + From: Philip Taron <philip.taron@gmail.com> 3 + Date: Thu, 19 Jun 2025 09:24:32 -0700 4 + Subject: [PATCH] Use libdwarf-2 as the base include path 5 + 6 + Signed-off-by: Philip Taron <philip.taron@gmail.com> 7 + --- 8 + CMakeLists.txt | 6 +++--- 9 + src/symbols/dwarf/dwarf.hpp | 4 ++-- 10 + 2 files changed, 5 insertions(+), 5 deletions(-) 11 + 12 + diff --git a/CMakeLists.txt b/CMakeLists.txt 13 + index 1c607bd44e528a41ccd637f5293b4f56049f5770..53e1aedf463c5eb95dcfd77fa40de66f51381b47 100644 14 + --- a/CMakeLists.txt 15 + +++ b/CMakeLists.txt 16 + @@ -419,7 +419,7 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) 17 + target_link_libraries(${target_name} PRIVATE ${LIBDWARF_LIBRARIES}) 18 + endif() 19 + # There seems to be no consistency at all about where libdwarf decides to place its headers........ Figure out if 20 + - # it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h 21 + + # it's libdwarf-2/libdwarf.h and libdwarf-2/dwarf.h or just libdwarf.h and dwarf.h 22 + include(CheckIncludeFileCXX) 23 + # libdwarf's cmake doesn't properly set variables to indicate where its libraries live 24 + if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG) 25 + @@ -428,9 +428,9 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) 26 + target_include_directories(${target_name} PRIVATE ${LIBDWARF_INCLUDE_DIRS}) 27 + endif() 28 + set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) 29 + - CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) 30 + + CHECK_INCLUDE_FILE_CXX("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) 31 + CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED) 32 + - # check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) 33 + + # check_include_file("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) 34 + # check_support(LIBDWARF_IS_NESTED nested_libdwarf_include.cpp "" "" "") 35 + if(${LIBDWARF_IS_NESTED}) 36 + target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) 37 + diff --git a/src/symbols/dwarf/dwarf.hpp b/src/symbols/dwarf/dwarf.hpp 38 + index 50b2696148584b7a16da602017793797ba98cb58..53fe275492f4fd7e8e905064696e86f837a55f72 100644 39 + --- a/src/symbols/dwarf/dwarf.hpp 40 + +++ b/src/symbols/dwarf/dwarf.hpp 41 + @@ -10,8 +10,8 @@ 42 + #include <type_traits> 43 + 44 + #ifdef CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH 45 + - #include <libdwarf/libdwarf.h> 46 + - #include <libdwarf/dwarf.h> 47 + + #include <libdwarf-2/libdwarf.h> 48 + + #include <libdwarf-2/dwarf.h> 49 + #else 50 + #include <libdwarf.h> 51 + #include <dwarf.h>
+9 -3
pkgs/by-name/cp/cpptrace/package.nix
··· 14 14 15 15 stdenv.mkDerivation (finalAttrs: { 16 16 pname = "cpptrace"; 17 - version = "0.8.3"; 17 + version = "1.0.1"; 18 18 19 19 src = fetchFromGitHub { 20 20 owner = "jeremy-rifkin"; 21 21 repo = "cpptrace"; 22 22 tag = "v${finalAttrs.version}"; 23 - hash = "sha256-oFwRFFDLl4/3szVj/ge8cSrpuuHEzf4VsCPGTE0dxRc="; 23 + hash = "sha256-HUUyH9N+e98Gp6TPeT6TCGpdzd09knHVDaQ3KeDp8LY="; 24 24 }; 25 25 26 + patches = [ 27 + ./0001-Use-libdwarf-2-as-the-base-include-path.patch 28 + ]; 29 + 26 30 nativeBuildInputs = [ 27 31 cmake 28 32 pkg-config 29 33 ]; 30 34 31 - buildInputs = [ libdwarf ]; 35 + buildInputs = [ (lib.getDev libdwarf) ]; 36 + 32 37 propagatedBuildInputs = [ zstd ] ++ (lib.optionals static [ libdwarf ]); 33 38 34 39 cmakeFlags = [ ··· 40 45 ]; 41 46 42 47 checkInputs = [ gtest ]; 48 + 43 49 doCheck = true; 44 50 45 51 passthru = {