!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

675 Members
Rust155 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
9 Jan 2026
@magnetophon:matrix.orgmagnetophon

I'm trying to package https://github.com/zbanks/radiance

{
  lib,
  rustPlatform,
  fetchFromGitHub,
  pkg-config,
  # autoPatchelfHook,
  libxkbcommon,
  mpv-unwrapped,
  vulkan-loader,
  stdenv,
  darwin,
  alsa-lib,
  wayland,
  xorg,
  yt-dlp,
}:

rustPlatform.buildRustPackage rec {
  pname = "radiance";
  version = "0.7.0";

  src = fetchFromGitHub {
    owner = "zbanks";
    repo = "radiance";
    rev = version;
    hash = "sha256-itBBUKwJAWfLPXZaJ65UbabDoZUUZtZm8bGAU0joVsQ=";
  };

  cargoLock.lockFile = ./Cargo.lock;

  postPatch = ''
    ln -s ${./Cargo.lock} Cargo.lock
  '';

  nativeBuildInputs = [
    pkg-config
    # autoPatchelfHook
  ];

  buildInputs =
    [
      mpv-unwrapped
      vulkan-loader
      libxkbcommon
    ]
    ++ lib.optionals stdenv.isLinux [
      alsa-lib
      wayland

      # X11 / XCB stack (required by winit + xkbcommon-dl)
      xorg.libX11
      xorg.libXcursor
      xorg.libXi
      xorg.libXrandr
      xorg.libXinerama
      xorg.libXpresent
      xorg.libXfixes
      xorg.libXext
      # xorg.libXss
      xorg.libxcb
      # xorg.libX11-xcb
    ]
    ++ lib.optionals stdenv.isDarwin [
      darwin.apple_sdk.frameworks.AppKit
      darwin.apple_sdk.frameworks.CoreGraphics
      darwin.apple_sdk.frameworks.CoreServices
      darwin.apple_sdk.frameworks.Foundation
      darwin.apple_sdk.frameworks.Metal
      darwin.apple_sdk.frameworks.QuartzCore
    ];

  propagatedUserEnvPkgs = [
    yt-dlp
  ];

  # Floating-point exact-equality bugs upstream
  doCheck = false;

  meta = {
    description = "Video art software for VJs";
    homepage = "https://github.com/zbanks/radiance";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ magnetophon ];
    mainProgram = "radiance";
  };
}

When I run it, I get:

❯ radiance

thread 'main' (1930947) panicked at /build/cargo-vendor-dir/xkbcommon-dl-0.4.2/src/x11.rs:59:28:
Library libxkbcommon-x11.so could not be loaded.
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: xkbcommon_dl::x11::xkbcommon_x11_handle
   4: std::sync::poison::once::Once::call_once_force::{{closure}}
   5: std::sys::sync::once::futex::Once::call
   6: std::sync::once_lock::OnceLock<T>::initialize
   7: winit::platform_impl::linux::common::xkb::Context::from_x11_xkb
   8: winit::platform_impl::linux::EventLoop<T>::new
   9: radiance::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Any ideas on how to fix that?

15:36:38
@epiceric:nixos.devEpic EricI think you need to put libxkbcommon as a nativeBuildInput so it's available as a runtime dep15:38:49
@k900:0upti.meK900That's not what nativeBuildInputs do15:39:14
@k900:0upti.meK900And you probably need to add it to rpath15:39:18
@epiceric:nixos.devEpic EricOops15:39:22
@magnetophon:matrix.orgmagnetophon

Thanks.
Like this?

  preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
    patchelf \
      --set-rpath "${lib.makeLibraryPath buildInputs}:$out/lib" \
      $out/bin/radiance
  '';

15:43:40
@k900:0upti.meK900 buildInputs is suboptimal 15:44:01
@k900:0upti.meK900You probably want only the things it dlopens15:44:08
@magnetophon:matrix.orgmagnetophonok, thanks. I'll see if it runs with this (already building), and then minimize it.15:44:54
@magnetophon:matrix.orgmagnetophon

I still get:

❯ radiance

thread 'main' (2015441) panicked at /build/cargo-vendor-dir/xkbcommon-dl-0.4.2/src/x11.rs:59:28:
Library libxkbcommon-x11.so could not be loaded.
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: xkbcommon_dl::x11::xkbcommon_x11_handle
   4: std::sync::poison::once::Once::call_once_force::{{closure}}
   5: std::sys::sync::once::futex::Once::call
   6: std::sync::once_lock::OnceLock<T>::initialize
   7: winit::platform_impl::linux::common::xkb::Context::from_x11_xkb
   8: winit::platform_impl::linux::EventLoop<T>::new
   9: radiance::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Any ideas?

15:49:40
@k900:0upti.meK900 And libxkbcommon is in your buildInputs? 15:50:24
@magnetophon:matrix.orgmagnetophonThis is with this snippet, so AFAIK all my buildInputs are in the rpath now.15:52:16

Show newer messages


Back to Room ListRoom Version: 6