nixpkgs/pkgs/applications/science/logic/uhdm/default.nix
Henner Zeller 568398e338 uhdm: 0.9.1.40 -> 1.45
Update UHDM and also fix for Darwin build.
The gtest version used in the project unconditionally uses
/tmp as temporary directory in Darwin and does not honor the
environment variables introduced in gtest 1.12.
Use that gtest version so that it will work in the Hydra
build environment.

Related: #199919 as this is fixing the Darwin build.

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2022-11-08 12:47:14 -08:00

63 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cmake
, python3
, gtest
, fetchpatch
}:
stdenv.mkDerivation rec {
pname = "UHDM";
version = "1.45";
src = fetchFromGitHub {
owner = "chipsalliance";
repo = pname;
rev = "v${version}";
hash = "sha256-mxQRmI8yUUrSUYa4kUT9URgfqYvuz3V9e1IGjtiHyhc=";
fetchSubmodules = true;
};
# Add ability to use local googletest provided from nix instead of
# the version from the submodule in third_party/. The third_party/ version
# is slightly older and does not work with our hydra Darwin builds that needs
# to set a particular temp directory.
# This patch allows to choose UHDM_USE_HOST_GTEST=On in the cflags.
patches = [
(fetchpatch {
url = "https://github.com/chipsalliance/UHDM/commit/ad60fdb65a7c49fdc8ee3fffdca791f9364af4f5.patch";
sha256 = "sha256-IkwnepWWmBychJ0mu+kaddUEc9jkldIRq+GyJkhrO8A=";
name = "allow-local-gtest.patch";
})
];
nativeBuildInputs = [
cmake
];
buildInputs = [
(python3.withPackages (p: with p; [ orderedmultidict ]))
gtest
];
cmakeFlags = [
"-DUHDM_USE_HOST_GTEST=On"
];
doCheck = true;
checkPhase = "make test";
postInstall = ''
mv $out/lib/uhdm/* $out/lib/
rm -rf $out/lib/uhdm
'';
meta = {
description = "Universal Hardware Data Model";
homepage = "https://github.com/chipsalliance/UHDM";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ matthuszagh ];
platforms = lib.platforms.all;
};
}