75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
devkitNix.url = "github:bandithedoge/devkitNix";
|
|
makerom = {
|
|
flake = false;
|
|
url = "github:/3DSGuy/Project_CTR";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
devkitNix,
|
|
makerom,
|
|
...
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [devkitNix.overlays.default];
|
|
};
|
|
in {
|
|
devShells.default =
|
|
pkgs.mkShell.override {
|
|
stdenv = pkgs.devkitNix.stdenvARM;
|
|
} {
|
|
packages = [self.packages.${pkgs.system}.makerom];
|
|
};
|
|
packages = {
|
|
default = pkgs.devkitNix.stdenvARM.mkDerivation {
|
|
name = "print3d";
|
|
src = ./.;
|
|
buildInputs = [pkgs.imagemagick pkgs.which];
|
|
|
|
# makeFlags = ["TARGET=example"];
|
|
installPhase = ''
|
|
mkdir $out
|
|
cp 3ds.3dsx $out
|
|
'';
|
|
};
|
|
makerom =
|
|
pkgs.stdenv.mkDerivation
|
|
{
|
|
name = "makerom";
|
|
src = "${makerom}/makerom";
|
|
|
|
buildInputs = let
|
|
pkgDep = name:
|
|
pkgs.stdenv.mkDerivation {
|
|
inherit name;
|
|
src = "${makerom}/makerom/deps/${name}";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/lib
|
|
cp bin/${name}.a $out/lib
|
|
'';
|
|
};
|
|
in [
|
|
(pkgDep "libblz")
|
|
(pkgDep "libmbedtls")
|
|
(pkgDep "libyaml")
|
|
];
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp bin/makerom $out/bin
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
);
|
|
}
|