|
87 | 87 | "rust-analyzer" |
88 | 88 | "llvm-tools" |
89 | 89 | ]; |
| 90 | + |
| 91 | + devToolchain = |
| 92 | + if pkgs.stdenv.isLinux |
| 93 | + then |
| 94 | + fenixPkgs.combine [ |
| 95 | + fenixPkgs.stable.cargo |
| 96 | + fenixPkgs.stable.clippy |
| 97 | + fenixPkgs.stable.rustc |
| 98 | + fenixPkgs.stable.rustfmt |
| 99 | + fenixPkgs.stable.rust-src |
| 100 | + fenixPkgs.stable.rust-analyzer |
| 101 | + fenixPkgs.stable.llvm-tools |
| 102 | + fenixPkgs.targets."x86_64-unknown-linux-musl".stable.rust-std |
| 103 | + fenixPkgs.targets."aarch64-unknown-linux-musl".stable.rust-std |
| 104 | + ] |
| 105 | + else if pkgs.stdenv.isDarwin && pkgs.stdenv.isAarch64 |
| 106 | + then |
| 107 | + fenixPkgs.combine [ |
| 108 | + fenixPkgs.stable.cargo |
| 109 | + fenixPkgs.stable.clippy |
| 110 | + fenixPkgs.stable.rustc |
| 111 | + fenixPkgs.stable.rustfmt |
| 112 | + fenixPkgs.stable.rust-src |
| 113 | + fenixPkgs.stable.rust-analyzer |
| 114 | + fenixPkgs.stable.llvm-tools |
| 115 | + fenixPkgs.targets."x86_64-apple-darwin".stable.rust-std |
| 116 | + ] |
| 117 | + else toolchain; |
90 | 118 | in { |
91 | 119 | packages = { |
92 | 120 | inherit pkg cargoArtifacts; |
|
128 | 156 | devShells.default = pkgs.mkShell { |
129 | 157 | packages = |
130 | 158 | [ |
131 | | - toolchain |
| 159 | + devToolchain |
132 | 160 | pkgs.cargo-nextest |
133 | 161 | pkgs.cargo-llvm-cov |
134 | 162 | pkgs.cargo-deny |
|
142 | 170 | ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ |
143 | 171 | pkgs.pkg-config |
144 | 172 | pkgs.openssl |
| 173 | + pkgs.pkgsCross.musl64.stdenv.cc |
| 174 | + pkgs.pkgsCross.aarch64-multiplatform-musl.stdenv.cc |
145 | 175 | ] |
146 | 176 | ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ |
147 | 177 | pkgs.apple-sdk_26 |
|
150 | 180 | env = |
151 | 181 | { |
152 | 182 | RUST_BACKTRACE = "1"; |
153 | | - RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library"; |
| 183 | + RUST_SRC_PATH = "${devToolchain}/lib/rustlib/src/rust/library"; |
154 | 184 | ORT_DYLIB_PATH = "${pkgs.onnxruntime}/lib/libonnxruntime${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"; |
155 | 185 | } |
156 | 186 | // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux { |
157 | 187 | LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.openssl pkgs.stdenv.cc.cc.lib]; |
| 188 | + CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER = "${pkgs.pkgsCross.musl64.stdenv.cc}/bin/${pkgs.pkgsCross.musl64.stdenv.cc.targetPrefix}cc"; |
| 189 | + CC_x86_64_unknown_linux_musl = "${pkgs.pkgsCross.musl64.stdenv.cc}/bin/${pkgs.pkgsCross.musl64.stdenv.cc.targetPrefix}cc"; |
| 190 | + CFLAGS_x86_64_unknown_linux_musl = "-U_FORTIFY_SOURCE"; |
| 191 | + CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER = "${pkgs.pkgsCross.aarch64-multiplatform-musl.stdenv.cc}/bin/${pkgs.pkgsCross.aarch64-multiplatform-musl.stdenv.cc.targetPrefix}cc"; |
| 192 | + CC_aarch64_unknown_linux_musl = "${pkgs.pkgsCross.aarch64-multiplatform-musl.stdenv.cc}/bin/${pkgs.pkgsCross.aarch64-multiplatform-musl.stdenv.cc.targetPrefix}cc"; |
| 193 | + CFLAGS_aarch64_unknown_linux_musl = "-U_FORTIFY_SOURCE"; |
| 194 | + X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_STATIC = "1"; |
| 195 | + X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR = "${pkgs.pkgsCross.musl64.openssl.out}/lib"; |
| 196 | + X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR = "${pkgs.pkgsCross.musl64.openssl.dev}/include"; |
| 197 | + AARCH64_UNKNOWN_LINUX_MUSL_OPENSSL_STATIC = "1"; |
| 198 | + AARCH64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR = "${pkgs.pkgsCross.aarch64-multiplatform-musl.openssl.out}/lib"; |
| 199 | + AARCH64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR = "${pkgs.pkgsCross.aarch64-multiplatform-musl.openssl.dev}/include"; |
158 | 200 | }; |
159 | 201 | }; |
160 | 202 | }); |
|
0 commit comments