diff options
author | Robert Scott <code@humanleg.org.uk> | 2020-07-21 22:08:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-21 22:08:05 +0100 |
commit | fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb (patch) | |
tree | 113ff90bb732fbcc7b1b5e2d06ab54d439ee5dba | |
parent | 0da12cba392a4f2508506a2d64bedb539829a237 (diff) | |
parent | d2d921b763e570f91b30c12045689458e96d93c9 (diff) | |
download | nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar.gz nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar.bz2 nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar.lz nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar.xz nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.tar.zst nixlib-fd5c0b94b2a43856ec7b56f0a1eb2340fff729cb.zip |
Merge pull request #76960 from risicle/ris-hal-hardware-analyzer
hal-hardware-analyzer: init at 2.0.0
-rw-r--r-- | pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix | 52 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix new file mode 100644 index 000000000000..06053a8f356b --- /dev/null +++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, python3Packages +, boost, rapidjson, qtbase, qtsvg, igraph, spdlog, wrapQtAppsHook +, llvmPackages ? null +}: + +stdenv.mkDerivation rec { + version = "2.0.0"; + pname = "hal-hardware-analyzer"; + + src = fetchFromGitHub { + owner = "emsec"; + repo = "hal"; + rev = "v${version}"; + sha256 = "11xmqxnryksl645wmm1d69k1b5zwvxxf0admk4iblzaa3ggf7cv1"; + }; + # make sure bundled dependencies don't get in the way - install also otherwise + # copies them in full to the output, bloating the package + postPatch = '' + rm -rf deps/*/* + substituteInPlace cmake/detect_dependencies.cmake \ + --replace 'spdlog 1.4.2 EXACT' 'spdlog 1.4.2 REQUIRED' + ''; + + nativeBuildInputs = [ cmake ninja pkgconfig ]; + buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog wrapQtAppsHook ] + ++ (with python3Packages; [ python pybind11 ]) + ++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp; + + cmakeFlags = with stdenv.lib.versions; [ + "-DHAL_VERSION_RETURN=${version}" + "-DHAL_VERSION_MAJOR=${major version}" + "-DHAL_VERSION_MINOR=${minor version}" + "-DHAL_VERSION_PATCH=${patch version}" + "-DHAL_VERSION_TWEAK=0" + "-DHAL_VERSION_ADDITIONAL_COMMITS=0" + "-DHAL_VERSION_DIRTY=false" + "-DHAL_VERSION_BROKEN=false" + "-DENABLE_INSTALL_LDCONFIG=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"; + + meta = { + description = "A comprehensive reverse engineering and manipulation framework for gate-level netlists"; + homepage = "https://github.com/emsec/hal"; + license = stdenv.lib.licenses.mit; + platforms = with stdenv.lib.platforms; unix; + maintainers = with stdenv.lib.maintainers; [ ris ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 29c30cede59e..74efc6ad3202 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4150,6 +4150,8 @@ in hal-flash = callPackage ../os-specific/linux/hal-flash { }; + hal-hardware-analyzer = libsForQt5.callPackage ../applications/science/electronics/hal-hardware-analyzer { }; + half = callPackage ../development/libraries/half { }; halibut = callPackage ../tools/typesetting/halibut { }; |