Comments (9)
@evanjs Just wondering, but in this particular line of Rust:
include!(concat!(env!("OUT_DIR"), "/build.rs"));
Did you intend to write this?
include!(concat!(env!("OUT_DIR"), "/hello.rs"));
I don't think it makes sense to include!()
a build script into your src/main.rs
and expect it to successfully compile.
from crate2nix.
It's okay! Looks like that line was fixed when the example was committed into master
anyway.
from crate2nix.
Is there any workaround for this? It's not even possible to override the src
attribute for dependencies properly without patching the generated Nix file, as far as I can tell.
from crate2nix.
I submitted a pull request for that to nixpkgs: NixOS/nixpkgs#82155
If you do not want to wait for this, you can override the "workspace_member" argument of buildRustCrate which allows specifying a subdirectory.
from crate2nix.
It landed on master but not yet on nixpkgs-unstable
. nixpkgs-unstable
is behind roughly a week currently.
Fix is waiting here:
https://github.com/kolloch/crate2nix/tree/pkolloch-auto-workspace-member
from crate2nix.
Merged :)
from crate2nix.
Thank you! I can reproduce.
This is due to the crate being in a subpath. Cargo actually looks for a matching Cargo.toml, apparently:
rust-lang/cargo#1462 (comment)
That is a bit crazy but should be supportable in buildRustCrate
.
Feel free to add.
from crate2nix.
Ah yes I suppose that wasn't the best example.
For some extra context, this is literally what I'm using right now.
pub mod systemd_manager {
#![allow(unused)]
include!(concat!(env!("OUT_DIR"), "/systemd_manager.rs"));
}
pub mod systemd_service {
#![allow(unused)]
include!(concat!(env!("OUT_DIR"), "/systemd_service.rs"));
}
I must have gotten too caught up in having a minimum reproducible example.
from crate2nix.
@emilazy Did you try overriding the source with defaultCrateOverrides
? To be honest, I am not sure if it works but it could. I'd be really happy if you tried that out and if it worked documented it as a workaround!
I want to work on this anyways, though.
from crate2nix.
Related Issues (20)
- Set custom environment variables in `packages` and `devShells` HOT 1
- rustc 1.73 breaks crate2nix cross compilation HOT 5
- Cargo.nix includes references to ./crate2nix-sources with cargo workspaces HOT 1
- nixpkgs update breaks empty_cross test due to missing `rust` arguement HOT 7
- rstests adds a stray "/sources" to all globbed #[files] HOT 1
- Support path to Cargo.toml/Cargo.lock in fetched sources
- Tarball issue when building or trying to use template. HOT 1
- Error with dep that has a local dep
- Some sort of support for .cargo/config.toml ? HOT 1
- Overriding `crateConfig` for generated `Cargo.nix`
- Crate hash loading from Cargo.lock is broken in Rust 1.77
- Respect cargo profiles / enable debug info in release mode HOT 1
- Allow some crates to access more files than just those in their folder
- IFD is crazy slow due to copying the entire tree HOT 2
- IFD does not work with git deps HOT 2
- Installs `rustc` from nixpkgs when already installed HOT 4
- error: invalid metadata version found HOT 6
- How to push build artifacts to Cachix?
- Crate overides with IFD HOT 1
- Add `crateDescription` to generated crate definition
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crate2nix.