Dhall packaging update
This commit is contained in:
parent
ab8f8ca927
commit
74090333a9
2
dhall
2
dhall
|
@ -1 +1 @@
|
|||
Subproject commit abd76668aeba6ebdd8396f7ec4d9c74b5b426f04
|
||||
Subproject commit 4b03fc71a4529cc35cef9dfe9d95ec431f8246e6
|
|
@ -16,8 +16,8 @@ in { indexInfo =
|
|||
"Threes! clone"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 4
|
||||
⫽ { resources =
|
||||
{ caps = 128, ram = Genode.units.MiB 4 }
|
||||
, requires =
|
||||
List/map Text Service service [ "file_system", "nitpicker" ]
|
||||
, config =
|
||||
|
|
|
@ -5,5 +5,6 @@ let defaults = ./../../pkgJoypadDefaults.dhall
|
|||
in { indexInfo =
|
||||
"NES emulator"
|
||||
, runtime =
|
||||
defaults.runtime ⫽ { ram = Genode.units.MiB 16 }
|
||||
defaults.runtime
|
||||
⫽ { resources = { caps = 128, ram = Genode.units.MiB 16 } }
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ in { indexInfo =
|
|||
"Game Boy Emulator"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 8
|
||||
⫽ { resources =
|
||||
{ caps = 128, ram = Genode.units.MiB 8 }
|
||||
, roms =
|
||||
defaults.runtime.roms # [ "stdcxx.lib.so" ]
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ in { indexInfo =
|
|||
"Game Boy Advance Emulator"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 64
|
||||
⫽ { resources =
|
||||
{ caps = 128, ram = Genode.units.MiB 64 }
|
||||
, roms =
|
||||
defaults.runtime.roms # [ "stdcxx.lib.so" ]
|
||||
, config =
|
||||
|
|
|
@ -10,10 +10,8 @@ in { indexInfo =
|
|||
defaults.runtime
|
||||
⫽ { roms =
|
||||
defaults.runtime.roms # [ "stdcxx.lib.so" ]
|
||||
, ram =
|
||||
Genode.units.MiB 24
|
||||
, caps =
|
||||
192
|
||||
, resources =
|
||||
{ caps = 192, ram = Genode.units.MiB 24 }
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
|
|
|
@ -31,10 +31,8 @@ in { indexInfo =
|
|||
"QUAKE engine"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 64
|
||||
, caps =
|
||||
256
|
||||
⫽ { resources =
|
||||
{ caps = 256, ram = Genode.units.MiB 64 }
|
||||
, roms =
|
||||
defaults.runtime.roms # [ "quake_shareware.tar" ]
|
||||
, config =
|
||||
|
|
|
@ -10,11 +10,7 @@ let Runtime/Require = types.Runtime/Require
|
|||
|
||||
in { runtime =
|
||||
Genode.Runtime.defaults
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 32
|
||||
, caps =
|
||||
128
|
||||
, binary =
|
||||
⫽ { binary =
|
||||
"retro_frontend"
|
||||
, requires =
|
||||
List/map
|
||||
|
@ -22,6 +18,8 @@ in { runtime =
|
|||
Runtime/Require
|
||||
Genode.Runtime.Require.require
|
||||
[ "audio_out", "file_system", "nitpicker", "rm" ]
|
||||
, resources =
|
||||
{ caps = 128, ram = Genode.units.MiB 32 }
|
||||
, roms =
|
||||
[ "retro_frontend"
|
||||
, "libc.lib.so"
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
<runtime ram="16M" caps="128" binary="retro_frontend">
|
||||
|
||||
<requires>
|
||||
<audio_out/>
|
||||
<nitpicker/>
|
||||
<rm/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="240pee.nes"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
<rom label="retro_frontend"/>
|
||||
<rom label="vfs.lib.so"/>
|
||||
</content>
|
||||
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<game/>
|
||||
<vfs>
|
||||
<rom name="240pee.nes"/>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
</vfs>
|
||||
<default-controller port="0" device="1">
|
||||
<map from="KEY_LEFT" to="LEFT"/>
|
||||
<map from="KEY_RIGHT" to="RIGHT"/>
|
||||
<map from="KEY_UP" to="UP"/>
|
||||
<map from="KEY_DOWN" to="DOWN"/>
|
||||
|
||||
<map from="KEY_X" to="A"/>
|
||||
<map from="KEY_Z" to="B"/>
|
||||
|
||||
<map from="KEY_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
|
||||
</runtime>
|
|
@ -10,10 +10,8 @@ in { indexInfo =
|
|||
"The Oldskool PC Benchmark - DOSBox"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { caps =
|
||||
192
|
||||
, ram =
|
||||
Genode.units.MiB 96
|
||||
⫽ { resources =
|
||||
{ caps = 192, ram = Genode.units.MiB 96 }
|
||||
, requires =
|
||||
defaults.runtime.requires # [ require "report", require "rtc" ]
|
||||
, roms =
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
<runtime ram="96M" caps="192" binary="retro_frontend">
|
||||
|
||||
<requires>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
<report/>
|
||||
<rtc/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
<rom label="retro_frontend"/>
|
||||
<rom label="stdcxx.lib.so"/>
|
||||
<rom label="TOPBV38H.tar"/>
|
||||
<rom label="vfs.lib.so"/>
|
||||
</content>
|
||||
|
||||
<config ld_verbose="yes">
|
||||
<game path="/dosbox.conf"/>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
<inline name="dosbox.conf">
|
||||
[autoexec]
|
||||
mount c /drive_c
|
||||
c:
|
||||
TOPBENCH.EXE
|
||||
</inline>
|
||||
<dir name="drive_c">
|
||||
<tar name="TOPBV38H.tar"/>
|
||||
<fs/>
|
||||
</dir>
|
||||
<dir name="dev"> <log label="core"/> <rtc/> </dir>
|
||||
</vfs>
|
||||
<default-controller port="0" device="771"/>
|
||||
</config>
|
||||
|
||||
</runtime>
|
|
@ -8,10 +8,8 @@ in { indexInfo =
|
|||
"Desktop backdrop image"
|
||||
, runtime =
|
||||
Genode.Runtime.defaults
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 64
|
||||
, caps =
|
||||
300
|
||||
⫽ { resources =
|
||||
{ ram = Genode.units.MiB 8, caps = 96 }
|
||||
, binary =
|
||||
"backdrop"
|
||||
, requires =
|
||||
|
|
|
@ -8,10 +8,8 @@ let config =
|
|||
λ ( url
|
||||
: Text
|
||||
)
|
||||
→ { ram =
|
||||
Genode.units.MiB 32
|
||||
, caps =
|
||||
768
|
||||
→ { resources =
|
||||
{ ram = Genode.units.MiB 32, caps = 768 }
|
||||
, requires =
|
||||
[ service "audio_out"
|
||||
, service "nic"
|
||||
|
@ -33,51 +31,51 @@ let config =
|
|||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="ROM"/>
|
||||
<service name="Audio_out"/>
|
||||
<service name="Timer"/>
|
||||
<service name="Nic"/>
|
||||
<service name="Report"/>
|
||||
<service name="Rtc"/>
|
||||
</parent-provides>
|
||||
<start name="icy_client" caps="512">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<config>
|
||||
<stream url="${url}" dest="/terminal" report="yes"/>
|
||||
<libc stderr="/log" stdout="/log" socket="/socket" rtc="/rtc" rng="/rtc"/>
|
||||
<vfs>
|
||||
<dir name="socket"> <lwip dhcp="yes"/> </dir>
|
||||
<log/>
|
||||
<rtc/>
|
||||
<terminal/>
|
||||
</vfs>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="ROM"/>
|
||||
<service name="Audio_out"/>
|
||||
<service name="Timer"/>
|
||||
<service name="Nic"/>
|
||||
<service name="Report"/>
|
||||
<service name="Rtc"/>
|
||||
</parent-provides>
|
||||
<start name="icy_client" caps="512">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<config>
|
||||
<stream url="${url}" dest="/terminal" report="yes"/>
|
||||
<libc stderr="/log" stdout="/log" socket="/socket" rtc="/rtc" rng="/rtc"/>
|
||||
<vfs>
|
||||
<dir name="socket"> <lwip dhcp="yes"/> </dir>
|
||||
<log/>
|
||||
<rtc/>
|
||||
<terminal/>
|
||||
</vfs>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="mp3_audio_sink" caps="256">
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides>
|
||||
<service name="Terminal"/>
|
||||
</provides>
|
||||
<config>
|
||||
<vfs> <null/> </vfs>
|
||||
<libc stdout="/null" stderr="/null"/>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>
|
||||
''
|
||||
<start name="mp3_audio_sink" caps="256">
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides>
|
||||
<service name="Terminal"/>
|
||||
</provides>
|
||||
<config>
|
||||
<vfs> <null/> </vfs>
|
||||
<libc stdout="/null" stderr="/null"/>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
|
||||
in λ(url : Text) → { runtime = Genode.Runtime.defaults // (config url) }
|
||||
in λ(url : Text) → { runtime = Genode.Runtime.defaults ⫽ config url }
|
||||
|
|
|
@ -8,16 +8,86 @@ let service = λ(s : Text) → { service = s, label = None Text }
|
|||
|
||||
let serviceLabel = λ(s : Text) → λ(l : Text) → { service = s, label = Some l }
|
||||
|
||||
let fsService = λ(l : Text) → serviceLabel "file_system" l
|
||||
let fsService = λ(label : Text) → serviceLabel "file_system" label
|
||||
|
||||
let Noux = Genode.Components.Noux
|
||||
|
||||
let Terminal = Genode.Components.Terminal
|
||||
|
||||
let terminal =
|
||||
Terminal.construct
|
||||
( Terminal.defaults
|
||||
⫽ { routes =
|
||||
{ fontsFs =
|
||||
Genode.Route.parent (Some "fonts")
|
||||
, nitpicker =
|
||||
Genode.Route.parent (None Text)
|
||||
, timer =
|
||||
Genode.Route.parent (None Text)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
let nouxBase =
|
||||
Noux.construct
|
||||
( Noux.defaults
|
||||
⫽ { config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<fstab>
|
||||
<tar name="bash-minimal.tar" />
|
||||
<tar name="coreutils-minimal.tar" />
|
||||
<tar name="vim-minimal.tar" />
|
||||
<dir name="dev"> <zero/> <null/> </dir>
|
||||
<dir name="rw"> <fs label="target"/> </dir>
|
||||
<dir name="report"> <fs label="report"/> </dir>
|
||||
<dir name="config"> <fs label="config"/> </dir>
|
||||
<dir name="tmp"> <ram /> </dir>
|
||||
</fstab>
|
||||
<start name="/bin/bash">
|
||||
<env name="TERM" value="screen" />
|
||||
<env name="PS1" value="noux:$PWD " />
|
||||
</start>
|
||||
</config>
|
||||
''
|
||||
, resources =
|
||||
{ caps = 512, ram = Genode.units.MiB 64 }
|
||||
, routes =
|
||||
{ timer = Genode.Route.parent (None Text) }
|
||||
}
|
||||
)
|
||||
|
||||
let parentFs =
|
||||
λ(label : Text)
|
||||
→ Genode.ServiceRoute.parent "File_system" (Some label) (Some label)
|
||||
|
||||
let noux =
|
||||
nouxBase
|
||||
⫽ { exitPropagate =
|
||||
True
|
||||
, routes =
|
||||
nouxBase.routes
|
||||
# [ Genode.ServiceRoute.child
|
||||
"Terminal"
|
||||
"terminal"
|
||||
(None Text)
|
||||
(None Text)
|
||||
, parentFs "target"
|
||||
, parentFs "config"
|
||||
, parentFs "report"
|
||||
]
|
||||
}
|
||||
|
||||
let initConfig =
|
||||
Genode.Init.defaults ⫽ { verbose = True, children = [ terminal, noux ] }
|
||||
|
||||
in { indexInfo =
|
||||
"Noux administration environment"
|
||||
, runtime =
|
||||
Genode.Runtime.defaults
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 72
|
||||
, caps =
|
||||
1000
|
||||
⫽ { resources =
|
||||
Genode.Init.sumResources initConfig
|
||||
, requires =
|
||||
[ fsService "config"
|
||||
, fsService "report"
|
||||
|
@ -42,77 +112,6 @@ in { indexInfo =
|
|||
, "vfs.lib.so"
|
||||
]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="Timer"/>
|
||||
<service name="File_system"/>
|
||||
<service name="Nitpicker"/>
|
||||
<service name="Report"/>
|
||||
</parent-provides>
|
||||
|
||||
<default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>
|
||||
|
||||
<default caps="100"/>
|
||||
|
||||
<start name="nit_fb">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
|
||||
<config xpos="10" ypos="10" initial_width="800" initial_height="600"/>
|
||||
<route>
|
||||
<service name="Nitpicker"> <parent label="terminal"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="terminal">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="Terminal"/> </provides>
|
||||
<config copy="yes" paste="yes">
|
||||
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
|
||||
</config>
|
||||
<route>
|
||||
<service name="File_system"> <parent label="fonts"/> </service>
|
||||
<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
|
||||
<service name="ROM" label="clipboard"> <parent label="clipboard"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="noux" caps="500">
|
||||
<resource name="RAM" quantum="60M" />
|
||||
<exit propagate="yes"/>
|
||||
<config>
|
||||
<fstab>
|
||||
<tar name="bash-minimal.tar" />
|
||||
<tar name="coreutils-minimal.tar" />
|
||||
<tar name="vim-minimal.tar" />
|
||||
<dir name="dev"> <zero/> <null/> </dir>
|
||||
<dir name="rw"> <fs label="target"/> </dir>
|
||||
<dir name="report"> <fs label="report"/> </dir>
|
||||
<dir name="config"> <fs label="config"/> </dir>
|
||||
<dir name="tmp"> <ram /> </dir>
|
||||
</fstab>
|
||||
<start name="/bin/bash">
|
||||
<env name="TERM" value="screen" />
|
||||
<env name="PS1" value="noux:$PWD> " />
|
||||
</start>
|
||||
</config>
|
||||
<route>
|
||||
<service name="File_system" label="target"> <parent label="target"/> </service>
|
||||
<service name="File_system" label="config"> <parent label="config"/> </service>
|
||||
<service name="File_system" label="report"> <parent label="report"/> </service>
|
||||
<service name="Terminal"> <child name="terminal"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>
|
||||
''
|
||||
Genode.Init.toXML initConfig
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ include_rules
|
|||
: {objs} |> !prg |> %d {binary}
|
||||
: {binary} |> !collect_bin |>
|
||||
|
||||
: ./pkg.dhall |> !render_runtime |> {runtime}
|
||||
: ./pkg.dhall |> !render_runtime |>
|
||||
|
||||
include &(BIN_RULES)
|
||||
include &(PKG_RULES)
|
||||
|
|
|
@ -7,10 +7,8 @@ let XML = Prelude.XML
|
|||
in { indexInfo =
|
||||
"Switched ethernet bus"
|
||||
, runtime =
|
||||
{ ram =
|
||||
Genode.units.MiB 4
|
||||
, caps =
|
||||
96
|
||||
{ resources =
|
||||
{ ram = Genode.units.MiB 4, caps = 96 }
|
||||
, binary =
|
||||
"nic_bus"
|
||||
, provides =
|
||||
|
|
Loading…
Reference in New Issue