!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

681 Members
Rust154 Servers

Load older messages


SenderMessageTime
27 Apr 2025
@awwpotato:envs.net@awwpotato:envs.netit only mentions them19:01:45
@kranzes:matrix.orgIlan Joselevich (Kranzes)* (x: x + 1) 319:01:45
@curid:matrix.org@curid:matrix.org how would one find documentation for the pkgs.writeScriptBin function for example? 19:04:31
@adam_neverwas:matrix.orgAdam Neverwas Learn whats documentation first 19:05:27
@awwpotato:envs.net@awwpotato:envs.nethttps://nixos.org/manual/nixpkgs/unstable/#trivial-builder-writeScriptBin19:05:40
@kranzes:matrix.orgIlan Joselevich (Kranzes) https://noogle.dev 19:07:00
@n8henrie:matrix.orgn8henrie joined the room.23:11:04
28 Apr 2025
@charlotte:vanpetegem.mechvp left the room.14:30:22
29 Apr 2025
@yaya:uwu.is@yaya:uwu.is left the room.11:21:45
@federicodschonborn:matrix.org@federicodschonborn:matrix.org changed their display name from This LEGO® Worm™ is licensed under the terms of the he/him or they/them pronouns, at your choice to This legally distinct plastic brick is licensed under the terms of the he/him or they/them pronouns, at your choice.14:41:15
@anjix:matrix.organji joined the room.19:11:31
@n8henrie:matrix.orgn8henrie

Didn't get any bites in the main channel --

I've been hoping to get this PR working for darwin -- a python / rust (via maturin / PyO3) project that I think just needs to enable the system feature of the libffi-sys crate (same fix as https://github.com/NixOS/nixpkgs/pull/368102).

Unfortunately in this case the libffi-sys crate is a few dependencies deep, and the parent packages don't expose any feature flags to enable libffi/system (which enables libffi-sys/system):

$ cargo tree -i libffi-sys
libffi-sys v3.2.0
├── deno_ffi v0.190.0
│   └── deno_runtime v0.211.0
│       └── vl-convert-rs v1.7.0 (/private/tmp/nix-build-python3.12-vl-convert-python-1.7.0.drv-0/source/vl-convert-rs)
│           ├── vl-convert v1.7.0 (/private/tmp/nix-build-python3.12-vl-convert-python-1.7.0.drv-0/source/vl-convert)
│           └── vl-convert-python v1.7.0 (/private/tmp/nix-build-python3.12-vl-convert-python-1.7.0.drv-0/source/vl-convert-python)
└── libffi v4.0.0
    └── deno_ffi v0.190.0 (*)

Any suggestions for enabling this feature flag a few dependency layers deep?

19:41:12
@qyliss:fairydust.spaceAlyssa RossI think you can do it by setting it in the top level Cargo.toml19:42:59
@r522:matrix.org@r522:matrix.org

if it's not exposed, you can take a dep on libffi-sys directly yourself, and set the feature there

(that's more fragile since you need to use the same version as exists in the dependency, ideally the dependencies would let you pass the system feature)

20:52:24
@n8henrie:matrix.orgn8henrie
In reply to @qyliss:fairydust.space
I think you can do it by setting it in the top level Cargo.toml
I'll try, thanks!
21:53:39
@n8henrie:matrix.orgn8henrie
In reply to @r522:matrix.org

if it's not exposed, you can take a dep on libffi-sys directly yourself, and set the feature there

(that's more fragile since you need to use the same version as exists in the dependency, ideally the dependencies would let you pass the system feature)

Do you mean a nix dependency? Or in cargo.toml as suggested by Alyssa Ross?
21:54:32
@r522:matrix.org@r522:matrix.orgin cargo.toml, yeah21:54:58
30 Apr 2025
@reckenrode:matrix.orgRandy Eckenrode Can you modify the crate source in rustPlatform.fetchCargoVendor? 00:26:52
@reckenrode:matrix.orgRandy Eckenrode * Can you modify the crate source in rustPlatform.fetchCargoVendor to enable the feature? 00:26:59
@n8henrie:matrix.orgn8henrie
In reply to @reckenrode:matrix.org
Can you modify the crate source in rustPlatform.fetchCargoVendor?
I tried tinkering around in the vendor directory but it made cargo in my nix-shell unhappy. I will try again, and see if I can find examples of this approach.
01:02:08
@sheeldotme:matrix.orgsheeldotme joined the room.14:20:07
@saiko:knifepoint.net@saiko:knifepoint.net changed their profile picture.16:18:19
@n8henrie:matrix.orgn8henrie Alyssa Ross 522 Randy Eckenrode think I got it! Thanks for the pointers. https://github.com/NixOS/nixpkgs/pull/397233#issuecomment-2843354952 21:46:48
1 May 2025
@tomasajt:matrix.orgTomahttps://github.com/NixOS/nixpkgs/pull/373541 Anyone have anything against this PR?00:25:44
@jaen:matrix.orgjaen joined the room.14:17:29
@jaen:matrix.orgjaen Hello, anybody knows if there's a way with Crane (or anything else, really, it's just what I started out with) to have two separate Crago projects, repos/dep and repos/app and have it somehow provide dep to app when doing cargo build without having to change it to a path dependency in Cargo.toml? I've seen something about registry injection in the docs, but it seems that only works for actual, hosted registries and I don't see a way to inject a dependency built separately that way. And so far haven't found anything promising other than that yet. I'm basically trying to see if I can develop two (or more) things side-by-side without forcing any of the projects to be aware of the other at Rust level (my nix setup is external to the projects), so I don't have to worry about accidentally sending some local changes upstream. 14:17:58
@jaen:matrix.orgjaen Also, incidentally, anybody has a good guide/flowchart/checklist/something that makes it easier to know how to structure your data in Rust, especially in a concurrent setting? I've been following the language from back when it was still written in OCaml, so I'd say I have a reasomable high-level understanding of it's concepts, but I also never ended up writing anything non-trivial in it, so I haven't really developed a practical intuition for all those concepts. And when you're trying to write something non-trivial it quickly gets painful — is reference enough in this case or not, should I keep annotating things with lifetimes until it compiles or is that overkill, it seems I'm running afoul of the "multiple immutable XOR single mutable" thing should I maybe use some smart pointer type instead or refactor the code and if so then how, okay I guess I should use Arc<RwLock<_>> but now I have borrow_mut() littered everywhere and for some reason it still thinks my lock guard lives longer than it feels to me it does. This kind of stuff. If there's anything that got any of y'all over this hump and into actuall knowing how to work with the language to structure your data properly, I'd appreciate links. 14:18:07
@charles:computer.surgeryCharles For general rust stuff you may be interested in joining #rust:matrix.org 18:20:03
@charles:computer.surgeryCharlesFor the first message maybe you just want to use cargo's git dependencies feature to depend on the stuff from the other repo18:21:02
@charles:computer.surgeryCharlesIt's not really clear to me what exactly you're trying to achieve. You have two unrelated git repos with rust projects and you want to tie them together in a third repository with nix code?18:22:28

Show newer messages


Back to Room ListRoom Version: 6