Use cross-compliation pairs in Flake
This commit is contained in:
parent
15360a0ff5
commit
53a18acd08
22
flake.lock
22
flake.lock
|
@ -23,33 +23,33 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"inputs": {},
|
"inputs": {},
|
||||||
"narHash": "sha256-HYX9rCn1dweN+L3ecNy4BiCGw4WEt1zgdIiAeYNY5GM=",
|
"narHash": "sha256-/9hMb9pgV8awDYYchUueplyKF6bz23b7z5gqQ999nro=",
|
||||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode",
|
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode",
|
||||||
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=12e31ac07c6d337760b3f59dc64c03f26cdd2009"
|
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=d63ee96d86672a9cb23d83d50ee02687eded2818"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"narHash": "sha256-9/RR/CwvB1M2VSR7CrSVexYXN1YSSSE4WG4siDh0LE0=",
|
"narHash": "sha256-7X6XqNVzCzMRqq0LV+NLdfS1h7gWi+psnRNl4mwdPCY=",
|
||||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/genode.git",
|
"originalUrl": "git+https://gitea.c3d2.de/ehmry/genode.git",
|
||||||
"url": "git+https://gitea.c3d2.de/ehmry/genode.git?ref=master&rev=2a9178fced42cac986de07b6944afd4422d28976"
|
"url": "git+https://gitea.c3d2.de/ehmry/genode.git?ref=master&rev=32f8b603cb09bd85b8ad9092b55b4f3869da19d5"
|
||||||
},
|
},
|
||||||
"genode-depot": {
|
"genode-depot": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"inputs": {},
|
"inputs": {},
|
||||||
"narHash": "sha256-HYX9rCn1dweN+L3ecNy4BiCGw4WEt1zgdIiAeYNY5GM=",
|
"narHash": "sha256-/9hMb9pgV8awDYYchUueplyKF6bz23b7z5gqQ999nro=",
|
||||||
"originalUrl": "nixpkgs",
|
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode",
|
||||||
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=12e31ac07c6d337760b3f59dc64c03f26cdd2009"
|
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=d63ee96d86672a9cb23d83d50ee02687eded2818"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"narHash": "sha256-be9whulZ8unz1sq9PiFr+tuUAXlwiPEhIe0Z6jmfZiU=",
|
"narHash": "sha256-uTHTwa05KzSmRETVBhpHw2CD+cMicqunaaknYsrxAfY=",
|
||||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/genode-depot.git",
|
"originalUrl": "git+https://gitea.c3d2.de/ehmry/genode-depot.git",
|
||||||
"url": "git+https://gitea.c3d2.de/ehmry/genode-depot.git?ref=master&rev=2f3162d88220bd6fa6b6fbc7c6d9fed68533a761"
|
"url": "git+https://gitea.c3d2.de/ehmry/genode-depot.git?ref=master&rev=ac11a14f9ba10685ae68ab5a050baf546ae702d2"
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"inputs": {},
|
"inputs": {},
|
||||||
"narHash": "sha256-HYX9rCn1dweN+L3ecNy4BiCGw4WEt1zgdIiAeYNY5GM=",
|
"narHash": "sha256-/9hMb9pgV8awDYYchUueplyKF6bz23b7z5gqQ999nro=",
|
||||||
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode",
|
"originalUrl": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode",
|
||||||
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=12e31ac07c6d337760b3f59dc64c03f26cdd2009"
|
"url": "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode&rev=d63ee96d86672a9cb23d83d50ee02687eded2818"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 3
|
"version": 3
|
||||||
|
|
41
flake.nix
41
flake.nix
|
@ -19,24 +19,33 @@
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
lib = import ./lib {
|
lib = nixpkgs.lib.forAllCrossSystems
|
||||||
genodepkgs = self;
|
({ system, localSystem, crossSystem }:
|
||||||
inherit nixpkgs dhall-haskell genode-depot;
|
nixpkgs.lib // (import ./lib {
|
||||||
};
|
inherit system localSystem crossSystem nixpkgs dhall-haskell
|
||||||
|
genode-depot;
|
||||||
|
genodepkgs = self;
|
||||||
|
}));
|
||||||
|
|
||||||
packages = forAllSystems (system:
|
packages = nixpkgs.lib.forAllCrossSystems
|
||||||
let thisSystem = builtins.getAttr system;
|
({ system, localSystem, crossSystem }:
|
||||||
in import ./packages.nix {
|
let thisSystem = builtins.getAttr system;
|
||||||
inherit system nixpkgs;
|
in import ./packages.nix {
|
||||||
depot = thisSystem genode-depot.packages;
|
inherit system nixpkgs;
|
||||||
genode = thisSystem genode.packages;
|
depot = thisSystem genode-depot.packages;
|
||||||
} // builtins.getAttr system genode.packages);
|
genode = thisSystem genode.packages;
|
||||||
|
} // builtins.getAttr system genode.packages);
|
||||||
|
|
||||||
checks = forAllSystems (system:
|
checks = nixpkgs.lib.forAllCrossSystems
|
||||||
import ./tests {
|
({ system, localSystem, crossSystem }:
|
||||||
inherit self nixpkgs dhall-haskell genode-depot;
|
import ./tests {
|
||||||
genodepkgs = builtins.getAttr system self.packages;
|
inherit self system localSystem crossSystem nixpkgs dhall-haskell
|
||||||
});
|
genode-depot;
|
||||||
|
genodepkgs = builtins.getAttr system self.packages;
|
||||||
|
lib = builtins.getAttr system self.lib;
|
||||||
|
}) // {
|
||||||
|
x86_64-linux = self.checks.x86_64-linux-x86_64-genode;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
{ genodepkgs, nixpkgs, dhall-haskell, genode-depot }:
|
{ system, localSystem, crossSystem, genodepkgs, nixpkgs, dhall-haskell, genode-depot }:
|
||||||
|
|
||||||
let
|
let
|
||||||
hostPkgs = import nixpkgs {
|
hostPkgs = import nixpkgs {
|
||||||
system = "x86_64-linux";
|
system = localSystem;
|
||||||
overlays = [ (self: super: { inherit (dhall-haskell.packages) dhall; }) ];
|
overlays = [ (self: super: { inherit (dhall-haskell.packages) dhall; }) ];
|
||||||
};
|
};
|
||||||
testPkgs = genodepkgs.packages.x86_64-genode;
|
thisSystem = builtins.getAttr system;
|
||||||
depot = genode-depot.packages.x86_64-genode;
|
testPkgs = thisSystem genodepkgs.packages;
|
||||||
|
depot = thisSystem genode-depot.packages;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
dhallText = name: source:
|
dhallText = name: source:
|
||||||
|
@ -37,7 +38,7 @@ in {
|
||||||
xmllint --noout $out
|
xmllint --noout $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
x86_64-genode.buildNovaIso = { name, rom }:
|
buildNovaIso = { name, rom }:
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (hostPkgs) cdrkit syslinux;
|
inherit (hostPkgs) cdrkit syslinux;
|
||||||
|
|
|
@ -15,11 +15,11 @@ let
|
||||||
dhallPackages = super.dhallPackages // (callPackage ./dhall { });
|
dhallPackages = super.dhallPackages // (callPackage ./dhall { });
|
||||||
in rec {
|
in rec {
|
||||||
inherit (super) stdenv;
|
inherit (super) stdenv;
|
||||||
libc = callPackage ./pkgs/libc { inherit depot; };
|
|
||||||
stdcxx = callPackage ./pkgs/stdcxx { };
|
|
||||||
nic_bus = callPackage ./pkgs/nic_bus { inherit (genode) base os; };
|
|
||||||
dhallGenode = dhallPackages.genode;
|
dhallGenode = dhallPackages.genode;
|
||||||
dhallPrelude = dhallPackages.prelude;
|
dhallPrelude = dhallPackages.prelude;
|
||||||
|
libc = callPackage ./pkgs/libc { inherit depot; };
|
||||||
|
nic_bus = callPackage ./pkgs/nic_bus { inherit (genode) base os; };
|
||||||
nova = callPackage ./NOVA { };
|
nova = callPackage ./NOVA { };
|
||||||
solo5 = callPackage ./pkgs/solo5 { inherit (genode) base os; };
|
solo5 = callPackage ./pkgs/solo5 { inherit (genode) base os; };
|
||||||
|
stdcxx = callPackage ./pkgs/stdcxx { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,25 +11,23 @@ let
|
||||||
# solo5 = call ./solo5 { };
|
# solo5 = call ./solo5 { };
|
||||||
};
|
};
|
||||||
|
|
||||||
in { self, genodepkgs, nixpkgs, dhall-haskell, genode-depot }:
|
in { self, system, localSystem, crossSystem, genodepkgs, nixpkgs, dhall-haskell, genode-depot, lib }:
|
||||||
|
|
||||||
let
|
let
|
||||||
hostPkgs = import nixpkgs {
|
hostPkgs = import nixpkgs {
|
||||||
system = "x86_64-linux";
|
system = localSystem;
|
||||||
overlays = [ (self: super: { inherit (dhall-haskell.packages) dhall; }) ];
|
overlays = [ (self: super: { inherit (dhall-haskell.packages) dhall; }) ];
|
||||||
};
|
};
|
||||||
depot = genode-depot.packages.x86_64-genode;
|
depot = builtins.getAttr crossSystem genode-depot.packages;
|
||||||
testPkgs = genodepkgs;
|
testPkgs = genodepkgs;
|
||||||
|
|
||||||
lib = hostPkgs.lib // self.lib;
|
|
||||||
|
|
||||||
linux = tests (import ./driver-linux.nix {
|
linux = tests (import ./driver-linux.nix {
|
||||||
inherit testPkgs hostPkgs lib depot;
|
inherit testPkgs hostPkgs lib depot;
|
||||||
}).callTest;
|
}).callTest;
|
||||||
|
|
||||||
nova = (call: ((tests call) // { pci = call ./pci.nix { }; }))
|
nova = (call: ((tests call) // { pci = call ./pci.nix { }; }))
|
||||||
(import ./driver-nova.nix {
|
(import ./driver-nova.nix {
|
||||||
inherit testPkgs hostPkgs lib depot;
|
inherit system testPkgs hostPkgs lib depot;
|
||||||
}).callTest;
|
}).callTest;
|
||||||
|
|
||||||
testsToList = tests:
|
testsToList = tests:
|
||||||
|
|
|
@ -44,7 +44,7 @@ let
|
||||||
config = ./driver-config.xml;
|
config = ./driver-config.xml;
|
||||||
core = "${base-linux}/bin/core-linux";
|
core = "${base-linux}/bin/core-linux";
|
||||||
init = "${os}/bin/init";
|
init = "${os}/bin/init";
|
||||||
"ld.lib.so" = "${depot.base-linux}/lib/ld.lib.so";
|
"ld.lib.so" = "${base-linux}/bin/ld-linux.lib.so";
|
||||||
timer = "${base-linux}/bin/linux_timer_drv";
|
timer = "${base-linux}/bin/linux_timer_drv";
|
||||||
} // bootModules;
|
} // bootModules;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
|
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
|
||||||
|
|
||||||
{ testPkgs, hostPkgs, lib, depot }:
|
{ system, testPkgs, hostPkgs, lib, depot }:
|
||||||
|
|
||||||
let
|
let
|
||||||
testDriver = with hostPkgs;
|
testDriver = with hostPkgs;
|
||||||
|
@ -45,7 +45,7 @@ let
|
||||||
config = ./driver-config.xml;
|
config = ./driver-config.xml;
|
||||||
} // bootModules);
|
} // bootModules);
|
||||||
|
|
||||||
iso = lib.x86_64-genode.buildNovaIso {
|
iso = lib.buildNovaIso {
|
||||||
inherit name;
|
inherit name;
|
||||||
rom = bootModules';
|
rom = bootModules';
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue