| 2 Dec 2021 |
Patsakula Nikita | Hello! I am nix-noobie and I need a little help:( I tried to use cargo2nix with my project and faced the problem: one of my dependencies using libclang.so and I figured out how to add it as a dependency, but I don't know how to inject shellHook (it don't see the path without it). I will be glad any hint! | 14:30:09 |
Patsakula Nikita | (pkgs.rustBuilder.rustLib.makeOverride {
name = "librocksdb-sys";
overrideAttrs = drv: {
propagatedNativeBuildInputs = drv.propagatedNativeBuildInputs or [ ] ++ [
pkgs.llvmPackages_13.libclang
];
# It didn't help:
paths = [
pkgs.llvmPackages_13.libclang
];
};
})
My flake.nix ^
> thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', src/lib.rs:2144:31
Error message ^
| 14:42:03 |
Mark | LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib" | 18:00:37 |
Mark | Patsakula Nikita: that should do the trick | 18:00:59 |
Mark | i'm using that for building a thing which is using librocksdb-sys | 18:01:27 |
Mark | that's an attribute btw | 18:02:48 |
Mark | but i'm not 100% sure if that'll work with this derivation, derivation i'm using this in is using rustPlatform.buildRustPackage | 18:04:06 |
jonringer | cargo makes heavy usage of pkg-config. Usually adding that to nativeBuildInputs fixes most search logic | 20:44:51 |
Mark | librocksdb-sys is using rust-bindgen, which in turn is using libclang to parse C/C++ headers | 20:47:50 |
Mark | having pkg-config in nativeBuildInputs does not help getting rust-bindgen working unfortunately | 20:48:44 |
Mark | https://github.com/KyleMayes/clang-sys#environment-variables | 20:53:28 |
Mark | rust-bindgen is using clang-sys | 20:53:46 |
Mark | perhaps providing llvm-config path is cleaner | 20:54:01 |
| 3 Dec 2021 |
Patsakula Nikita | In reply to @mikroskeem:d0.ee Patsakula Nikita: that should do the trick Yes, it works, but only with:
propagatedNativeBuildInputs = drv.propagatedNativeBuildInputs or [ ] ++ [
pkgs.llvmPackages_13.libcxxClang
];
..and now I don't know how to use non-default cc (stdenv = pkgs.llvmPackages_13.stdenv didn't work)
| 16:17:14 |
| 5 Dec 2021 |
| pinage404 joined the room. | 10:47:49 |
| abose joined the room. | 23:23:07 |
| 10 Dec 2021 |
| linj joined the room. | 00:54:01 |
brendanzab | Hey, just wondering if it is a good idea to use something like https://github.com/hercules-ci/gitignore.nix in a flake for my Rust package? I'm using https://github.com/nix-community/naersk/ to define my default package, but I'm not sure if that handles stuff like ignoring the target directory. 🤔 | 06:49:29 |
Mic92 | If you switch to flake-based infrastructure than you can gitignore support for free. | 07:02:51 |
brendanzab | oh cool | 07:16:28 |
brendanzab | weird that hercules-ci/gitignore.nix mentions flakes in the README - is that possibly out of date? | 07:17:22 |
Mic92 | brendanzab: well. it says that flakes uses gitignore but there might be an edge case where this is still useful. | 08:22:19 |
brendanzab | ahh rereading that yeah… gotcha | 08:30:42 |
| 12 Dec 2021 |
| linj left the room. | 21:44:07 |
| 13 Dec 2021 |
| ldesgoui joined the room. | 00:21:58 |
| ward joined the room. | 08:53:10 |
| lourkeur (nix btw) changed their display name from lourkeur (Nix OwO) to lourkeur (nix btw). | 17:13:05 |
| 19 Dec 2021 |
| psibi joined the room. | 14:47:57 |
| colemickens joined the room. | 22:53:19 |
| 22 Dec 2021 |
| bernardo joined the room. | 22:26:59 |