Genode Packages collection
https://git.sr.ht/~ehmry/genodepkgs/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.3 KiB
128 lines
3.3 KiB
{ nixpkgs }: |
|
|
|
let |
|
inherit (nixpkgs) |
|
buildPackages callPackage fetchFromGitHub fetchgit genodeSources stdenv; |
|
inherit (genodeSources) buildUpstream; |
|
|
|
dhallPackages = buildPackages.callPackage ./dhall { }; |
|
|
|
buildDepotWorld = let |
|
genodeWorld = fetchFromGitHub { |
|
owner = "genodelabs"; |
|
repo = "genode-world"; |
|
rev = "0ed545e55a90c39df23a86eb733961de71d56241"; |
|
hash = "sha256-sirmUtLmZ5YnfLKrOvOBafnZW3UW+1LtkiGu85Ma820="; |
|
}; |
|
in attrs: |
|
genodeSources.buildDepot (attrs // { |
|
postConfigure = '' |
|
cp -r --no-preserve=mode ${genodeWorld} $GENODE_DIR/repos |
|
''; |
|
}); |
|
|
|
depotPkgs = with builtins; |
|
let |
|
names = attrNames (import ./genodelabs/targets.nix { |
|
buildPackages = null; |
|
ports = null; |
|
}); |
|
f = name: { |
|
inherit name; |
|
value = genodeSources.depot name; |
|
}; |
|
in listToAttrs (map f names); |
|
|
|
basePatches = [ ./genodelabs/cxx-align.patch ]; |
|
|
|
in depotPkgs // { |
|
inherit stdenv genodeSources; |
|
|
|
base-hw-pc = buildUpstream { |
|
name = "base-hw-pc"; |
|
outputs = [ "out" "coreObj" "bootstrapObj" ]; |
|
KERNEL = "hw"; |
|
BOARD = "pc"; |
|
targets = [ "bootstrap" "core" "timer" "lib/ld" ]; |
|
patches = basePatches; |
|
postInstall = '' |
|
mv $out/core-hw-pc.o $coreObj |
|
mv $out/bootstrap-hw-pc.o $bootstrapObj |
|
mv $out/ld-hw.lib.so $out/ld.lib.so |
|
mv $out/hw_timer_drv $out/timer_drv |
|
''; |
|
meta.platforms = [ "x86_64-genode" ]; |
|
}; |
|
|
|
base-hw-virt_qemu = buildUpstream { |
|
name = "base-hw-virt_qemu"; |
|
outputs = [ "out" "coreObj" "bootstrapObj" ]; |
|
KERNEL = "hw"; |
|
BOARD = "virt_qemu"; |
|
targets = [ "bootstrap" "core" "timer" "lib/ld" ]; |
|
patches = basePatches; |
|
postInstall = '' |
|
mv $out/core-hw-virt_qemu.o $coreObj |
|
mv $out/bootstrap-hw-virt_qemu.o $bootstrapObj |
|
mv $out/ld-hw.lib.so $out/ld.lib.so |
|
mv $out/hw_timer_drv $out/timer_drv |
|
''; |
|
meta.platforms = [ "aarch64-genode" ]; |
|
}; |
|
|
|
base-linux = buildUpstream { |
|
name = "base-linux"; |
|
KERNEL = "linux"; |
|
BOARD = "linux"; |
|
targets = [ "core" "timer" "lib/ld" ]; |
|
patches = basePatches; |
|
postInstall = '' |
|
mkdir -p $out/lib |
|
mv $out/ld-linux.lib.so $out/lib/ld.lib.so |
|
mv $out/linux_timer_drv $out/timer_drv |
|
''; |
|
HOST_INC_DIR = buildPackages.glibc.dev + "/include"; |
|
}; |
|
|
|
base-nova = buildUpstream { |
|
name = "base-nova"; |
|
outputs = [ "out" "coreObj" ]; |
|
KERNEL = "nova"; |
|
targets = [ "core" "timer" "lib/ld" ]; |
|
patches = basePatches; |
|
postInstall = '' |
|
mv $out/core-nova.o $coreObj |
|
mv $out/ld-nova.lib.so $out/ld.lib.so |
|
mv $out/nova_timer_drv $out/timer_drv |
|
''; |
|
}; |
|
|
|
bender = buildPackages.callPackage ./bender { }; |
|
|
|
block_router = callPackage ./block_router { }; |
|
|
|
dhallGenode = dhallPackages.genode; |
|
|
|
init = genodeSources.depot "init"; |
|
|
|
nic_bus = callPackage ./nic_bus { }; |
|
|
|
NOVA = callPackage ./NOVA { }; |
|
|
|
rtc-dummy = callPackage ./rtc-dummy { }; |
|
|
|
show_input = callPackage ./show_input { }; |
|
|
|
solo5 = let drv = callPackage ./solo5 { }; |
|
in drv // { tests = drv.tests // { pname = "solo5-tests"; }; }; |
|
|
|
sotest-producer = callPackage ./sotest-producer { }; |
|
|
|
ssh_client = buildDepotWorld { |
|
name = "ssh_client"; |
|
portInputs = with genodeSources.ports; [ libc libssh openssl zlib ]; |
|
}; |
|
|
|
stdcxx = callPackage ./stdcxx { }; |
|
|
|
}
|
|
|