| 15 Apr 2026 |
zoë (she/her) | Redacted or Malformed Event | 10:50:43 |
zoë (she/her) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
| 10:50:51 |
zoë (she/her) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~] $ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:53:55 |
zoë (she/her) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~]$ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:54:23 |
zoë (she/her) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; };
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~]$ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:55:24 |
dramforever | stdenv.cc is the toolchain | 13:01:19 |
dramforever | but otherwise yeah pkgsCross.riscv32.mkShell should get you what you want | 13:03:23 |
zoë (she/her) | yeah idk what i did, i was just confused | 13:03:49 |
zoë (she/her) | my actual code was more complicated than just an empty mkShell, but working my way back up to it rather than trying to force the existing code into cross-compilation worked better | 13:05:02 |
zoë (she/her) | * my actual nix code was more complicated than just an empty mkShell, but working my way back up to it rather than trying to force the existing nnix code into cross-compilation worked better | 13:06:44 |
Alex | cc is never a cross compiler in Nixpkgs. That cc probably comes from pkgsBuildBuild and exists so that builds can compile build tools that they can then use later in the build.
Yes, anything that hardcodes cc (or worse gcc) needs to be patched to support cross. | 13:09:08 |
| @rasmata:matrix.org joined the room. | 21:44:25 |
| @rasmata:matrix.org left the room. | 21:44:28 |
| 18 Apr 2026 |
| mlyx joined the room. | 12:39:21 |