try fixing flake
This commit is contained in:
@@ -3,48 +3,126 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
self.submodules = true;
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs }:
|
||||
{ nixpkgs, ... }:
|
||||
let
|
||||
systems = [ "x86_64-linux" ];
|
||||
system = "x86_64-linux";
|
||||
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
staticPkgs = pkgs.pkgsStatic;
|
||||
|
||||
mruby = staticPkgs.stdenv.mkDerivation {
|
||||
pname = "mruby";
|
||||
version = "0.0.1";
|
||||
|
||||
src = staticPkgs.lib.cleanSourceWith {
|
||||
src = ./libs;
|
||||
name = "mruby-src";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./libs/changes.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
ruby
|
||||
gnumake
|
||||
clang
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
cd mruby
|
||||
rake
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
|
||||
cp -r build/host/lib $out/lib
|
||||
cp -r build/host/include $out/include
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp build/host/bin/mrbc $out/bin/mrbc
|
||||
'';
|
||||
};
|
||||
|
||||
game-engine = staticPkgs.stdenv.mkDerivation {
|
||||
pname = "game-engine";
|
||||
version = "0.1.0";
|
||||
|
||||
src = ./.;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
clang
|
||||
pkg-config
|
||||
gnumake
|
||||
bear
|
||||
ccache
|
||||
xxd
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pkgs.sdl3
|
||||
pkgs.sdl3-ttf
|
||||
pkgs.sdl3-image
|
||||
|
||||
mruby
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
make \
|
||||
MRBC=${mruby}/bin/mrbc \
|
||||
MRUBY_INCLUDE=${mruby}/include \
|
||||
MRUBY_LIB=${mruby}/lib/libmruby.a
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp game-engine $out/bin/game-engine
|
||||
'';
|
||||
|
||||
CC = "${pkgs.clang}/bin/clang";
|
||||
CXX = "${pkgs.clang}/bin/clang++";
|
||||
};
|
||||
|
||||
forAllSystems =
|
||||
f:
|
||||
nixpkgs.lib.genAttrs systems (
|
||||
system:
|
||||
f (
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
}
|
||||
)
|
||||
);
|
||||
in
|
||||
{
|
||||
devShells = forAllSystems (pkgs: {
|
||||
default = pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
clang-tools
|
||||
clang
|
||||
ccache
|
||||
pkg-config
|
||||
gnumake
|
||||
ruby
|
||||
xxd
|
||||
bear
|
||||
packages.${system} = {
|
||||
default = game-engine;
|
||||
game-engine = game-engine;
|
||||
mruby = mruby;
|
||||
};
|
||||
|
||||
sdl3
|
||||
sdl3-ttf
|
||||
sdl3-image
|
||||
];
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
inputsFrom = [ game-engine ];
|
||||
|
||||
shellHook = ''
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
export LD=clang
|
||||
'';
|
||||
};
|
||||
});
|
||||
packages = [
|
||||
pkgs.clang-tools
|
||||
pkgs.clang
|
||||
pkgs.ccache
|
||||
pkgs.pkg-config
|
||||
pkgs.gnumake
|
||||
pkgs.bear
|
||||
pkgs.ruby
|
||||
pkgs.xxd
|
||||
|
||||
pkgs.sdl3
|
||||
pkgs.sdl3-ttf
|
||||
pkgs.sdl3-image
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
export LD=clang
|
||||
|
||||
export MRBC=${mruby}/bin/mrbc
|
||||
export MRUBY_INCLUDE=${mruby}/include
|
||||
export MRUBY_LIB=${mruby}/lib/libmruby.a
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user