From 99b6060da4eb486b2eb36d2df35f6817582653cd Mon Sep 17 00:00:00 2001 From: Henner Zeller Date: Mon, 7 Nov 2022 21:16:38 -0800 Subject: [PATCH] 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 --- .../science/logic/uhdm/default.nix | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix index 47b9bb0d94232..a87b6fbf35fa6 100644 --- a/pkgs/applications/science/logic/uhdm/default.nix +++ b/pkgs/applications/science/logic/uhdm/default.nix @@ -3,26 +3,46 @@ , fetchFromGitHub , cmake , python3 +, gtest +, fetchpatch }: stdenv.mkDerivation rec { pname = "UHDM"; - version = "0.9.1.40"; + version = "1.45"; src = fetchFromGitHub { owner = "chipsalliance"; repo = pname; rev = "v${version}"; - hash = "sha256-CliKU2WM8B9012aDcS/mTyIf+JcsVsc4uRRi9+FRWbM="; + 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; @@ -33,12 +53,6 @@ stdenv.mkDerivation rec { rm -rf $out/lib/uhdm ''; - prePatch = '' - substituteInPlace CMakeLists.txt --replace \ - 'capnp compile' \ - 'capnp compile --src-prefix=''${GENDIR}/..' - ''; - meta = { description = "Universal Hardware Data Model"; homepage = "https://github.com/chipsalliance/UHDM";