summaryrefslogtreecommitdiff
path: root/pkgs/hdl-convertor/default.nix
blob: 12581aa33e09081c41a111841b64c4d644b8d625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
  antlr,
  buildPythonPackage,
  cmake,
  cython,
  fetchFromGitHub,
  hdl-convertor-ast,
  jre,
  python3,
  scikit-build,
}:
buildPythonPackage {
  pname = "hdl-convertor";
  version = "master-2023-03-21";

  src = fetchFromGitHub {
    repo = "hdlConvertor";
    owner = "Nic30";

    rev = "b6ba0f4e61adf776cad8ed08760f8d232a4fc663";
    sha256 = "sha256-Ketz5r7Z8kjshr7mjfdqF+QAOHGM/iTDpT6TMbYl6QU=";
  };

  nativeBuildInputs = [antlr cmake jre cython];
  propagatedBuildInputs = [antlr.runtime.cpp hdl-convertor-ast];
  propagatedNativeBuildInputs = [scikit-build];

  postPatch = ''
    sed -i 's/antlr4\(-complete\)/${antlr.name}\1/g' src/CMake_antlr4.txt
  '';

  doCheck = false;
  dontUseCmakeConfigure = true;

  # src/CMake_antlr4.txt espera una env var, no hay otra forma
  ANTLR_COMPLETE_PATH = "${antlr}/share/java";

  # No usamos cmakeArgs ya que esto lo interpreta skbuild y no el cmake hook de nixpkgs
  CMAKE_ARGS = [
    "-DHDLCONVERTOR_PYTHON=true"
    "-DANTLR_COMPLETE_PATH=${antlr}/share/java"
    "-DANTLR4CPP_LIBRARIES=${antlr.runtime.cpp}/lib/libantlr4-runtime.so"
    "-DANTLR4CPP_INCLUDE_DIRS=${antlr.runtime.cpp.dev}/include/antlr4-runtime"
  ];
}