Skip to content

tauray: init at 1.0.1#196855

Closed
jansol wants to merge 1 commit intoNixOS:masterfrom
jansol:tauray
Closed

tauray: init at 1.0.1#196855
jansol wants to merge 1 commit intoNixOS:masterfrom
jansol:tauray

Conversation

@jansol
Copy link
Contributor

@jansol jansol commented Oct 20, 2022

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
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Oct 20, 2022
Comment on lines 23 to 27
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let
pname = "tauray";
version = "1.0.1";
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {

Comment on lines 28 to 29
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pname = pname;
version = version;
pname = "tauray";
version = "1.0.1";

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rev = "v${version}";
rev = "v${finalAttrs.version}";

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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";

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

platforms?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 67 to 65
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}
})

@jansol jansol force-pushed the tauray branch 2 times, most recently from 2accb2f to 3249aa4 Compare October 25, 2022 21:20
@ofborg ofborg bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. labels Oct 25, 2022
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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";

Comment on lines +23 to +32
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;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Mar 19, 2024
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 9, 2024
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Nov 9, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 1, 2025
@jansol jansol closed this Aug 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments