WiP! Dhallify runtimes
This commit is contained in:
parent
2fc2f4df5d
commit
77c0911a39
2
Tupfile
2
Tupfile
|
@ -63,5 +63,5 @@ AWK_RUNTIME_PATH = awk -v RS=' ' -F '/' \
|
|||
# Generate the depot index file
|
||||
|
||||
: index.dhall | $(DEPOT_DIR)/index/<entry> |> \
|
||||
!dhall text < %f | xmllint --format - | xz > %o \
|
||||
!dhall text < %f | xz > %o \
|
||||
|> public/@(PUBLIC_USER)/index/@(SCULPT_VERSION).xz
|
||||
|
|
11
Tuprules.tup
11
Tuprules.tup
|
@ -200,14 +200,15 @@ endif
|
|||
rm tmp.o; \
|
||||
|> $(STUB_DIR)/%B.lib.so $(GENODE_DIR)/<stub>
|
||||
|
||||
!dhall = |> dhall |>
|
||||
DHALL_GENODE = $(TUP_CWD)/dhall/package.dhall
|
||||
DHALL = DHALL_GENODE=$(DHALL_GENODE) dhall
|
||||
|
||||
!dhall = |> $(DHALL) |>
|
||||
|
||||
DEPOT_MANIFEST = $(TUP_CWD)/manifest/local.dhall
|
||||
|
||||
!index_pkg = | $(DEPOT_MANIFEST) |> ^ Generate index.dhall^\
|
||||
dhall <<< '{ info = (%f).indexInfo, name = "$(PKG_NAME)", version = ($(DEPOT_MANIFEST)).pkg.$(PKG_NAME) }' > %o \
|
||||
$(DHALL) <<< '{ info = (%f).indexInfo, name = "$(PKG_NAME)", version = ($(DEPOT_MANIFEST)).pkg.$(PKG_NAME) }' > %o \
|
||||
|> index.dhall $(DEPOT_DIR)/index/<entry>
|
||||
|
||||
&RENDER_RUN = ./errata/render_runtime.dhall
|
||||
|
||||
!render_runtime = |> dhall text <<< '&(RENDER_RUN) (%f).runtime' > %o |> runtime
|
||||
!render_runtime = |> $(DHALL) text <<< '(env:DHALL_GENODE).toRuntime (%f).runtime' > %o |> runtime
|
||||
|
|
|
@ -15,7 +15,7 @@ CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
|
|||
|
||||
CONFIG_PUBLIC_PKG_AUDIO_PLAYER=ehmry/pkg/audio_player/2019-05-15
|
||||
CONFIG_PUBLIC_PKG_AVPLAY=ehmry/pkg/avplay/2019-04-24
|
||||
CONFIG_PUBLIC_PKG_BACKDROP=ehmry/pkg/backdrop/2019-05-24
|
||||
CONFIG_PUBLIC_PKG_BACKDROP=genodelabs/pkg/backdrop/2019-07-08
|
||||
CONFIG_PUBLIC_PKG_NOUX_SYSTEM=ehmry/pkg/noux-system/2019-05-24
|
||||
CONFIG_PUBLIC_PKG_PDF_VIEW=ehmry/pkg/pdf_view/2019-05-17
|
||||
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
let XML/Type = ../../dhall-lang/Prelude/XML/Type
|
||||
|
||||
let Archive = ./Archive
|
||||
|
||||
in { indexEntry :
|
||||
{ info : Text, path : ∀(owner : Text) → ∀(version : Text) → Text }
|
||||
, depends : List Archive
|
||||
, runtime :
|
||||
{ ram :
|
||||
Text
|
||||
, caps :
|
||||
Natural
|
||||
, binary :
|
||||
Text
|
||||
, requires :
|
||||
List { label : Optional Text, service : Text }
|
||||
, roms :
|
||||
List Text
|
||||
, config :
|
||||
XML/Type
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
let Start = ./Start.dhall
|
||||
|
||||
in { parentProvides : List Text, start : List Start }
|
|
@ -1 +0,0 @@
|
|||
Subproject commit b9867f80448c26a7e35ec8e0fbb4f38ce682e9d0
|
4
dhall/Prelude.dhall
Normal file
4
dhall/Prelude.dhall
Normal file
|
@ -0,0 +1,4 @@
|
|||
{- This file provides a central `Prelude` import for the super-repository. -}
|
||||
|
||||
/home/repo/dhall-lang/Prelude/package.dhall sha256:2acd9f8eae045eae46d8288d76b01678c4ac4883a58eadb6be0da00b3ba590cf
|
||||
? /home/repo/dhall-lang/Prelude/package.dhall
|
21
dhall/defaults/Runtime.dhall
Normal file
21
dhall/defaults/Runtime.dhall
Normal file
|
@ -0,0 +1,21 @@
|
|||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let units = ./../units.dhall
|
||||
|
||||
in { ram =
|
||||
units.MiB 2
|
||||
, caps =
|
||||
128
|
||||
, binary =
|
||||
"init"
|
||||
, provides =
|
||||
[] : List Text
|
||||
, requires =
|
||||
[] : List { service : Text, label : Optional Text }
|
||||
, roms =
|
||||
[] : List Text
|
||||
, config =
|
||||
XML.text "<config/>"
|
||||
}
|
1
dhall/defaults/package.dhall
Normal file
1
dhall/defaults/package.dhall
Normal file
|
@ -0,0 +1 @@
|
|||
{ Runtime = ./Runtime.dhall }
|
|
@ -1,4 +1,6 @@
|
|||
let XML = ../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let Archive = ./Archive
|
||||
|
9
dhall/package.dhall
Normal file
9
dhall/package.dhall
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ Prelude =
|
||||
./Prelude.dhall
|
||||
, defaults =
|
||||
./defaults/package.dhall
|
||||
, toRuntime =
|
||||
./render/Runtime.dhall
|
||||
, units =
|
||||
./units.dhall
|
||||
}
|
|
@ -1,19 +1,21 @@
|
|||
let XML = ./../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML/Type = ./../../dhall-lang/Prelude/XML/Type
|
||||
|
||||
let map = ./../../dhall-lang/Prelude/List/map
|
||||
let XML = Prelude.XML
|
||||
|
||||
let types = ./../types.dhall
|
||||
|
||||
let ParentProvides = List Text
|
||||
let XML/Type = types.XML
|
||||
|
||||
let map = Prelude.List.map
|
||||
|
||||
let ParentServices = List Text
|
||||
|
||||
let xmlService =
|
||||
λ(name : Text)
|
||||
→ XML.leaf { name = "service", attributes = [ XML.attribute "name" name ] }
|
||||
|
||||
let renderParentProvides =
|
||||
λ(l : ParentProvides)
|
||||
let renderParentServices =
|
||||
λ(l : ParentServices)
|
||||
→ XML.element
|
||||
{ name =
|
||||
"parent-provides"
|
||||
|
@ -30,6 +32,6 @@ in λ(c : types.Init)
|
|||
, attributes =
|
||||
XML.emptyAttributes
|
||||
, content =
|
||||
[ renderParentProvides c.parentProvides ]
|
||||
[ renderParentServices c.parentServices ]
|
||||
# map types.Start XML/Type ./Start.dhall c.start
|
||||
}
|
|
@ -1,18 +1,22 @@
|
|||
let XML = ../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML/Type = ../../dhall-lang/Prelude/XML/Type
|
||||
let types = ./../types.dhall
|
||||
|
||||
let map = ../../dhall-lang/Prelude/List/map
|
||||
let XML = Prelude/XML/package.dhall
|
||||
|
||||
let XML/Type = types.XML
|
||||
|
||||
let map = Prelude.List.map
|
||||
|
||||
let ParentService = { label : Optional Text }
|
||||
|
||||
let ChildService = { name : Text, label : Optional Text }
|
||||
|
||||
let Service = ../types/Server.dhall
|
||||
let Service = types.Server
|
||||
|
||||
let Route = { name : Text, label : Optional Text, dest : Service }
|
||||
|
||||
let Launcher = ../types/Launcher.dhall
|
||||
let Launcher = types.Launcher
|
||||
|
||||
let renderAttr =
|
||||
λ(key : Text)
|
||||
|
@ -31,8 +35,7 @@ let renderService =
|
|||
→ XML.text "<parent${renderLabel x.label}/>"
|
||||
, Child =
|
||||
λ(x : ChildService)
|
||||
→ XML.text
|
||||
"<child name=\"${x.name}\"${renderLabel x.label}/>"
|
||||
→ XML.text "<child name=\"${x.name}\"${renderLabel x.label}/>"
|
||||
}
|
||||
|
||||
in merge handlers union : XML/Type
|
|
@ -1,8 +1,8 @@
|
|||
let XML = ../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML/Type = ../../dhall-lang/Prelude/XML/Type
|
||||
let XML = Prelude.XML
|
||||
|
||||
let map = ../../dhall-lang/Prelude/List/map
|
||||
let map = Prelude.List.map
|
||||
|
||||
let types = ./../types.dhall
|
||||
|
||||
|
@ -27,7 +27,7 @@ let renderRequires =
|
|||
, attributes =
|
||||
XML.emptyAttributes
|
||||
, content =
|
||||
map types.Runtime/Require XML/Type renderRequire requires
|
||||
map types.Runtime/Require types.XML renderRequire requires
|
||||
}
|
||||
|
||||
let renderContentRom =
|
||||
|
@ -42,18 +42,21 @@ let renderContent =
|
|||
, attributes =
|
||||
XML.emptyAttributes
|
||||
, content =
|
||||
map Text XML/Type renderContentRom content
|
||||
map Text types.XML renderContentRom content
|
||||
}
|
||||
|
||||
in λ(r : types.Runtime)
|
||||
→ XML.element
|
||||
{ name =
|
||||
"runtime"
|
||||
, attributes =
|
||||
[ XML.attribute "ram" r.ram
|
||||
, XML.attribute "caps" (Natural/show r.caps)
|
||||
, XML.attribute "binary" r.binary
|
||||
]
|
||||
, content =
|
||||
[ renderRequires r.requires, renderContent r.roms, r.config ]
|
||||
}
|
||||
let toXML =
|
||||
λ(r : types.Runtime)
|
||||
→ XML.element
|
||||
{ name =
|
||||
"runtime"
|
||||
, attributes =
|
||||
[ XML.attribute "ram" (Natural/show r.ram)
|
||||
, XML.attribute "caps" (Natural/show r.caps)
|
||||
, XML.attribute "binary" r.binary
|
||||
]
|
||||
, content =
|
||||
[ renderRequires r.requires, renderContent r.roms, r.config ]
|
||||
}
|
||||
|
||||
in λ(runtime : types.Runtime) → XML.render (toXML runtime)
|
|
@ -1,4 +1,6 @@
|
|||
let XML = ../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = ./../Prelude.dhall
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let types = ./../types.dhall
|
||||
|
|
@ -8,4 +8,5 @@
|
|||
./types/Runtime.dhall
|
||||
, Runtime/Require =
|
||||
./types/Runtime/Require.dhall
|
||||
, XML = ./types/XML.dhall
|
||||
}
|
5
dhall/types/Init.dhall
Normal file
5
dhall/types/Init.dhall
Normal file
|
@ -0,0 +1,5 @@
|
|||
let XML = ./XML.dhall
|
||||
|
||||
let Start = ./Start.dhall
|
||||
|
||||
in { parentServices : List Text, start : List Start, config : XML }
|
|
@ -1,13 +1,13 @@
|
|||
let XML/Type = ../../dhall-lang/Prelude/XML/Type
|
||||
|
||||
let Server =
|
||||
./Server.dhall sha256:4e00e1b80d306011307682479a8dc90fef3b18b22f895cd0adfecf883fb6f952
|
||||
? ./Server.dhall
|
||||
|
||||
let XML = ./XML.dhall
|
||||
|
||||
in { pkg :
|
||||
Text
|
||||
, route :
|
||||
List { name : Text, label : Optional Text, dest : Server }
|
||||
, config :
|
||||
XML/Type
|
||||
XML
|
||||
}
|
|
@ -1,18 +1,19 @@
|
|||
let XML/Type = ../../dhall-lang/Prelude/XML/Type
|
||||
let XML = ./XML.dhall
|
||||
|
||||
let Require = ./Runtime/Require.dhall
|
||||
|
||||
in { ram :
|
||||
Text
|
||||
, binary :
|
||||
Text
|
||||
Natural
|
||||
, caps :
|
||||
Natural
|
||||
, provides : List Text
|
||||
, binary :
|
||||
Text
|
||||
, provides :
|
||||
List Text
|
||||
, requires :
|
||||
List Require
|
||||
, config :
|
||||
XML/Type
|
||||
XML
|
||||
, roms :
|
||||
List Text
|
||||
}
|
2
dhall/types/XML.dhall
Normal file
2
dhall/types/XML.dhall
Normal file
|
@ -0,0 +1,2 @@
|
|||
/home/repo/dhall-lang/Prelude/XML/Type sha256:461930f3aab769ba537d1a4fd71f411504b0c8d1c1a78d65177be8ded0df8a5c
|
||||
? /home/repo/dhall-lang/Prelude/XML/Type
|
7
dhall/units.dhall
Normal file
7
dhall/units.dhall
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ KiB =
|
||||
λ(b : Natural) → b * 1024
|
||||
, MiB =
|
||||
λ(b : Natural) → b * 1024 * 1024
|
||||
, GiB =
|
||||
λ(b : Natural) → b * 1024 * 1024 * 1024
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
let XML = ./../dhall-lang/Prelude/XML/package.dhall
|
||||
|
||||
let toXML = ./../dhall-genode/render/Runtime.dhall
|
||||
|
||||
let types = ./../dhall-genode/types.dhall
|
||||
|
||||
in λ(runtime : types.Runtime) → XML.render (toXML runtime)
|
32
index.dhall
32
index.dhall
|
@ -1,10 +1,16 @@
|
|||
let owner = "ehmry"
|
||||
|
||||
let List/map = ./dhall-lang/Prelude/List/map
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let XML = ./dhall-lang/Prelude/XML/package.dhall
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML/Type = ./dhall-lang/Prelude/XML/Type
|
||||
let List/map = Prelude.List.map
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let XML/Type =
|
||||
/home/repo/dhall-lang/Prelude/XML/Type sha256:461930f3aab769ba537d1a4fd71f411504b0c8d1c1a78d65177be8ded0df8a5c
|
||||
? /home/repo/dhall-lang/Prelude/XML/Type
|
||||
|
||||
let Entry = { info : Text, name : Text, version : Text }
|
||||
|
||||
|
@ -43,7 +49,12 @@ let emu =
|
|||
"Emulators and game engines"
|
||||
[ ./libretro/cores/snes9x/upstream/libretro/index.dhall ]
|
||||
|
||||
let games = subIndex "Games" [ ./libretro/cores/2048/upstream/index.dhall ]
|
||||
let games =
|
||||
subIndex
|
||||
"Games"
|
||||
[ ./libretro/cores/2048/upstream/index.dhall
|
||||
, ./libretro/cores/tyrquake/upstream/index.dhall
|
||||
]
|
||||
|
||||
let utilities =
|
||||
subIndex
|
||||
|
@ -55,12 +66,6 @@ let utilities =
|
|||
, ./runtimes/backdrop/index.dhall
|
||||
]
|
||||
|
||||
let tests =
|
||||
subIndex
|
||||
"Tests"
|
||||
[ ./libretro/tests/240pSuite-SNES/index.dhall
|
||||
]
|
||||
|
||||
let index =
|
||||
XML.element
|
||||
{ name =
|
||||
|
@ -68,7 +73,12 @@ let index =
|
|||
, attributes =
|
||||
XML.emptyAttributes
|
||||
, content =
|
||||
[ emu, games, utilities ]
|
||||
[ emu
|
||||
, games
|
||||
, utilities
|
||||
, XML.text
|
||||
"<pkg path=\"cnuke/pkg/bsd_audio_drv/2019-07-02\" info=\"OpenBSD audio driver\"/>"
|
||||
]
|
||||
}
|
||||
|
||||
in XML.render index
|
||||
|
|
|
@ -10,9 +10,8 @@ include upstream/Makefile.common
|
|||
: {core} |> !collect_bin |>
|
||||
: |> !bin |>
|
||||
|
||||
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
|
||||
: $(TUP_CWD)/pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
FINAL_PATH = `echo local/$(PKG_NAME)/current | sed -f $(PKG_SED_FILE)`
|
||||
|
||||
: $(TUP_CWD)/pkg.dhall |> !index_pkg |>
|
||||
|
|
|
@ -1 +1,41 @@
|
|||
{ indexInfo = "Threes! clone" }
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let List/map = Prelude.List.map
|
||||
|
||||
let Service = { service : Text, label : Optional Text }
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
let defaults = ./../../pkgDefaults.dhall
|
||||
|
||||
in { indexInfo =
|
||||
"Threes! clone"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { requires =
|
||||
List/map Text Service service [ "file_system", "nitpicker" ]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<vfs>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
<fs/>
|
||||
</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_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
<runtime ram="16M" caps="128" binary="retro_frontend">
|
||||
|
||||
<requires>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
<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"/>
|
||||
<vfs>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
<fs/>
|
||||
</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_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
|
||||
</runtime>
|
|
@ -1,9 +1,3 @@
|
|||
BIN_NAME=libretro-$(BIN_NAME)
|
||||
BIN_DIR=$(DEPOT_BIN_DIR)/libretro-$(BIN_NAME)/current
|
||||
|
||||
PKG_NAME=libretro-$(PKG_NAME)
|
||||
PKG_DIR=$(DEPOT_PKG_DIR)/libretro-$(PKG_NAME)/current
|
||||
|
||||
# Implicit dependencies
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
|
|
|
@ -21,7 +21,8 @@ CXXFLAGS += -DRIGHTSHIFT_IS_SAR -D__LIBRETRO__ -DALLOW_CPU_OVERCLOCK
|
|||
PKG_DEPENDS += \
|
||||
@(PUBLIC_SRC_STDCXX) \
|
||||
|
||||
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
|
||||
: $(TUP_CWD)/pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
: $(TUP_CWD)/pkg.dhall |> !index_pkg |>
|
||||
|
|
|
@ -1 +1,40 @@
|
|||
{ indexInfo = "SNES emulator" }
|
||||
let XML = (env:DHALL_GENODE).Prelude.XML
|
||||
|
||||
let defaults = ./../../pkgDefaults.dhall
|
||||
|
||||
in { indexInfo =
|
||||
"SNES emulator"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { roms =
|
||||
defaults.runtime.roms # [ "stdcxx.lib.so" ]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<game/>
|
||||
<vfs>
|
||||
<fs/>
|
||||
<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_S" to="X"/>
|
||||
<map from="KEY_A" to="Y"/>
|
||||
<map from="KEY_Q" to="L"/>
|
||||
<map from="KEY_W" to="R"/>
|
||||
|
||||
<map from="KEY_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
<runtime ram="32M" caps="192" binary="retro_frontend">
|
||||
|
||||
<requires>
|
||||
<audio_out/>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
<rm/>
|
||||
</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="vfs.lib.so"/>
|
||||
</content>
|
||||
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<game/>
|
||||
<vfs>
|
||||
<fs/>
|
||||
<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_S" to="X"/>
|
||||
<map from="KEY_A" to="Y"/>
|
||||
<map from="KEY_Q" to="L"/>
|
||||
<map from="KEY_W" to="R"/>
|
||||
|
||||
<map from="KEY_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
|
||||
</runtime>
|
|
@ -28,5 +28,8 @@ include upstream/Makefile.common
|
|||
PKG_DEPENDS += \
|
||||
ehmry/raw/quake_shareware/1.06 \
|
||||
|
||||
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
|
||||
: $(TUP_CWD)/pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
: $(TUP_CWD)/pkg.dhall |> !index_pkg |>
|
||||
|
|
35
libretro/cores/tyrquake/pkg.dhall
Normal file
35
libretro/cores/tyrquake/pkg.dhall
Normal file
|
@ -0,0 +1,35 @@
|
|||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let defaults = ./../../pkgDefaults.dhall
|
||||
|
||||
in { indexInfo =
|
||||
"QUAKE engine"
|
||||
, runtime =
|
||||
defaults.runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 64
|
||||
, roms =
|
||||
defaults.runtime.roms # [ "quake_shareware.tar" ]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<game/>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<vfs>
|
||||
<tar name="quake_shareware.tar"/>
|
||||
<fs/>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
</vfs>
|
||||
<default-controller port="0" device="3"/>
|
||||
<variables>
|
||||
<variable key="tyrquake_resolution" value="960x600"/>
|
||||
</variables>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
<runtime ram="64M" caps="256" binary="retro_frontend">
|
||||
|
||||
<requires>
|
||||
<audio_out/>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
<rm/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
<rom label="quake_shareware.tar"/>
|
||||
<rom label="retro_frontend"/>
|
||||
<rom label="vfs.lib.so"/>
|
||||
</content>
|
||||
|
||||
<config>
|
||||
<game/>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<vfs>
|
||||
<tar name="quake_shareware.tar"/>
|
||||
<fs/>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
</vfs>
|
||||
<default-controller port="0" device="3"/>
|
||||
<variables>
|
||||
<variable key="tyrquake_resolution" value="960x600"/>
|
||||
</variables>
|
||||
</config>
|
||||
|
||||
</runtime>
|
48
libretro/pkgDefaults.dhall
Normal file
48
libretro/pkgDefaults.dhall
Normal file
|
@ -0,0 +1,48 @@
|
|||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let List/map = Prelude.List.map
|
||||
|
||||
let Service = { service : Text, label : Optional Text }
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
in { runtime =
|
||||
Genode.defaults.Runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 32
|
||||
, caps =
|
||||
256
|
||||
, binary =
|
||||
"retro_frontend"
|
||||
, requires =
|
||||
List/map
|
||||
Text
|
||||
Service
|
||||
service
|
||||
[ "audio_out", "file_system", "nitpicker", "rm" ]
|
||||
, roms =
|
||||
[ "retro_frontend"
|
||||
, "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "libretro.so"
|
||||
, "vfs.lib.so"
|
||||
]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<game/>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<vfs>
|
||||
<fs/>
|
||||
<dir name="dev"> <log label="core"/> </dir>
|
||||
</vfs>
|
||||
<default-controller port="0" device="3"/>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
|
@ -1,56 +1,40 @@
|
|||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
let defaults = ./../../pkgDefaults.dhall
|
||||
|
||||
let XML = ../../../dhall-lang/Prelude/XML/package.dhall
|
||||
let XML = (env:DHALL_GENODE).Prelude.XML
|
||||
|
||||
in { indexInfo =
|
||||
"SNES tests"
|
||||
, runtime =
|
||||
{ ram =
|
||||
"32M"
|
||||
, caps =
|
||||
192
|
||||
, binary =
|
||||
"retro_frontend"
|
||||
, provides =
|
||||
[] : List Text
|
||||
, requires =
|
||||
[ service "audio_out", service "nitpicker", service "rm" ]
|
||||
, roms =
|
||||
[ "240pSuite.sfc"
|
||||
, "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "libretro.so"
|
||||
, "retro_frontend"
|
||||
, "stdcxx.lib.so"
|
||||
, "vfs.lib.so"
|
||||
]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<game/>
|
||||
<vfs>
|
||||
<rom name="240pSuite.sfc"/>
|
||||
<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_S" to="X"/>
|
||||
<map from="KEY_A" to="Y"/>
|
||||
<map from="KEY_Q" to="L"/>
|
||||
<map from="KEY_W" to="R"/>
|
||||
|
||||
<map from="KEY_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
defaults.runtime
|
||||
⫽ { roms =
|
||||
[ "240pSuite.sfc", "stdcxx.lib.so" ]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log"/>
|
||||
<game/>
|
||||
<vfs>
|
||||
<rom name="240pSuite.sfc"/>
|
||||
<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_S" to="X"/>
|
||||
<map from="KEY_A" to="Y"/>
|
||||
<map from="KEY_Q" to="L"/>
|
||||
<map from="KEY_W" to="R"/>
|
||||
|
||||
<map from="KEY_ENTER" to="START"/>
|
||||
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
|
||||
</default-controller>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
TARGET_NAME = backdrop
|
||||
|
||||
PKG_DEPENDS += \
|
||||
$(PUBLIC_PKG_BACKDROP) \
|
||||
@(PUBLIC_PKG_BACKDROP) \
|
||||
_/raw/backdrop \
|
||||
|
||||
include_rules
|
||||
|
|
|
@ -1,37 +1,38 @@
|
|||
let XML = ./../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let XML = Genode.Prelude.XML
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
in { indexInfo =
|
||||
"Desktop backdrop image"
|
||||
, runtime =
|
||||
{ ram =
|
||||
"64M"
|
||||
, caps =
|
||||
300
|
||||
, binary =
|
||||
"backdrop"
|
||||
, provides =
|
||||
[] : List Text
|
||||
, requires =
|
||||
[ service "nitpicker" ]
|
||||
, roms =
|
||||
[ "backdrop"
|
||||
, "backdrop.png"
|
||||
, "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "libpng.lib.so"
|
||||
, "vfs.lib.so"
|
||||
, "zlib.lib.so"
|
||||
]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc/>
|
||||
<vfs> <rom name="backdrop.png"/> </vfs>
|
||||
<image png="backdrop.png" scale="zoom"/>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
Genode.defaults.Runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 64
|
||||
, caps =
|
||||
300
|
||||
, binary =
|
||||
"backdrop"
|
||||
, requires =
|
||||
[ service "nitpicker" ]
|
||||
, roms =
|
||||
[ "backdrop"
|
||||
, "backdrop.png"
|
||||
, "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "libpng.lib.so"
|
||||
, "vfs.lib.so"
|
||||
, "zlib.lib.so"
|
||||
]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<libc/>
|
||||
<vfs> <rom name="backdrop.png"/> </vfs>
|
||||
<image png="backdrop.png" scale="zoom"/>
|
||||
</config>
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
PKG_DEPENDS += \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
@(PUBLIC_SRC_LIBMPG123) \
|
||||
@(PUBLIC_SRC_MP3_AUDIO_SINK) \
|
||||
@(PUBLIC_SRC_VFS_LWIP) \
|
||||
@(PUBLIC_SRC_ZLIB) \
|
||||
_/src/init \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_ZLIB) \
|
||||
ehmry/src/mp3_audio_sink/19.02 \
|
||||
_/src/icy_client \
|
||||
|
||||
: ../runtime.in |> sed 's|@STREAM_URL@|$(STREAM_URL)|' %f > %o |> runtime
|
||||
: runtime |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
_/src/init \
|
||||
_/src/mpg123 \
|
||||
_/src/vfs \
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
TARGET_NAME = ifm1
|
||||
STREAM_URL = http://radio.intergalactic.fm:80/1
|
||||
include_rules
|
||||
|
||||
: ./pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
: ./pkg.dhall |> !index_pkg |>
|
||||
|
|
2
runtimes/icy-streams/ifm1/pkg.dhall
Normal file
2
runtimes/icy-streams/ifm1/pkg.dhall
Normal file
|
@ -0,0 +1,2 @@
|
|||
../pkg.dhall "http://radio.intergalactic.fm:80/1"
|
||||
∧ { indexInfo = "Intergalactic FM 1" }
|
|
@ -1,3 +1,8 @@
|
|||
TARGET_NAME = ifm2
|
||||
STREAM_URL = http://radio.intergalactic.fm:80/2
|
||||
include_rules
|
||||
|
||||
: ./pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
: ./pkg.dhall |> !index_pkg |>
|
||||
|
|
2
runtimes/icy-streams/ifm2/pkg.dhall
Normal file
2
runtimes/icy-streams/ifm2/pkg.dhall
Normal file
|
@ -0,0 +1,2 @@
|
|||
../pkg.dhall "http://radio.intergalactic.fm:80/2"
|
||||
∧ { indexInfo = "Intergalactic FM 2" }
|
|
@ -1,3 +1,8 @@
|
|||
TARGET_NAME = ifm3
|
||||
STREAM_URL = http://radio.intergalactic.fm:80/3
|
||||
include_rules
|
||||
|
||||
: ./pkg.dhall |> !render_runtime |> {runtime}
|
||||
: {runtime} |> !collect_pkg_runtime |>
|
||||
: |> !pkg |>
|
||||
|
||||
: ./pkg.dhall |> !index_pkg |>
|
||||
|
|
2
runtimes/icy-streams/ifm3/pkg.dhall
Normal file
2
runtimes/icy-streams/ifm3/pkg.dhall
Normal file
|
@ -0,0 +1,2 @@
|
|||
../pkg.dhall "http://radio.intergalactic.fm:80/3"
|
||||
∧ { indexInfo = "Intergalactic FM 3" }
|
83
runtimes/icy-streams/pkg.dhall
Normal file
83
runtimes/icy-streams/pkg.dhall
Normal file
|
@ -0,0 +1,83 @@
|
|||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let XML = Genode.Prelude.XML
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
let config =
|
||||
λ ( url
|
||||
: Text
|
||||
)
|
||||
→ { ram =
|
||||
Genode.units.MiB 32
|
||||
, caps =
|
||||
768
|
||||
, requires =
|
||||
[ service "audio_out"
|
||||
, service "nic"
|
||||
, service "report"
|
||||
, service "rm"
|
||||
, service "rtc"
|
||||
]
|
||||
, roms =
|
||||
[ "icy_client"
|
||||
, "init"
|
||||
, "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "mpg123.lib.so"
|
||||
, "mp3_audio_sink"
|
||||
, "vfs.lib.so"
|
||||
, "vfs_lwip.lib.so"
|
||||
, "zlib.lib.so"
|
||||
]
|
||||
, 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>
|
||||
|
||||
<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.defaults.Runtime // (config url) }
|
|
@ -1,66 +0,0 @@
|
|||
<runtime ram="32M" caps="768" binary="init">
|
||||
|
||||
<requires>
|
||||
<audio_out/>
|
||||
<nic/>
|
||||
<report/>
|
||||
<rm/>
|
||||
</requires>
|
||||
|
||||
<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"/>
|
||||
</parent-provides>
|
||||
<start name="icy_client" caps="512">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<config>
|
||||
<stream url="@STREAM_URL@" dest="/terminal" report="yes"/>
|
||||
<libc stderr="/log" stdout="/log" socket="/socket" rtc="/rtc"/>
|
||||
<vfs>
|
||||
<dir name="socket"> <lwip dhcp="yes"/> </dir>
|
||||
<log/>
|
||||
<terminal/>
|
||||
<inline name="rtc">2001-01-01 00:01</inline>
|
||||
</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>
|
||||
|
||||
<content>
|
||||
<rom label="icy_client"/>
|
||||
<rom label="init"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libmpg123.lib.so"/>
|
||||
<rom label="mp3_audio_sink"/>
|
||||
<rom label="vfs.lib.so"/>
|
||||
<rom label="vfs_lwip.lib.so"/>
|
||||
<rom label="zlib.lib.so"/>
|
||||
</content>
|
||||
|
||||
</runtime>
|
|
@ -1,13 +1,13 @@
|
|||
TARGET_NAME = noux-system
|
||||
|
||||
PKG_DEPENDS += \
|
||||
@(PUBLIC_SRC_TERMINAL) \
|
||||
@(PUBLIC_SRC_NOUX) \
|
||||
@(PUBLIC_SRC_NCURSES) \
|
||||
ehmry/src/bash-minimal/2019-05-24 \
|
||||
ehmry/src/vim-minimal/2019-05-24 \
|
||||
ehmry/src/coreutils-minimal/2019-05-24 \
|
||||
_/src/libc \
|
||||
ehmry/src/vim-minimal/2019-05-24 \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
@(PUBLIC_SRC_NCURSES) \
|
||||
@(PUBLIC_SRC_NOUX) \
|
||||
@(PUBLIC_SRC_TERMINAL) \
|
||||
_/src/posix \
|
||||
_/src/init \
|
||||
_/src/vfs \
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
let XML = ./../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
|
@ -9,109 +13,106 @@ let fsService = λ(l : Text) → serviceLabel "file_system" l
|
|||
in { indexInfo =
|
||||
"Noux administration environment"
|
||||
, runtime =
|
||||
{ ram =
|
||||
"72M"
|
||||
, caps =
|
||||
1000
|
||||
, binary =
|
||||
"init"
|
||||
, provides =
|
||||
[] : List Text
|
||||
, requires =
|
||||
[ fsService "config"
|
||||
, fsService "report"
|
||||
, fsService "target"
|
||||
, fsService "fonts"
|
||||
, service "nitpicker"
|
||||
, serviceLabel "report" "clipboard"
|
||||
, serviceLabel "rom" "clipboard"
|
||||
]
|
||||
, roms =
|
||||
[ "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "init"
|
||||
, "terminal"
|
||||
, "noux"
|
||||
, "libc_noux.lib.so"
|
||||
, "posix.lib.so"
|
||||
, "ncurses.lib.so"
|
||||
, "bash-minimal.tar"
|
||||
, "coreutils-minimal.tar"
|
||||
, "vim-minimal.tar"
|
||||
, "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.defaults.Runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 72
|
||||
, caps =
|
||||
1000
|
||||
, requires =
|
||||
[ fsService "config"
|
||||
, fsService "report"
|
||||
, fsService "target"
|
||||
, fsService "fonts"
|
||||
, service "nitpicker"
|
||||
, serviceLabel "report" "clipboard"
|
||||
, serviceLabel "rom" "clipboard"
|
||||
]
|
||||
, roms =
|
||||
[ "libc.lib.so"
|
||||
, "libm.lib.so"
|
||||
, "init"
|
||||
, "terminal"
|
||||
, "noux"
|
||||
, "libc_noux.lib.so"
|
||||
, "posix.lib.so"
|
||||
, "ncurses.lib.so"
|
||||
, "bash-minimal.tar"
|
||||
, "coreutils-minimal.tar"
|
||||
, "vim-minimal.tar"
|
||||
, "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>
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
let XML = ../../dhall-lang/Prelude/XML/package.dhall
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
in { indexInfo =
|
||||
"Switched ethernet bus"
|
||||
, runtime =
|
||||
{ ram =
|
||||
"4M"
|
||||
Genode.units.MiB 4
|
||||
, caps =
|
||||
96
|
||||
, binary =
|
||||
|
|
|
@ -1 +1,38 @@
|
|||
{ indexInfo = "Nitpicker input event debugger" }
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let service = λ(s : Text) → { service = s, label = None Text }
|
||||
|
||||
let serviceLabel = λ(s : Text) → λ(l : Text) → { service = s, label = Some l }
|
||||
|
||||
in { indexInfo =
|
||||
"Nitpicker input event debugger"
|
||||
, runtime =
|
||||
Genode.defaults.Runtime
|
||||
⫽ { ram =
|
||||
Genode.units.MiB 12
|
||||
, caps =
|
||||
256
|
||||
, binary =
|
||||
"show_input"
|
||||
, requires =
|
||||
[ serviceLabel "fs" "fonts", service "nitpicker" ]
|
||||
, roms =
|
||||
[ "show_input", "vfs.lib.so" ]
|
||||
, config =
|
||||
XML.text
|
||||
''
|
||||
<config>
|
||||
<vfs>
|
||||
<dir name="fonts">
|
||||
<fs label="fonts"/>
|
||||
</dir>
|
||||
</vfs>
|
||||
</config>
|
||||
|
||||
''
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user