!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

665 Members
Rust152 Servers

Load older messages


SenderMessageTime
2 Dec 2021
@brendanzab:matrix.orgbrendanzabRe. developing in a shell, do you do it on a per-package basis, or do you install cargo/rust globally? I know the latter probably isn't recommended, but seems like it could be easier for the random Rust project?00:24:41
@ralith:ralith.comRalithI have a shell per project; they tend to vary02:01:30
@ralith:ralith.comRalithyou can have a common shell that you reuse though02:01:46
@brendanzab:matrix.orgbrendanzabhow do you cope if a project is not using nix?02:05:01
@brendanzab:matrix.orgbrendanzabdo you make a personal project-specific nix thing?02:05:23
@brendanzab:matrix.orgbrendanzab * do you make a personal project-specific nix thing that you hide in your local ignores?02:05:36
@brendanzab:matrix.orgbrendanzabat any rate, this is what I ended up with: https://gist.github.com/brendanzab/8b9f1abfc28fca8fbdef745995be3a7602:06:22
@brendanzab:matrix.orgbrendanzabdunno if it can be simplified more02:06:50
@brendanzab:matrix.orgbrendanzabI've got an .envrc that loads it, and seems to work nicely with vs code02:07:23
@brendanzab:matrix.orgbrendanzab * I've got an .envrc that loads it, and seems to work nicely with vs code and rust-analyzer with no dramas02:07:36
@ralith:ralith.comRalithyeah I drop local shell.nixes in stuff all the time05:39:42
@patsakula:matrix.orgPatsakula Nikita joined the room.14:20:19
@patsakula:matrix.orgPatsakula 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:matrix.orgPatsakula 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
@mikroskeem:d0.eeMark LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib" 18:00:37
@mikroskeem:d0.eeMarkPatsakula Nikita: that should do the trick18:00:59
@mikroskeem:d0.eeMarki'm using that for building a thing which is using librocksdb-sys18:01:27
@mikroskeem:d0.eeMarkthat's an attribute btw18:02:48
@mikroskeem:d0.eeMarkbut i'm not 100% sure if that'll work with this derivation, derivation i'm using this in is using rustPlatform.buildRustPackage18:04:06
@jonringer:matrix.orgjonringer cargo makes heavy usage of pkg-config. Usually adding that to nativeBuildInputs fixes most search logic 20:44:51
@mikroskeem:d0.eeMarklibrocksdb-sys is using rust-bindgen, which in turn is using libclang to parse C/C++ headers20:47:50
@mikroskeem:d0.eeMarkhaving pkg-config in nativeBuildInputs does not help getting rust-bindgen working unfortunately20:48:44
@mikroskeem:d0.eeMarkhttps://github.com/KyleMayes/clang-sys#environment-variables20:53:28
@mikroskeem:d0.eeMarkrust-bindgen is using clang-sys20:53:46
@mikroskeem:d0.eeMarkperhaps providing llvm-config path is cleaner20:54:01
3 Dec 2021
@patsakula:matrix.orgPatsakula 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:matrix.orgpinage404 joined the room.10:47:49
@abose:matrix.orgabose joined the room.23:23:07
10 Dec 2021
@linj:matrix.orglinj joined the room.00:54:01
@brendanzab:matrix.orgbrendanzab 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

There are no newer messages yet.


Back to Room ListRoom Version: 6