From 5715d608831c8b9f1101568efbdca0cf32b7ebc9 Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Sat, 27 Sep 2025 23:26:03 +0200 Subject: [PATCH] Added makerom to flake --- flake.lock | 17 +++++++++++++++++ flake.nix | 54 ++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 61 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index c17892d..dda97c7 100644 --- a/flake.lock +++ b/flake.lock @@ -55,6 +55,22 @@ "type": "github" } }, + "makerom": { + "flake": false, + "locked": { + "lastModified": 1756011173, + "narHash": "sha256-nPRUwJwHA6cwGb0nocdCde7vfgxoRJF9T90mgEOMYu4=", + "owner": "3DSGuy", + "repo": "Project_CTR", + "rev": "f55e0fbc00f12ffb77f7af869f93472bed320ac6", + "type": "github" + }, + "original": { + "owner": "3DSGuy", + "repo": "Project_CTR", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1751949589, @@ -91,6 +107,7 @@ "inputs": { "devkitNix": "devkitNix", "flake-utils": "flake-utils_2", + "makerom": "makerom", "nixpkgs": "nixpkgs_2" } }, diff --git a/flake.nix b/flake.nix index b63d103..084b2e5 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,10 @@ 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 = { @@ -10,6 +14,7 @@ nixpkgs, flake-utils, devkitNix, + makerom, ... }: flake-utils.lib.eachDefaultSystem ( @@ -23,18 +28,47 @@ pkgs.mkShell.override { stdenv = pkgs.devkitNix.stdenvARM; } { - packages = with pkgs; [imagemagick]; + packages = [self.packages.${pkgs.system}.makerom]; }; - packages.default = pkgs.devkitNix.stdenvARM.mkDerivation { - name = "somding"; - src = ./.; - buildInputs = [pkgs.imagemagick pkgs.which]; + packages = { + default = pkgs.devkitNix.stdenvARM.mkDerivation { + name = "print3d"; + src = ./.; + buildInputs = [pkgs.imagemagick pkgs.which]; - # makeFlags = ["TARGET=example"]; - installPhase = '' - mkdir $out - cp 3ds.3dsx $out - ''; + # 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 + ''; + }; }; } );