!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

659 Members
Rust148 Servers

Load older messages


SenderMessageTime
8 Jan 2026
@drupol:matrix.orgPolI always forgot about the Nix Rust room! 13:08:59
@drupol:matrix.orgPolI posted this (https://gist.github.com/drupol/41bef4037d1d4c116f5ffa6df6493e28) in the main Nix room, but I guess I should have posted it here.13:09:20
@drupol:matrix.orgPol I'm trying to understand why overriding oldAttr.cargoDeps does not work. Can you help ? 13:09:45
@wilhelmines:matrix.orgwilhelmines joined the room.16:55:35
@pltrz_:matrix.orgpltrz set a profile picture.23:50:14
9 Jan 2026
@pltrz_:matrix.orgpltrz changed their profile picture.00:00:45
@theo-paris:matrix.orgTheo ParisI am trying to test the compilation of the Redox OS libc package (https://gist.github.com/theoparis/bbee869f1647e5c14a614d73ba9e6fd0) and I ran into an infinite recursion error that seems to be coming from inside of buildRustPackage. I guess no one has tried packaging a libc with it before... Is this something that I'm doing wrong or would it need to be fixed inside of the nixpkgs rust handling code?07:07:48
@theo-paris:matrix.orgTheo Paris* I am trying to test the cross compilation of the Redox OS libc package (https://gist.github.com/theoparis/bbee869f1647e5c14a614d73ba9e6fd0) and I ran into an infinite recursion error that seems to be coming from inside of buildRustPackage. I guess no one has tried packaging a libc with it before... Is this something that I'm doing wrong or would it need to be fixed inside of the nixpkgs rust handling code?07:07:56
@theo-paris:matrix.orgTheo Paris* I am trying to test the cross compilation of the Redox OS libc package (https://gist.github.com/theoparis/bbee869f1647e5c14a614d73ba9e6fd0) and I ran into an infinite recursion error that seems to be coming from inside of buildRustPackage. I guess no one has tried packaging a libc with it before... Is this something that I'm doing wrong or would it need to be fixed inside of the nixpkgs rust handling code somehow?07:08:21
@eveeifyeve:matrix.orgeveeifyeve joined the room.08:16:38
@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
@k900:0upti.meK900 But what is in your buildInputs? 15:53:02
@magnetophon:matrix.orgmagnetophon
  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
    ];
15:53:35
@k900:0upti.meK900Hmm weird15:54:29
@k900:0upti.meK900 What does patchelf --print-rpath $out/bin/radiance say? 15:54:38
@magnetophon:matrix.orgmagnetophonpatchelf --print-rpath /nix/store/yhg16w5915bbvpadk8ibxj9x8kria7pw-radiance-0.7.0/bin/radiance /nix/store/5vwc8q3c7hn7s01qbpsicv4zjk3p2nci-mpv-0.41.0/lib:/nix/store/f0mf3rlv29ql40qx36kqd2jzabd1m0s0-alsa-lib-1.2.14/lib:/nix/store/ii3ybky5dqjikcrw7vdnh1j76ssy0ycm-libx11-1.8.12/lib15:55:40
@magnetophon:matrix.orgmagnetophonhmm, so it's missing a lot, right? 15:56:02
@k900:0upti.meK900OK so that's not in there15:56:03
@k900:0upti.meK900That's interesting15:56:07

Show newer messages


Back to Room ListRoom Version: 6