about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShogo Takata <peshogo@gmail.com>2023-08-01 16:07:04 +0900
committerShogo Takata <peshogo@gmail.com>2023-08-01 16:10:46 +0900
commit2838d990639de962915b9701b1b0e3bc85938265 (patch)
tree68678885ba87c5881f3e0581cc0754b79f14c1ee /pkgs
parent444797ac0240a84157d685ab9513bfc7bdd568ff (diff)
circt: refactor patch to substituteInPlace
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/circt/circt-version.diff34
-rw-r--r--pkgs/development/compilers/circt/default.nix11
2 files changed, 3 insertions, 42 deletions
diff --git a/pkgs/development/compilers/circt/circt-version.diff b/pkgs/development/compilers/circt/circt-version.diff
deleted file mode 100644
index 94ece9ec45f7a..0000000000000
--- a/pkgs/development/compilers/circt/circt-version.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/cmake/modules/GenVersionFile.cmake b/cmake/modules/GenVersionFile.cmake
-index 570088f39..700399173 100644
---- a/cmake/modules/GenVersionFile.cmake
-+++ b/cmake/modules/GenVersionFile.cmake
-@@ -6,27 +6,8 @@
- #   DRY_RUN             - If true, make the version unknown.
- #   SOURCE_ROOT         - Path to root directory of source
- 
--set(GIT_DESCRIBE_DEFAULT "unknown git version")
--if (DRY_RUN)
--  set(GIT_DESCRIBE_OUTPUT "${GIT_DESCRIBE_DEFAULT}")
--else ()
--  message(STATUS "Generating ${OUT_FILE} from ${IN_FILE} by `git describe --dirty --tags --match ${RELEASE_PATTERN}`")
--  find_package(Git QUIET)
--  if (Git_FOUND)
--    execute_process(COMMAND ${GIT_EXECUTABLE} describe --dirty --tags --match ${RELEASE_PATTERN}
--      WORKING_DIRECTORY "${SOURCE_ROOT}"
--      RESULT_VARIABLE GIT_OUTPUT_RESULT
--      OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT
--      OUTPUT_STRIP_TRAILING_WHITESPACE)
--    if (NOT ${GIT_OUTPUT_RESULT} EQUAL 0)
--      message(WARNING "git describe failed, set version to ${GIT_DESCRIBE_DEFAULT}")
--      set(GIT_DESCRIBE_OUTPUT "${GIT_DESCRIBE_DEFAULT}")
--    endif ()
--  else ()
--    message(WARNING "Git not found: ${GIT_EXECUTABLE}, set version to ${GIT_DESCRIBE_DEFAULT}")
--    set(GIT_DESCRIBE_OUTPUT "${GIT_DESCRIBE_DEFAULT}")
--  endif ()
--endif()
-+message(WARNING "Git can't be used in the nix build system, set version to ${GIT_DESCRIBE_OUTPUT}")
-+set(GIT_DESCRIBE_OUTPUT "@version@")
- 
- # This command will prepend CMAKE_CURRENT_{SOURCE,BINARY}_DIR if <input> or <output> is relative,
- # that's why I need IN_FILE and OUT_FILE to be absolute path.
\ No newline at end of file
diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix
index 17f49810ed24e..8e2a009a1db23 100644
--- a/pkgs/development/compilers/circt/default.nix
+++ b/pkgs/development/compilers/circt/default.nix
@@ -6,7 +6,6 @@
 , git
 , fetchFromGitHub
 , ninja
-, substituteAll
 }:
 
 let
@@ -23,13 +22,6 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  patches = [
-    # circt uses git to check its version,
-    # but when cloned on nix it can't access git.
-    # So this patch hard codes the version.
-    (substituteAll { src = ./circt-version.diff; version = src.rev; })
-  ];
-
   requiredSystemFeatures = [ "big-parallel" ];
 
   nativeBuildInputs = [ cmake ninja git pythonEnv ];
@@ -62,6 +54,9 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     find ./test -name '*.mlir' -exec sed -i 's|/usr/bin/env|${coreutils}/bin/env|g' {} \;
+    # circt uses git to check its version, but when cloned on nix it can't access git.
+    # So this hard codes the version.
+    substituteInPlace cmake/modules/GenVersionFile.cmake --replace "unknown git version" "${src.rev}"
   '';
 
   installPhase = ''