hal-hardware-analyzer: 4.2.0 -> 4.4.1 (#353436)

This commit is contained in:
Robert Scott 2024-11-08 22:37:22 +00:00 committed by GitHub
commit 03987a692c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 49 additions and 53 deletions

View File

@ -0,0 +1,28 @@
compatibility with newer spdlog/fmt versions
diff --git a/plugins/module_identification/src/api/module_identification.cpp b/plugins/module_identification/src/api/module_identification.cpp
index 808875e8a68..3cf3cf1fb8b 100644
--- a/plugins/module_identification/src/api/module_identification.cpp
+++ b/plugins/module_identification/src/api/module_identification.cpp
@@ -406,7 +406,7 @@ namespace hal
const u32 num_threads = std::min(config.m_max_thread_count, std::thread::hardware_concurrency() - 1);
- log_info("module_identification", "running with {} threads and {} multithreading priority", num_threads, config.m_multithreading_priority);
+ log_info("module_identification", "running with {} threads and {} multithreading priority", num_threads, fmt::underlying(config.m_multithreading_priority));
auto stats = Statistics();
diff --git a/plugins/z3_utils/src/simplification.cpp b/plugins/z3_utils/src/simplification.cpp
index d64cab665f2..561fa7f1a23 100644
--- a/plugins/z3_utils/src/simplification.cpp
+++ b/plugins/z3_utils/src/simplification.cpp
@@ -617,7 +617,7 @@ namespace hal
return false;
default: {
- log_error("z3_utils", "commutative check not implemeted for type {}!", t);
+ log_error("z3_utils", "commutative check not implemeted for type {}!", fmt::underlying(t));
return false;
}
}

View File

@ -8,6 +8,7 @@
, igraph
, llvmPackages
, ninja
, nlohmann_json
, pkg-config
, python3Packages
, qtbase
@ -15,75 +16,36 @@
, quazip
, rapidjson
, spdlog
, suitesparse
, verilator
, wrapQtAppsHook
, z3
}:
let
# hal doesn't work with igraph 0.10.x yet https://github.com/emsec/hal/pull/487
igraph' = igraph.overrideAttrs (final: prev: {
version = "0.9.10";
src = fetchFromGitHub {
owner = "igraph";
repo = final.pname;
rev = final.version;
hash = "sha256-prDadHsNhDRkNp1i0niKIYxE0g85Zs0ngvUy6uK8evk=";
};
patches = (prev.patches or []) ++ [
# needed by clang
(fetchpatch {
name = "libxml2-2.11-compat.patch";
url = "https://github.com/igraph/igraph/commit/5ad464be5ae2f6ebb69c97cb0140c800cc8d97d6.patch";
hash = "sha256-adU5SctH+H54UaAmr5BZInytD3wjUzLtQbCwngAWs4o=";
})
];
postPatch = prev.postPatch + lib.optionalString stdenv.hostPlatform.isAarch64 ''
# https://github.com/igraph/igraph/issues/1694
substituteInPlace tests/CMakeLists.txt \
--replace "igraph_scg_grouping3" "" \
--replace "igraph_scg_semiprojectors2" ""
'';
NIX_CFLAGS_COMPILE = (prev.NIX_CFLAGS_COMPILE or []) ++ lib.optionals stdenv.cc.isClang [
"-Wno-strict-prototypes"
"-Wno-unused-but-set-parameter"
"-Wno-unused-but-set-variable"
];
# general options brought back from the old 0.9.x package
buildInputs = prev.buildInputs ++ [ suitesparse ];
cmakeFlags = prev.cmakeFlags ++ [ "-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF" ];
});
in stdenv.mkDerivation rec {
version = "4.2.0";
stdenv.mkDerivation rec {
version = "4.4.1";
pname = "hal-hardware-analyzer";
src = fetchFromGitHub {
owner = "emsec";
repo = "hal";
rev = "v${version}";
sha256 = "sha256-Yl86AClE3vWygqj1omCOXX8koJK2SjTkMZFReRThez0=";
sha256 = "sha256-8kmYeqsmqR7tY044rZb3KuEAVGv37IObX6k1qjXWG0A=";
};
patches = [
(fetchpatch {
name = "cmake-add-no-vendored-options.patch";
# https://github.com/emsec/hal/pull/529
url = "https://github.com/emsec/hal/commit/37d5c1a0eacb25de57cc552c13e74f559a5aa6e8.patch";
hash = "sha256-a30VjDt4roJOTntisixqnH17wwCgWc4VWeh1+RgqFuY=";
name = "de-vendor-nlohmann-json.patch";
# https://github.com/emsec/hal/pull/596
url = "https://github.com/emsec/hal/commit/f8337d554d80cfa2588512696696fd4c878dd7a3.patch";
hash = "sha256-QjgvcduwbFccC807JFOevlTfO3KiL9T3HSqYmh3sXAQ=";
})
(fetchpatch {
name = "hal-fix-fmt-10.1-compat.patch";
# https://github.com/emsec/hal/pull/530
url = "https://github.com/emsec/hal/commit/b639a56b303141afbf6731b70b7cc7452551f024.patch";
hash = "sha256-a7AyDEKkqdbiHpa4OHTRuP9Yewb3Nxs/j6bwez5m0yU=";
})
(fetchpatch {
name = "fix-gcc-13-build.patch";
# https://github.com/emsec/hal/pull/557
url = "https://github.com/emsec/hal/commit/831b1a7866aa9aabd55ff288c084862dc6a138d8.patch";
hash = "sha256-kB/sJJtLGl5PUv+mmWVpee/okkJzp5HF0BCiCRCcTKw=";
name = "fix-vendored-igraph-regression.patch";
# https://github.com/emsec/hal/pull/596
url = "https://github.com/emsec/hal/commit/fe1fe74719ab4fef873a22e2b28cce0c57d570e0.patch";
hash = "sha256-bjbW4pr04pP0TCuSdzPcV8h6LbLWMvdGSf61RL9Ju6E=";
})
./4.4.1-newer-spdlog-fmt-compat.patch
];
# make sure bundled dependencies don't get in the way - install also otherwise
@ -105,9 +67,11 @@ in stdenv.mkDerivation rec {
qtsvg
boost
rapidjson
igraph'
igraph
nlohmann_json
spdlog
graphviz
verilator
z3
quazip
]
@ -129,12 +93,16 @@ in stdenv.mkDerivation rec {
"-DUSE_VENDORED_SPDLOG=off"
"-DUSE_VENDORED_QUAZIP=off"
"-DUSE_VENDORED_IGRAPH=off"
"-DUSE_VENDORED_NLOHMANN_JSON=off"
"-DBUILD_ALL_PLUGINS=on"
];
# needed for macos build - this is why we use wrapQtAppsHook instead of
# the qt mkDerivation - the latter forcibly overrides this.
cmakeBuildType = "MinSizeRel";
# https://github.com/emsec/hal/issues/598
NIX_CFLAGS_COMPILE = lib.optional stdenv.hostPlatform.isAarch64 "-flax-vector-conversions";
# some plugins depend on other plugins and need to be able to load them
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
find $out/lib/hal_plugins -name '*.so*' | while read -r f ; do