diff --git a/README.md b/README.md index 66218c3..c59b6c2 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,14 @@ nix build .#checks.x86_64-linux-x86_64-genode.nova-solo5-net.xml nix build .#checks.x86_64-linux-x86_64-genode.nova-solo5-net.sotest ``` +# Tips and tricks + +## Build a Genode Labs Make target + +```shell +nix app genodepkgs#genode-make "test/bomb" +``` + # Glossary Some of terms that follow are necessary for understanding packaging methodology, diff --git a/apps/default.nix b/apps/default.nix index 83d93bb..20e39e9 100644 --- a/apps/default.nix +++ b/apps/default.nix @@ -43,6 +43,11 @@ let in dhallApps // { + genode-make = { + type = "app"; + program = nixpkgs.buildPackages.callPackage ./genode-make { }; + }; + linux-image = let drv = import ./linux-image { apps = self; diff --git a/apps/genode-make/default.nix b/apps/genode-make/default.nix new file mode 100644 index 0000000..065dade --- /dev/null +++ b/apps/genode-make/default.nix @@ -0,0 +1,6 @@ +{ writeScriptBin, runtimeShell }: + +writeScriptBin "genode-make" '' + #!${runtimeShell} + exec nix build -f ${./make.nix} --argstr target $@ +'' + "/bin/genode-make" diff --git a/apps/genode-make/make.nix b/apps/genode-make/make.nix new file mode 100644 index 0000000..cdc4535 --- /dev/null +++ b/apps/genode-make/make.nix @@ -0,0 +1,5 @@ +{ target }: +let + flake = getFlake "genodepkgs"; + pkgs = flake.packages."${builtins.currentSystem}-x86_64-genode"; +in pkgs.genodeSources.make target