|
|
|
@ -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
|
|
|
|
|