diff --git a/pkgs/development/compilers/circt/circt-llvm.nix b/pkgs/by-name/ci/circt/circt-llvm.nix similarity index 93% rename from pkgs/development/compilers/circt/circt-llvm.nix rename to pkgs/by-name/ci/circt/circt-llvm.nix index 8375ccc22f8f..6c9ec00564dd 100644 --- a/pkgs/development/compilers/circt/circt-llvm.nix +++ b/pkgs/by-name/ci/circt/circt-llvm.nix @@ -1,17 +1,23 @@ -{ lib -, stdenv -, cmake -, ninja -, circt -, llvm -, python3 -}: stdenv.mkDerivation { +{ + lib, + stdenv, + cmake, + ninja, + circt, + llvm, + python3, +}: +stdenv.mkDerivation { pname = circt.pname + "-llvm"; inherit (circt) version src; requiredSystemFeatures = [ "big-parallel" ]; - nativeBuildInputs = [ cmake ninja python3 ]; + nativeBuildInputs = [ + cmake + ninja + python3 + ]; preConfigure = '' cd llvm/llvm @@ -30,7 +36,11 @@ "-DLLVM_INSTALL_UTILS=ON" ]; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; # Get rid of ${extra_libdir} (which ends up containing a path to circt-llvm.dev # in circt) so that we only have to remove the one fixed rpath. @@ -70,7 +80,7 @@ # # Inspired by fixDarwinDylibNames. postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' - local flags=(-delete_rpath @loader_path/../lib) + local flags for file in "$lib"/lib/*.dylib; do flags+=(-change @rpath/"$(basename "$file")" "$file") done diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/by-name/ci/circt/package.nix similarity index 81% rename from pkgs/development/compilers/circt/default.nix rename to pkgs/by-name/ci/circt/package.nix index c3f16b447e2f..180fc1d2fbe4 100644 --- a/pkgs/development/compilers/circt/default.nix +++ b/pkgs/by-name/ci/circt/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, cmake -, coreutils -, python3 -, git -, fetchFromGitHub -, ninja -, lit -, z3 -, gitUpdater -, callPackage +{ + stdenv, + lib, + cmake, + coreutils, + python3, + git, + fetchFromGitHub, + ninja, + lit, + z3, + gitUpdater, + callPackage, }: let @@ -29,7 +30,13 @@ stdenv.mkDerivation rec { requiredSystemFeatures = [ "big-parallel" ]; - nativeBuildInputs = [ cmake ninja git pythonEnv z3 ]; + nativeBuildInputs = [ + cmake + ninja + git + pythonEnv + z3 + ]; buildInputs = [ circt-llvm ]; cmakeFlags = [ @@ -65,7 +72,17 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "check-circt check-circt-integration"; - outputs = [ "out" "lib" "dev" ]; + preCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' + echo moving libarc-jit-env.dylib to '$lib' before check because archilator links to the output path + mkdir -pv $lib/lib + cp -v ./lib/libarc-jit-env.dylib $lib/lib + ''; + + outputs = [ + "out" + "lib" + "dev" + ]; # Copy circt-llvm's postFixup stage so that it can make all our dylib references # absolute as well. @@ -89,7 +106,11 @@ stdenv.mkDerivation rec { description = "Circuit IR compilers and tools"; homepage = "https://circt.org/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ sharzy pineapplehunter sequencer ]; + maintainers = with lib.maintainers; [ + sharzy + pineapplehunter + sequencer + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8cc0cbc90f96..dc4378a3a97e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -446,8 +446,6 @@ with pkgs; ciel = callPackage ../tools/package-management/ciel { }; - circt = callPackage ../development/compilers/circt { }; - clang-uml = callPackage ../by-name/cl/clang-uml/package.nix { stdenv = clangStdenv; };