Conversation
There was a problem hiding this comment.
| let | |
| pname = "tauray"; | |
| version = "1.0.1"; | |
| in | |
| stdenv.mkDerivation { | |
| stdenv.mkDerivation (finalAttrs: { |
There was a problem hiding this comment.
| pname = pname; | |
| version = version; | |
| pname = "tauray"; | |
| version = "1.0.1"; |
There was a problem hiding this comment.
| rev = "v${version}"; | |
| rev = "v${finalAttrs.version}"; |
There was a problem hiding this comment.
| description = "Tauray is a real-time rendering framework, with a focus on distributed computing, scalability, portability and low latency."; | |
| description = "A real-time rendering framework, with a focus on distributed computing, scalability, portability and low latency"; |
There was a problem hiding this comment.
Darwin is untested and kind of pointless since moltenVK does not have ray tracing extensions available (for now) but it should work and there is a rasterizer mode too, so adding the platform anyway.
2accb2f to
3249aa4
Compare
There was a problem hiding this comment.
| description = "A real-time rendering framework, with a focus on distributed computing, scalability, portability and low latency."; | |
| description = "A real-time rendering framework, with a focus on distributed computing, scalability, portability and low latency"; |
| stdenv.mkDerivation (finalAttrs: { | ||
| pname = "tauray"; | ||
| version = "1.0.1"; | ||
|
|
||
| src = fetchFromGitHub { | ||
| owner = "vga-group"; | ||
| repo = "tauray"; | ||
| rev = "v${finalAttrs.version}"; | ||
| sha256 = "sha256-Q3Dv96iptDvmBp9mIVSYzb7EnIzD1kFejwrFuc1HqdU="; | ||
| fetchSubmodules = true; |
There was a problem hiding this comment.
| stdenv.mkDerivation (finalAttrs: { | |
| pname = "tauray"; | |
| version = "1.0.1"; | |
| src = fetchFromGitHub { | |
| owner = "vga-group"; | |
| repo = "tauray"; | |
| rev = "v${finalAttrs.version}"; | |
| sha256 = "sha256-Q3Dv96iptDvmBp9mIVSYzb7EnIzD1kFejwrFuc1HqdU="; | |
| fetchSubmodules = true; | |
| stdenv.mkDerivation { | |
| pname = "tauray"; | |
| version = "1.0.1"; | |
| src = fetchFromGitHub { | |
| owner = "vga-group"; | |
| repo = "tauray"; | |
| rev = "v${version}"; | |
| fetchSubmodules = true; | |
| sha256 = "sha256-Q3Dv96iptDvmBp9mIVSYzb7EnIzD1kFejwrFuc1HqdU="; |
We have multiple of those submodules in nixpkgs https://github.com/vga-group/tauray/blob/main/.gitmodules
There was a problem hiding this comment.
How would I go about fetching only the ones that aren't in nixpkgs? Some of them also break compatibility frequently so they need to be pinned to specific versions according to upstream.
There was a problem hiding this comment.
The fetcher has no support for that. If it is only one it can be manually done. If there are multiple that is cumbersome. Are there options to build with a system variant? If not we could rm the replaced submodules in postFetch and then symlink ours into place.
There was a problem hiding this comment.
Unfortunately there are no options for that. I'd have to PR such a change upstream first.
IIRC when I asked about it the response I got was that vulkan-headers need to be pinned since tauray uses the C++ bindings which have changed multiple times without warning and glslang is used through its library interface which is unstable. Spirv-headers and OpenXR-SDK are probably okay to replace with a packaged version. fuchsia_radix_sort would need to be packaged manually but there are no changes on the horizon to it so it should be quite safe too.
Description of changes
Real-time path tracer based on vulkan and its hardware-accelerated ray tracing extensions: https://github.com/vga-group/tauray
Draft until #196854 is merged since this won't build without it.
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes