Tweak Genode upstream build wrapper
This commit is contained in:
parent
94868758e5
commit
7f30ff1fed
|
@ -5,7 +5,8 @@
|
||||||
let
|
let
|
||||||
inherit (legacyPackages) callPackage;
|
inherit (legacyPackages) callPackage;
|
||||||
|
|
||||||
dhallPackages = legacyPackages.dhallPackages // (callPackage ./dhall { inherit dhallApps; });
|
dhallPackages = legacyPackages.dhallPackages
|
||||||
|
// (callPackage ./dhall { inherit dhallApps; });
|
||||||
|
|
||||||
mkDhallManifest = drv:
|
mkDhallManifest = drv:
|
||||||
legacyPackages.runCommand "${drv.name}.dhall" { inherit drv; }
|
legacyPackages.runCommand "${drv.name}.dhall" { inherit drv; }
|
||||||
|
@ -30,8 +31,7 @@ in rec {
|
||||||
arch = "x86_64";
|
arch = "x86_64";
|
||||||
kernel = "hw";
|
kernel = "hw";
|
||||||
board = "pc";
|
board = "pc";
|
||||||
targets = [ "bootstrap" "core" "timer" ];
|
targets = [ "bootstrap" "core" "timer" "lib/ld" ];
|
||||||
libTargets = [ "ld-hw" ];
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
mv $out/bin/*.o $out/lib/
|
mv $out/bin/*.o $out/lib/
|
||||||
|
@ -43,9 +43,7 @@ in rec {
|
||||||
name = "base-nova";
|
name = "base-nova";
|
||||||
arch = "x86_64";
|
arch = "x86_64";
|
||||||
kernel = "nova";
|
kernel = "nova";
|
||||||
board = "pc";
|
targets = [ "core" "timer" "lib/ld" ];
|
||||||
targets = [ "core" "timer" ];
|
|
||||||
libTargets = [ "ld-nova" ];
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
mv $out/bin/*.o $out/lib/
|
mv $out/bin/*.o $out/lib/
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ nixpkgs, apps }:
|
{ nixpkgs, apps }:
|
||||||
|
|
||||||
{ name, targets, libTargets ? [ ], arch ? "x86_64", kernel ? "linux"
|
{ name, targets, arch, kernel ? "hw", board ? "pc", patches ? [], ... }@extraAttrs:
|
||||||
, board ? "pc", ... }@extraAttrs:
|
|
||||||
let
|
let
|
||||||
sourceForgeToolchain =
|
sourceForgeToolchain =
|
||||||
nixpkgs.buildPackages.callPackage ./../genode/toolchain.nix { };
|
nixpkgs.buildPackages.callPackage ./../genode/toolchain.nix { };
|
||||||
|
@ -17,7 +16,7 @@ let
|
||||||
in stdenvGcc.mkDerivation ({
|
in stdenvGcc.mkDerivation ({
|
||||||
outputs = [ "out" "manifest" ];
|
outputs = [ "out" "manifest" ];
|
||||||
pname = name;
|
pname = name;
|
||||||
inherit version targets libTargets;
|
inherit version targets;
|
||||||
src = nixpkgs.fetchFromGitHub {
|
src = nixpkgs.fetchFromGitHub {
|
||||||
owner = "genodelabs";
|
owner = "genodelabs";
|
||||||
repo = "genode";
|
repo = "genode";
|
||||||
|
@ -25,7 +24,7 @@ in stdenvGcc.mkDerivation ({
|
||||||
sha256 = "0j0wfwqmv8mivfkpra1pb02a8dy1nnsakr3v6l5y964dfkq3737i";
|
sha256 = "0j0wfwqmv8mivfkpra1pb02a8dy1nnsakr3v6l5y964dfkq3737i";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./unlabeled-log.patch ];
|
patches = [ ./unlabeled-log.patch ] ++ patches;
|
||||||
|
|
||||||
nativeBuildInputs = with nixpkgs.buildPackages; [ binutils tcl which ];
|
nativeBuildInputs = with nixpkgs.buildPackages; [ binutils tcl which ];
|
||||||
|
|
||||||
|
@ -39,6 +38,8 @@ in stdenvGcc.mkDerivation ({
|
||||||
substituteInPlace tool/check_abi \
|
substituteInPlace tool/check_abi \
|
||||||
--replace "exec nm" "exec ${toolPrefix}nm"
|
--replace "exec nm" "exec ${toolPrefix}nm"
|
||||||
./tool/create_builddir ${arch} BUILD_DIR=build
|
./tool/create_builddir ${arch} BUILD_DIR=build
|
||||||
|
substituteInPlace build/etc/build.conf \
|
||||||
|
--replace "#REPOSITORIES" "REPOSITORIES"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [ "-C build" "KERNEL=${kernel}" "BOARD=${board}" ];
|
makeFlags = [ "-C build" "KERNEL=${kernel}" "BOARD=${board}" ];
|
||||||
|
@ -51,15 +52,13 @@ in stdenvGcc.mkDerivation ({
|
||||||
$makeFlags ''${makeFlagsArray+"''${makeFlagsArray[@]}"}
|
$makeFlags ''${makeFlagsArray+"''${makeFlagsArray[@]}"}
|
||||||
$buildFlags ''${buildFlagsArray+"''${buildFlagsArray[@]}"}
|
$buildFlags ''${buildFlagsArray+"''${buildFlagsArray[@]}"}
|
||||||
)
|
)
|
||||||
for LIB in $libTargets; do
|
|
||||||
make "''${flagsArray[@]}" LIB=$LIB
|
|
||||||
done
|
|
||||||
make "''${flagsArray[@]}" $targets
|
make "''${flagsArray[@]}" $targets
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
find -name '*.xsd' -delete
|
||||||
find build/bin -execdir install -Dt $out/bin '{}' \;
|
find build/bin -execdir install -Dt $out/bin '{}' \;
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
${apps.generate-manifest.program} $out > $manifest
|
${apps.generate-manifest.program} $out > $manifest
|
||||||
|
|
Loading…
Reference in New Issue