diff --git a/README.md b/README.md index e94e456..b89115e 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,14 @@ echo ./config.dhall | nix app genodepkgs#render-init > config.xml nix app genodepkgs#genode-make "test/bomb" ``` +## Enter an environment compatible with the Genode Labs build scripts + +```shell +nix dev-shell genodepkgs +cd $GENODE_DIR +make -C build/x86_64 run/bomb +``` + # Glossary Some of terms that follow are necessary for understanding packaging methodology, diff --git a/flake.lock b/flake.lock index 02b848c..ab555b3 100644 --- a/flake.lock +++ b/flake.lock @@ -38,13 +38,13 @@ }, "nixpkgsUpstream": { "info": { - "lastModified": 1584464280, - "narHash": "sha256-ovYhaoANbsuIRik2zOe5Sxhn0eu5PnExP4IhAJxRUW0=" + "lastModified": 1584695415, + "narHash": "sha256-qIofBjFM7MZLyKrUq3rCauF8GpAsqKfIzzVX2hDA0a4=" }, "locked": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "7806df1e5f5d49864d917497a4cd2f5ec1a359f8", + "rev": "a08d4f605bca62c282ce9955d5ddf7d824e89809", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f8091ea..be80cef 100644 --- a/flake.nix +++ b/flake.nix @@ -32,11 +32,37 @@ depot = thisSystem genode-depot.packages; }; - devShell = legacyPackages.mkShell { - nativeBuildInputs = [ - nixpkgs.legacyPackages.${localSystem}.dhall - packages.dhallGenode - ]; + devShell = let + pkgs = nixpkgsUpstream.legacyPackages.x86_64-linux; + fhs = pkgs.buildFHSUserEnv { + name = "genode-env"; + targetPkgs = pkgs: + (with pkgs; [ + binutils + bison + expect + flex + git + glibc.dev + gnumake + libxml2 + qemu + tcl + which + xorriso + ]); + runScript = "bash"; + extraBuildCommands = let + toolchain = pkgs.fetchzip { + url = "file:///" + packages.genodeSources.toolchain.src; + hash = "sha256-26rPvLUPEJm40zLSqTquwuFTJ1idTB0T4VXgaHRN+4o="; + }; + in "ln -s ${toolchain}/local usr/local"; + }; + in pkgs.stdenv.mkDerivation { + name = "genode-fhs-shell"; + nativeBuildInputs = [ fhs ]; + shellHook = "exec genode-env"; }; apps = import ./apps { diff --git a/packages/genodelabs/default.nix b/packages/genodelabs/default.nix index 316e81e..171dd9f 100644 --- a/packages/genodelabs/default.nix +++ b/packages/genodelabs/default.nix @@ -152,6 +152,7 @@ in { targets = [ target ]; } // attrs); inherit ports; + toolchain = sourceForgeToolchain; }; } diff --git a/packages/genodelabs/toolchain.nix b/packages/genodelabs/toolchain.nix index ed5f5cc..c8af4b8 100644 --- a/packages/genodelabs/toolchain.nix +++ b/packages/genodelabs/toolchain.nix @@ -70,6 +70,6 @@ let wrapped = wrapCC cc; - wrapped' = wrapped.overrideAttrs (attrs: { inherit (cc) targetPrefix; }); + wrapped' = wrapped.overrideAttrs (attrs: { inherit (cc) src targetPrefix; }); in wrapped'