uhdm: 1.45 -> 1.57

Also no vendored dependencies anymore, capnproto is now directly
used from nix, no third_party/ submodules are needed anymore.
This commit is contained in:
Henner Zeller 2023-04-15 19:14:40 -07:00 committed by Austin Seipp
parent c1836182b9
commit d2831ca5da

View file

@ -3,56 +3,39 @@
, fetchFromGitHub
, cmake
, python3
, capnproto
, gtest
, fetchpatch
}:
stdenv.mkDerivation rec {
pname = "UHDM";
version = "1.45";
version = "1.57";
src = fetchFromGitHub {
owner = "chipsalliance";
repo = pname;
rev = "v${version}";
hash = "sha256-mxQRmI8yUUrSUYa4kUT9URgfqYvuz3V9e1IGjtiHyhc=";
fetchSubmodules = true;
hash = "sha256-z3vURlKXCW5W2naVwJjBXcn94u80JsBxlUOIy9ylsJw=";
};
# 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
];
buildInputs = [
capnproto
];
cmakeFlags = [
"-DUHDM_USE_HOST_GTEST=On"
"-DUHDM_USE_HOST_CAPNP=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";