mirror of
https://github.com/NixOS/mobile-nixos.git
synced 2024-12-17 04:51:31 +03:00
9f50617ba7
Turns out that `mruby`'s require looks at the actual file name (not the link) when deciding between loading bytecode or ruby code. Cross-compilation appends the system to derivation names. Fun ensues. This fixes the issue by using `runCommand`, for which it doesn't happen.
21 lines
454 B
Nix
21 lines
454 B
Nix
{ runCommand
|
|
, lib
|
|
, mruby
|
|
}:
|
|
|
|
# mkDerivation will append something like -aarch64-unknown-linux-gnu to the
|
|
# derivation name with cross, which will break the mruby code loading.
|
|
# Since we don't need anything from mkDerivation, really, let's use runCommand.
|
|
runCommand "boot-gui.mrb" {
|
|
src = lib.cleanSource ./.;
|
|
|
|
nativeBuildInputs = [
|
|
mruby
|
|
];
|
|
} ''
|
|
mrbc \
|
|
-o $out \
|
|
$(find $src/lib -type f -name '*.rb' | sort) \
|
|
$src/main.rb
|
|
''
|