Unverified Commit 062fe11e authored by Artturin's avatar Artturin Committed by GitHub
Browse files

bluespec: Fix wrong executable name for bsc (#396049)

parents f5e01ac3 fd4d38d9
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
  asciidoctor,
  texliveFull,
  which,
  makeWrapper,
  makeBinaryWrapper,
  cctools,
  targetPackages,
  # install -m 644 lib/libstp.dylib /private/tmp/nix-build-bluespec-2024.07.drv-5/source/inst/lib/SAT
@@ -160,15 +160,17 @@ stdenv.mkDerivation rec {
    [
      automake
      autoconf
      asciidoctor
      bison
      flex
      ghcWithPackages
      perl
      pkg-config
      texliveFull
      tcl
      makeWrapper
      makeBinaryWrapper
    ]
    ++ lib.optionals withDocs [
      texliveFull
      asciidoctor
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      # https://github.com/B-Lang-org/bsc/blob/main/src/comp/bsc.hs#L1838
@@ -212,12 +214,16 @@ stdenv.mkDerivation rec {

  postFixup = ''
    # https://github.com/B-Lang-org/bsc/blob/65e3a87a17f6b9cf38cbb7b6ad7a4473f025c098/src/comp/bsc.hs#L1839
    wrapProgram $out/bin/bsc --prefix PATH : ${
    # `/bin/bsc` is a bash script which the script name to call the binary in the `/bin/core` directory
    # thus wrapping `/bin/bsc` messes up the scriptname detection in it.
    wrapProgram $out/bin/core/bsc \
      --prefix PATH : ${
        lib.makeBinPath (if stdenv.hostPlatform.isDarwin then [ cctools ] else [ targetPackages.stdenv.cc ])
      }
  '';

  doCheck = true;
  doInstallCheck = true;

  # TODO To fix check-suite:
  # On darwin
@@ -276,6 +282,13 @@ stdenv.mkDerivation rec {
    )
  '';

  installCheckPhase = ''
    output="$($out/bin/bsc 2>&1 || true)"
    echo "bsc output:"
    echo "$output"
    echo "$output" | grep -q "to get help"
  '';

  meta = {
    description = "Toolchain for the Bluespec Hardware Definition Language";
    homepage = "https://github.com/B-Lang-org/bsc";