From 7f30ff1fedf7c499e41adb4ac5cad0aaaf0c31d1 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 24 Feb 2020 14:19:57 +0100 Subject: [PATCH] Tweak Genode upstream build wrapper --- packages/default.nix | 10 ++++------ packages/genodelabs/default.nix | 13 ++++++------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/packages/default.nix b/packages/default.nix index da36661..e1ca98a 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -5,7 +5,8 @@ let inherit (legacyPackages) callPackage; - dhallPackages = legacyPackages.dhallPackages // (callPackage ./dhall { inherit dhallApps; }); + dhallPackages = legacyPackages.dhallPackages + // (callPackage ./dhall { inherit dhallApps; }); mkDhallManifest = drv: legacyPackages.runCommand "${drv.name}.dhall" { inherit drv; } @@ -30,8 +31,7 @@ in rec { arch = "x86_64"; kernel = "hw"; board = "pc"; - targets = [ "bootstrap" "core" "timer" ]; - libTargets = [ "ld-hw" ]; + targets = [ "bootstrap" "core" "timer" "lib/ld" ]; postInstall = '' mkdir -p $out/lib mv $out/bin/*.o $out/lib/ @@ -43,9 +43,7 @@ in rec { name = "base-nova"; arch = "x86_64"; kernel = "nova"; - board = "pc"; - targets = [ "core" "timer" ]; - libTargets = [ "ld-nova" ]; + targets = [ "core" "timer" "lib/ld" ]; postInstall = '' mkdir -p $out/lib mv $out/bin/*.o $out/lib/ diff --git a/packages/genodelabs/default.nix b/packages/genodelabs/default.nix index cd977a7..5b8be44 100644 --- a/packages/genodelabs/default.nix +++ b/packages/genodelabs/default.nix @@ -1,7 +1,6 @@ { nixpkgs, apps }: -{ name, targets, libTargets ? [ ], arch ? "x86_64", kernel ? "linux" -, board ? "pc", ... }@extraAttrs: +{ name, targets, arch, kernel ? "hw", board ? "pc", patches ? [], ... }@extraAttrs: let sourceForgeToolchain = nixpkgs.buildPackages.callPackage ./../genode/toolchain.nix { }; @@ -17,7 +16,7 @@ let in stdenvGcc.mkDerivation ({ outputs = [ "out" "manifest" ]; pname = name; - inherit version targets libTargets; + inherit version targets; src = nixpkgs.fetchFromGitHub { owner = "genodelabs"; repo = "genode"; @@ -25,7 +24,7 @@ in stdenvGcc.mkDerivation ({ sha256 = "0j0wfwqmv8mivfkpra1pb02a8dy1nnsakr3v6l5y964dfkq3737i"; }; - patches = [ ./unlabeled-log.patch ]; + patches = [ ./unlabeled-log.patch ] ++ patches; nativeBuildInputs = with nixpkgs.buildPackages; [ binutils tcl which ]; @@ -39,6 +38,8 @@ in stdenvGcc.mkDerivation ({ substituteInPlace tool/check_abi \ --replace "exec nm" "exec ${toolPrefix}nm" ./tool/create_builddir ${arch} BUILD_DIR=build + substituteInPlace build/etc/build.conf \ + --replace "#REPOSITORIES" "REPOSITORIES" ''; makeFlags = [ "-C build" "KERNEL=${kernel}" "BOARD=${board}" ]; @@ -51,15 +52,13 @@ in stdenvGcc.mkDerivation ({ $makeFlags ''${makeFlagsArray+"''${makeFlagsArray[@]}"} $buildFlags ''${buildFlagsArray+"''${buildFlagsArray[@]}"} ) - for LIB in $libTargets; do - make "''${flagsArray[@]}" LIB=$LIB - done make "''${flagsArray[@]}" $targets runHook postBuild ''; installPhase = '' runHook preInstall + find -name '*.xsd' -delete find build/bin -execdir install -Dt $out/bin '{}' \; runHook postInstall ${apps.generate-manifest.program} $out > $manifest