Reduce to Libretro

This commit is contained in:
Ehmry - 2019-07-30 01:18:59 +02:00
parent ab8f8ca927
commit 744921813c
154 changed files with 0 additions and 6880 deletions

45
.gitmodules vendored
View File

@ -1,21 +1,3 @@
[submodule "submodules/musicbrainz_playlist_generator"]
path = nim/musicbrainz_playlist_generator
url = git://depot.h4ck.me/srv/git/musicbrainz_playlist_generator
[submodule "nimble/icy_client"]
path = nim/icy_client
url = git://depot.h4ck.me/srv/git/icy_client
[submodule "nim-genode"]
path = nim/nim-genode
url = git://depot.h4ck.me/srv/git/nim-genode
[submodule "nimble/imap_report"]
path = nim/imap_report
url = git@github.com:ehmry/imap_report.git
[submodule "nimble/blobsets"]
path = nim/blobsets
url = git://depot.h4ck.me/srv/git/blobsets
[submodule "nimble/ninep"]
path = nim/ninep
url = git://depot.h4ck.me/srv/git/ninep
[submodule "libretro/libretro-common"]
path = libretro/libretro-common
url = https://github.com/libretro/libretro-common.git
@ -61,9 +43,6 @@
[submodule "libretro/cores/dinothawr/core"]
path = libretro/cores/dinothawr/core
url = https://github.com/libretro/Dinothawr
[submodule "nimble/nim-monero"]
path = nim/nim-monero
url = git://depot.h4ck.me/srv/git/nim-monero
[submodule "libretro/cores/scummvm/upstream"]
path = libretro/cores/scummvm/upstream
url = https://github.com/libretro/scummvm.git
@ -73,18 +52,6 @@
[submodule "libretro/cores/bluemsx/upstream"]
path = libretro/cores/bluemsx/upstream
url = git@github.com:ehmry/blueMSX-libretro.git
[submodule "nimble/fetch_and_copy"]
path = nim/fetch_and_copy
url = git://depot.h4ck.me/srv/git/fetch_and_copy.
[submodule "nimble/nim"]
path = nim/nim
url = https://github.com/ehmry/nim.git
[submodule "nimble/spry_genode"]
path = nim/spry_genode
url = git@github.com:ehmry/spry_genode.git
[submodule "nimble/carn"]
path = nim/carn_layouter
url = git://depot.h4ck.me/srv/git/carn_layouter
[submodule "libretro/bios/cbios-cbios"]
path = libretro/bios/cbios-cbios
url = https://git.code.sf.net/p/cbios/cbios
@ -94,18 +61,6 @@
[submodule "libretro/cores/dosbox-svn/upstream"]
path = libretro/cores/dosbox-svn/upstream
url = https://github.com/libretro/dosbox-svn.git
[submodule "nim/xspf_view"]
path = nim/xspf_view
url = git://depot.h4ck.me/srv/git/xspf_view
[submodule "upstream"]
path = upstream
url = git@github.com:ehmry/genode.git
[submodule "nim/blobbot"]
path = nim/blobbot
url = git://depot.h4ck.me/srv/git/blobbot
[submodule "libretro/cores/yabause/upstream"]
path = libretro/cores/yabause/upstream
url = https://github.com/libretro/yabause.git
[submodule "dhall"]
path = dhall
url = https://github.com/ehmry/dhall-genode.git

View File

@ -1,7 +0,0 @@
![UNDER CONSTRUCTION](.underconstruction.gif)
This is a super-repository containing an experimental [Tup](http://gittup.org/tup) build
system and submodules containing Genode components and runtime metadata.
See http://github.com/ehmry/genode-tup-super for a super-repo skeleton, please
forward any pull requests for the build-system there.

67
Tupfile
View File

@ -1,67 +0,0 @@
.gitignore
include_rules
ifndef SCULPT_VERSION
error CONFIG_SCULPT_VERSION is undefined
endif
ifndef PUBLIC_USER
error CONFIG_PUBLIC_USER is undefined
endif
SHORT_SUM = b2sum -l24
: $(DEPOT_DIR)/<raw-archives> $(DEPOT_DIR)/<bin-archives> |> \
for f in %<raw-archives> %<bin-archives>; do \
awk -F '/' '{print "s|local/"$2"/"$3"/current|@(PUBLIC_USER)/"$2"/"$3"/"$4"|"}' $f >> %o; done; \
|> $(VERSIONS_SED_FILE)
# Generate a listing of all raw archives
: $(DEPOT_DIR)/<raw-archives> |> \
touch %o; \
for f in %<raw-archives>; do cat $f >> %o; done; \
|> $(RAW_LISTING)
# Generate a listing of all raw archives
: $(DEPOT_DIR)/<bin-archives> |> \
for f in %<bin-archives>; do tail -n1 $f >> %o; done; \
|> $(BIN_LISTING)
# Generate a listing of all binary archives
: $(DEPOT_DIR)/<pkg> |> ^ generate package version sed script^ \
for d in `dirname %<pkg> | tr ' ' '\n' | sort -u`; do \
echo $d/`cat $d/.ARCHIVES $d/runtime | $(SHORT_SUM)` | awk -F '/' \
'{print "s|local/pkg/"$3"/current|@(PUBLIC_USER)/pkg/"$3"/"substr($5,0,6)"|"}' >> %o; \
done \
|> $(PKG_SED_FILE)
# Generate sed commands for replacing package versions
: $(DEPOT_DIR)/<raw-archives> $(DEPOT_DIR)/<bin-archives> $(PKG_SED_FILE) |> \
^ generate public makefile^ \
echo PUBLIC_USER=@(PUBLIC_USER) >> %o; \
echo PUBLIC_ARCH=@(TUP_ARCH) >> %o; \
echo "all: public/@(PUBLIC_USER)/index/@(SCULPT_VERSION).xz.sig" >> %o; \
echo %%.xz.sig: %%.xz >> %o; \
echo " @echo sign \$<" >> %o; \
echo " @gpg --detach-sign --digest-algo SHA256 --no-tty --local-user @(PUBLIC_KEY) < \$< > tmp" >> %o; \
echo " @mv tmp \$@" >> %o; \
for f in %<raw-archives>; do \
awk -F '/' -f errata/raw.mk.awk $f >> %o; done; \
for f in %<bin-archives>; do \
awk -F '/' -f errata/bin.mk.awk $f >> %o; done; \
awk -F '/' -f errata/pkg.mk.awk $(PKG_SED_FILE) >> %o; \
|> Makefile
# Generate the makefile for creating signed package tarballs
AWK_RUNTIME_PATH = awk -v RS=' ' -F '/' \
'/runtime/ {print " <pkg path=\"local/pkg/"$3"/current\"/>"}'
: $(DEPOT_DIR)/<pkg> |> ^ generate local index^ \
echo '<index>' > %o; \
echo %<pkg> | $(AWK_RUNTIME_PATH) | sort >> %o; \
echo '</index>' >> %o |> $(DEPOT_DIR)/index/@(SCULPT_VERSION)
# Generate the depot index file
: index.dhall | $(DEPOT_DIR)/index/<entry> |> \
!dhall text < %f | xmllint --format - | xz > %o \
|> public/@(PUBLIC_USER)/index/@(SCULPT_VERSION).xz

View File

@ -1,12 +0,0 @@
CONFIG_TUP_ARCH=arm64
CONFIG_TOOL_CHAIN_PREFIX=genode-aarch64-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_NO_NETWORK=
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7

View File

@ -1,15 +0,0 @@
CONFIG_TUP_ARCH=x86_64
CONFIG_x86=
CONFIG_TOOL_CHAIN_PREFIX=genode-x86-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_NO_NETWORK=
CONFIG_BUILD_NOVA=y
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7

View File

@ -1,62 +0,0 @@
CONFIG_TUP_ARCH=x86_64
CONFIG_x86=
CONFIG_TOOL_CHAIN_PREFIX=genode-x86-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_BUILD_NOVA=y
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
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=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
CONFIG_PUBLIC_SRC_BASE_NOVA=genodelabs/src/base-nova/2019-05-26
CONFIG_PUBLIC_SRC_BLOCK_SHRED=ehmry/src/block_shred/2019-03-31
CONFIG_PUBLIC_SRC_CHROOT=_/src/chroot
CONFIG_PUBLIC_SRC_EXPAT=nfeske/src/expat/2019-02-19
CONFIG_PUBLIC_SRC_FS_LOG=_/src/fs_log
CONFIG_PUBLIC_SRC_INIT=_/src/init
CONFIG_PUBLIC_SRC_LIBC=genodelabs/src/libc/2019-07-08
CONFIG_PUBLIC_SRC_LIBCRYPTO=ehmry/src/libcrypto/2019-05-24
CONFIG_PUBLIC_SRC_LIBICONV=genodelabs/src/libiconv/2019-05-26
CONFIG_PUBLIC_SRC_LIBMPG123=ehmry/src/libmpg123/2019-05-24
CONFIG_PUBLIC_SRC_LIBPNG=ehmry/src/libpng/2019-05-24
CONFIG_PUBLIC_SRC_LIBSSH=ehmry/src/libssh/2019-05-24
CONFIG_PUBLIC_SRC_LIBSSL=ehmry/src/libssl/2019-05-24
CONFIG_PUBLIC_SRC_MENU_VIEW=ehmry/src/menu_view/2019-05-24
CONFIG_PUBLIC_SRC_MESA=ehmry/src/mesa/2019-05-24
CONFIG_PUBLIC_SRC_MOTIF_DECORATOR=ehmry/src/decorator/2019-05-24
CONFIG_PUBLIC_SRC_MP3_AUDIO_SINK=ehmry/src/mp3_audio_sink/2019-05-24
CONFIG_PUBLIC_SRC_NIC_BRIDGE=ehmry/src/nic_bridge/2019-05-24
CONFIG_PUBLIC_SRC_NIT_FB=ehmry/src/nit_fb/2019-05-24
CONFIG_PUBLIC_SRC_NOUX=ehmry/src/noux/2019-05-24
CONFIG_PUBLIC_SRC_NCURSES=ehmry/src/ncurses/2019-05-24
CONFIG_PUBLIC_SRC_POSIX=_/src/posix
CONFIG_PUBLIC_SRC_RAM_BLOCK=alex-ab/src/ram_block/2019-02-25
CONFIG_PUBLIC_SRC_REPORT_ROM=_/src/report_rom
CONFIG_PUBLIC_SRC_ROM_BLOCK=ehmry/src/rom_block/2019-04-05-a
CONFIG_PUBLIC_SRC_SDL=ehmry/src/sdl/2019-05-24
CONFIG_PUBLIC_SRC_SEOUL_NOVA=ehmry/src/seoul-nova/2019-05-01-a
CONFIG_PUBLIC_SRC_SHOW_INPUT=ehmry/src/show_input/2019-05-24
CONFIG_PUBLIC_SRC_SSH_CLIENT=ehmry/src/ssh_client/2019-05-24
CONFIG_PUBLIC_SRC_STDCXX=genodelabs/src/stdcxx/2019-05-27
CONFIG_PUBLIC_SRC_TERMINAL=ehmry/src/terminal/2019-05-24-a
CONFIG_PUBLIC_SRC_VBOX_NOVA=genodelabs/src/vbox5-nova/2019-05-28
CONFIG_PUBLIC_SRC_VFS_AUDIT=ehmry/src/vfs_audit/2019-04-20
CONFIG_PUBLIC_SRC_VFS=_/src/vfs
CONFIG_PUBLIC_SRC_VFS_JITTERENTROPY=ehmry/src/vfs_jitterentropy/2019-05-24
CONFIG_PUBLIC_SRC_VFS_LWIP=ehmry/src/vfs_lwip/2019-05-24
CONFIG_PUBLIC_SRC_VFS_LXIP=ehmry/src/vfs_lxip/2019-05-24
CONFIG_PUBLIC_SRC_VFS_TTF=nfeske/src/vfs_ttf/2019-06-20
CONFIG_PUBLIC_SRC_WINDOW_LAYOUTER=ehmry/src/window_layouter/2019-05-24
CONFIG_PUBLIC_SRC_WM=ehmry/src/wm/2019-05-24
CONFIG_PUBLIC_SRC_ZLIB=genodelabs/src/zlib/2019-05-26

1
dhall

@ -1 +0,0 @@
Subproject commit abd76668aeba6ebdd8396f7ec4d9c74b5b426f04

View File

@ -1,68 +0,0 @@
{ pkgs ? import <nixpkgs> {} }: with pkgs;
let
genodeVersion = "19.05";
glibcVersion = (builtins.parseDrvName stdenv.glibc.name).version;
in
stdenv.mkDerivation rec {
name = "genode-toolchain-${genodeVersion}";
version = genodeVersion;
src =
if stdenv.isx86_64 then
fetchurl {
url = "https://downloads.sourceforge.net/project/genode/genode-toolchain/${genodeVersion}/genode-toolchain-${genodeVersion}-x86_64.tar.xz";
sha256 = "036czy21zk7fvz1y1p67q3d5hgg8rb8grwabgrvzgdsqcv2ls6l9";
}
else abort "no toolchain for ${stdenv.system}";
buildInputs = [ patchelf ];
dontPatchELF = true;
# installPhase is disabled for now
phases = "unpackPhase fixupPhase";
unpackPhase = ''
mkdir -p $out
echo "unpacking $src..."
tar xf $src --strip-components=5 -C $out
'';
installPhase = ''
cd $out/bin
for platform in arm x86 ; do
dest="$"$platform"/bin"
eval dest=$"$dest"
mkdir -p $dest
for b in genode-$platform-* ; do
eval ln -s $b $dest/$\{b#genode-$platform-\}
done
done
cd -
'';
fixupPhase = ''
interp=${stdenv.glibc.out}/lib/ld-${glibcVersion}.so
if [ ! -f "$interp" ] ; then
echo new interpreter $interp does not exist,
echo cannot patch binaries
exit 1
fi
for f in $(find $out); do
if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
patchelf --set-interpreter $interp \
--set-rpath $out/lib:${stdenv.glibc.out}/lib:${zlib.out}/lib \
"$f" || true
fi
done
'';
passthru = { libc = stdenv.glibc; };
}

View File

@ -1,97 +0,0 @@
let owner = "ehmry"
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
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 }
let ownedEntry =
λ(owner : Text)
→ λ(e : Entry)
→ XML.leaf
{ name =
"pkg"
, attributes =
[ { mapKey = "info", mapValue = e.info }
, { mapKey =
"path"
, mapValue =
"${owner}/pkg/${e.name}/${e.version}"
}
]
}
let entry = ownedEntry owner
let subIndex =
λ(name : Text)
→ λ(entries : List Entry)
→ XML.element
{ name =
"index"
, attributes =
[ { mapKey = "name", mapValue = name } ]
, content =
List/map Entry XML/Type entry entries
}
let emu =
subIndex
"Emulators and game engines"
[ ./depot/pkg/fceumm/current/index.dhall
, ./depot/pkg/gambatte/current/index.dhall
, ./depot/pkg/snes9x/current/index.dhall
, ./depot/pkg/mgba/current/index.dhall
]
let games =
subIndex
"Games"
[ ./depot/pkg/libretro-2048/current/index.dhall
, ./depot/pkg/tyrquake/current/index.dhall
]
let streams =
subIndex
"Streams"
[ ./depot/pkg/ifm1/current/index.dhall
, ./depot/pkg/ifm2/current/index.dhall
, ./depot/pkg/ifm3/current/index.dhall
]
let utilities =
subIndex
"Utilities"
[ ./depot/pkg/depot_9P/current/index.dhall
, ./depot/pkg/show_input/current/index.dhall
, ./depot/pkg/nic_bus/current/index.dhall
, ./depot/pkg/noux-system/current/index.dhall
, ./depot/pkg/backdrop/current/index.dhall
]
let index =
XML.element
{ name =
"index"
, attributes =
XML.emptyAttributes
, content =
[ emu
, games
, streams
, utilities
, XML.text
"<pkg path=\"cnuke/pkg/bsd_audio_drv/2019-07-02\" info=\"OpenBSD audio driver\"/>"
]
}
in XML.render index

View File

@ -1,31 +0,0 @@
ifeq (@(TUP_ARCH),x86_64)
DEPOT_ARCH = x86_64
endif
ifeq ($(DEPOT_ARCH),)
error unhandled TUP_ARCH @(TUP_ARCH)
endif
include_rules
: $(DEPOT_DIR)/<raw-archives> |> \
awk -F '/' 'BEGIN { print "{=}"} {print "∧{"$3"={version=\""$4"\",owner=\"@(PUBLIC_USER)\"}}" }' $f \
<<< %<raw-archives> | dhall > %o\
|> raw.dhall {records}
: $(DEPOT_DIR)/<bin-archives> |> \
awk -F '/' 'BEGIN { print "{=}"} {print "∧{"$3"={version=\""$4"\",owner=\"@(PUBLIC_USER)\"}}" }' $f <<< %<bin-archives> \
| dhall > %o\
|> bin.dhall {records}
SHORT_SUM = b2sum -l24
: $(DEPOT_DIR)/<pkg> |> \
echo '{=}' > %o; \
for d in `dirname %<pkg> | tr ' ' '\n' | sort -u`; do \
echo $d/`cat $d/.ARCHIVES $d/runtime | $(SHORT_SUM)` | awk -F '/' \
'{print "∧{"$4"={version=\""substr($6,0,6)"\",owner=\"@(PUBLIC_USER)\"}}"}' >> %o; \
done \
|> pkg.dhall {records}
: | {records} |> !dhall <<< '{bin = { $(DEPOT_ARCH) = ./bin.dhall }, pkg = ./pkg.dhall, raw = ./raw.dhall }' > %o |> $(DEPOT_MANIFEST) $(PUBLIC_DIR)/<manifest>

View File

@ -1 +0,0 @@
{ bin = { x86_64 = { ram_block = "2019-02-25" } } }

View File

@ -1,69 +0,0 @@
{ bin =
{ x86_64 =
{ block_shred =
"2019-03-31"
, libcrypto =
"2019-05-24"
, libmpg123 =
"2019-05-24"
, libpng =
"2019-05-24"
, libssh =
"2019-05-24"
, libssl =
"2019-05-24"
, menu_view =
"2019-05-24"
, mesa =
"2019-05-24"
, decorator =
"2019-05-24"
, mp3_audio_sink =
"2019-05-24"
, nic_bridge =
"2019-05-24"
, nit_fb =
"2019-05-24"
, noux =
"2019-05-24"
, ncurses =
"2019-05-24"
, rom_block =
"2019-04-05-a"
, sdl =
"2019-05-24"
, seoul-nova =
"2019-05-01-a"
, show_input =
"2019-05-24"
, ssh_client =
"2019-05-24"
, terminal =
"2019-05-24-a"
, vfs_audit =
"2019-04-20"
, vfs_jitterentropy =
"2019-05-24"
, vfs_lwip =
"2019-05-24"
, vfs_lxip =
"2019-05-24"
, window_layouter =
"2019-05-24"
, wm =
"2019-05-24"
}
}
, pkg =
{ audio_player =
"2019-05-15"
, avplay =
"2019-04-24"
, backdrop =
"2019-05-24"
, noux-system =
"2019-05-24"
, pdf_view =
"2019-05-17"
}
}

View File

@ -1,15 +0,0 @@
{ bin =
{ x86_64 =
{ base-nova =
"2019-05-26"
, libiconv =
"2019-05-26"
, stdcxx =
"2019-05-27"
, vbox5-nova =
"2019-05-28"
, zlib =
"2019-05-26"
}
}
}

View File

@ -1,5 +0,0 @@
{ bin =
{ x86_64 =
{ expat = "2019-02-19", libc = "2019-06-24", vfs_ttf = "2019-06-20" }
}
}

View File

@ -1,9 +0,0 @@
This directory hosts component submodules written in Nim. Integration is simple,
commit a `Tupfile` containing the following to the upstream repository, assuming
the repository contains an `*,nimble`, an `archives`, and a `runtime` file.
```tup
include_rules
include &(NIMBLE_BINARIES_INCLUDE)
include &(NIMBLE_PACKAGE_INCLUDE)
```

View File

@ -1,33 +0,0 @@
# Nim default variables
ifeq (@(TUP_ARCH),arm64)
NIM_CPU = arm64
endif
ifeq (@(TUP_ARCH),i386)
NIM_CPU = i386
endif
ifeq (@(TUP_ARCH),x86_64)
NIM_CPU = amd64
endif
NIM_RELEASE_FLAG = -d:release
# Drop the relase flag with the line "NIM_RELEASE_FLAG="
NIM_SRC_DIR = src
# Build everything in this directory
BIN_VERSION = $(GIT_VERSION)
# Use the git version as the binary package version
&NIMBLE_BINARIES_INCLUDE = binaries.tup
&NIMBLE_PACKAGE_INCLUDE = package.tup
!nim_build = | $(GENODE_DIR)/<pkg-config> $(GENODE_DIR)/<stub> \
|> ^o Nimble %B^ \
PKG_CONFIG_PATH=`pwd`/$(PKG_CONFIG_DIR) \
nimble cpp $(NIM_RELEASE_FLAG) $(NIM_FLAGS) \
--cpu:$(NIM_CPU) --os:genode -d:posix \
--parallelBuild:1 --passL:-L`pwd`/$(STUB_DIR) -o:%B %f \
|> %B ./<binaries>
# Nim may invoke the C++ compiler at an arbitrary location,
# thus the relative $(PKG_CONFIG_DIR) is prepended with `pwd`

View File

@ -1,3 +0,0 @@
: foreach $(NIM_SRC_DIR)/*.nim |> !nim_build |> {binary}
: foreach {binary} |> !collect_bin |>
: |> !bin |>

@ -1 +0,0 @@
Subproject commit 0a0c4cdb7c4102c5dadbddea632287638441d89c

@ -1 +0,0 @@
Subproject commit aaa61aebd895e60de28936711b6231d9e555888a

@ -1 +0,0 @@
Subproject commit 48b29f8d699571eb79ac73e248754e464f6b9bc7

@ -1 +0,0 @@
Subproject commit 80a63d06a41230f98a44b09c8167d14275efee7c

@ -1 +0,0 @@
Subproject commit c16dd1b093dface9bb8be00da5edbc4b790363cc

@ -1 +0,0 @@
Subproject commit e8abc833f3522794ea691e36f561fe8bf2481af4

@ -1 +0,0 @@
Subproject commit 84c694a34b489157ce222de1b77d67f0775f9993

@ -1 +0,0 @@
Subproject commit e7471cebae2a404f3e4239f199f5a0c422484aac

@ -1 +0,0 @@
Subproject commit 1d58fcff44e4ad94a5fd5983e64989ba312f7d70

@ -1 +0,0 @@
Subproject commit a50208a35aec3031c81f5b4d6141498465ebcf90

@ -1 +0,0 @@
Subproject commit 739918bcd740f1c3447d3fe54ff275919762c5fe

View File

@ -1,4 +0,0 @@
PKG_VERSION = $(GIT_VERSION)
: runtime | ./<binaries> |> !collect_pkg_runtime |>
: |> !pkg |>

@ -1 +0,0 @@
Subproject commit 8f71f727c13b5cafebc3cc91ccfc9709ef287248

@ -1 +0,0 @@
Subproject commit 066b2c3fb9c005e1f29ee9a7c1b0431882790116

View File

View File

@ -1,22 +0,0 @@
{ tool ? import ../tool { } }:
let
importPort = path:
let f = (import path);
in f (builtins.intersectAttrs (builtins.functionArgs f) (tool.nixpkgs // tool) );
dir = builtins.readDir ../ports;
in
builtins.listToAttrs (
builtins.filter
(x: x != null)
(map
(name:
if (builtins.getAttr name dir) != "directory" then null else
{ inherit name;
value = importPort (../ports + "/${name}");
}
)
(builtins.attrNames dir)
)
)

View File

@ -1,35 +0,0 @@
TARGET_NAME = mpg123
LIBS += libc
include_rules
SOURCE_LINK = port-source
API_LINK = port-api
: |> $(NIX_BUILD) .. --out-link port \
--attr %d.source --attr %d.api |> $(SOURCE_LINK) $(API_LINK) {port}
: $(API_LINK) |> cp %f/pkg-config/%d.pc %o \
|> $(PKG_CONFIG_DIR)/%d.pc $(GENODE_DIR)/<pkg-config>
: libmpg123.symbols |> !abi_stub |>
INCLUDES += -I.
INCLUDES += -I$(SOURCE_LINK)/src/libmpg123
INCLUDES += -I$(SOURCE_LINK)/src/compat
INCLUDES += -I$(SOURCE_LINK)/src
INCLUDES += -I$(API_LINK)/include
ifeq (@(TUP_ARCH),x86_64)
DEFINES += -DOPT_X86_64
run ./port_rules.sh $(SOURCE_LINK) common.files x86_64.files
endif
ifeq (@(TUP_ARCH),arm)
DEFINES += -DOPT_ARM
run ./port_rules.sh $(SOURCE_LINK) common.files arm.files
endif
: {obj} |> !lib |> libmpg123.lib.so {bin}
: {bin} |> !collect_bin |>
include &(BIN_RULES)

View File

@ -1 +0,0 @@
src/libmpg123/synth_arm.S

View File

@ -1,38 +0,0 @@
src/compat/compat.c
src/compat/compat_str.c
src/libmpg123/parse.c
src/libmpg123/layer1.c
src/libmpg123/synth_stereo_avx.S
src/libmpg123/feature.c
src/libmpg123/lfs_alias.c
src/libmpg123/synth_s32.c
src/libmpg123/dct64_avx.S
src/libmpg123/tabinit.c
src/libmpg123/dct64_i386.c
src/libmpg123/format.c
src/libmpg123/dct64_avx_float.S
src/libmpg123/dither.c
src/libmpg123/synth.c
src/libmpg123/synth_8bit.c
src/libmpg123/layer3.c
src/libmpg123/dct64.c
src/libmpg123/synth_stereo_avx_accurate.S
src/libmpg123/mpg123.h.in
src/libmpg123/icy.c
src/libmpg123/index.c
src/libmpg123/equalizer.c
src/libmpg123/readers.c
src/libmpg123/icy2utf8.c
src/libmpg123/stringbuf.c
src/libmpg123/synth_real.c
src/libmpg123/dct36_avx.S
src/libmpg123/testcpu.c
src/libmpg123/frame.c
src/libmpg123/id3.c
src/libmpg123/Makemodule.am
src/libmpg123/ntom.c
src/libmpg123/synth_stereo_avx_float.S
src/libmpg123/libmpg123.c
src/libmpg123/synth_stereo_avx_s32.S
src/libmpg123/layer2.c
src/libmpg123/optimize.c

View File

@ -1,48 +0,0 @@
#define ASMALIGN_BALIGN 1
#define CCALIGN 1
#define DYNAMIC_BUILD 1
#define FRAME_INDEX 1
#define GAPLESS 1
#define HAVE_ATOLL 1
#define HAVE_DIRENT_H 1
#define HAVE_DLCLOSE 1
#define HAVE_DLFCN_H 1
#define HAVE_DLOPEN 1
#define HAVE_DLSYM 1
#define HAVE_GETPAGESIZE 1
#define HAVE_GETUID 1
#define HAVE_INTTYPES_H 1
#define HAVE_LIBM 1
#define HAVE_LIMITS_H 1
#define HAVE_MEMORY_H 1
#define HAVE_RANDOM 1
#define HAVE_STDINT_H 1
#define HAVE_STDIO_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRERROR 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_RESOURCE_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_SIGNAL_H 1
#define HAVE_SYS_SOUNDCARD_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_WAIT_H 1
#define HAVE_TERMIOS 1
#define HAVE_UNISTD_H 1
#define IEEE_FLOAT 1
#define INDEX_SIZE 1000
#define LFS_ALIAS_BITS 64
#define SIZEOF_INT32_T 4
#define SIZEOF_LONG 8
#define SIZEOF_OFF_T 8
#define SIZEOF_SIZE_T 8
#define SIZEOF_SSIZE_T 8
#define STDC_HEADERS 1
#define USE_MODULES 1
#define USE_NEW_HUFFTABLE 1
#define lfs_alias_t off_t

View File

@ -1,27 +0,0 @@
{ preparePort, mpg123 }:
let
apiVersion = 44; # found in configure.ac
in
preparePort rec {
inherit (mpg123) name src;
outputs = [ "source" "api" ];
buildPhase =
''
mkdir -p $api/include $api/pkg-config
sed \
-e 's/@API_VERSION@/$(API_VERSION)/' \
-e '/@.*@/d' \
src/libmpg123/mpg123.h.in > $api/include/mpg123.h
cp src/libmpg123/fmt123.h $api/include
sed \
-e "s|@includedir@|$api/include|" \
-e 's/@PACKAGE_VERSION@/${(builtins.parseDrvName name).version}/' \
-e 's/^Libs:.*/Libs: -l:libmpg123.lib.so/' \
-e '/@/d' \
< libmpg123.pc.in > $api/pkg-config/mpg123.pc
'';
}

View File

@ -1,115 +0,0 @@
mpg123_add_string T
mpg123_add_substring T
mpg123_chomp_string T
mpg123_clip T
mpg123_close T
mpg123_copy_string T
mpg123_current_decoder T
mpg123_decode T
mpg123_decode_frame T
mpg123_decode_frame_64 T
mpg123_decoder T
mpg123_decoders T
mpg123_delete T
mpg123_delete_pars T
mpg123_enc_from_id3 T
mpg123_encodings T
mpg123_encsize T
mpg123_eq T
mpg123_errcode T
mpg123_exit T
mpg123_feature T
mpg123_feed T
mpg123_feedseek T
mpg123_feedseek_64 T
mpg123_fmt T
mpg123_fmt_all T
mpg123_fmt_none T
mpg123_fmt_support T
mpg123_format T
mpg123_format_all T
mpg123_format_none T
mpg123_format_support T
mpg123_framebyframe_decode T
mpg123_framebyframe_decode_64 T
mpg123_framebyframe_next T
mpg123_framedata T
mpg123_framelength T
mpg123_framelength_64 T
mpg123_framepos T
mpg123_framepos_64 T
mpg123_free_string T
mpg123_geteq T
mpg123_getformat T
mpg123_getformat2 T
mpg123_getpar T
mpg123_getparam T
mpg123_getstate T
mpg123_getvolume T
mpg123_grow_string T
mpg123_icy T
mpg123_icy2utf8 T
mpg123_id3 T
mpg123_index T
mpg123_index_64 T
mpg123_info T
mpg123_init T
mpg123_init_string T
mpg123_length T
mpg123_length_64 T
mpg123_meta_check T
mpg123_meta_free T
mpg123_new T
mpg123_new_pars T
mpg123_noise T
mpg123_open T
mpg123_open_64 T
mpg123_open_fd T
mpg123_open_fd_64 T
mpg123_open_feed T
mpg123_open_handle T
mpg123_open_handle_64 T
mpg123_outblock T
mpg123_par T
mpg123_param T
mpg123_parnew T
mpg123_plain_strerror T
mpg123_position T
mpg123_position_64 T
mpg123_rates T
mpg123_read T
mpg123_replace_buffer T
mpg123_replace_reader T
mpg123_replace_reader_64 T
mpg123_replace_reader_handle T
mpg123_replace_reader_handle_64 T
mpg123_reset_eq T
mpg123_resize_string T
mpg123_safe_buffer T
mpg123_scan T
mpg123_seek T
mpg123_seek_64 T
mpg123_seek_frame T
mpg123_seek_frame_64 T
mpg123_set_filesize T
mpg123_set_filesize_64 T
mpg123_set_index T
mpg123_set_index_64 T
mpg123_set_string T
mpg123_set_substring T
mpg123_spf T
mpg123_store_utf8 T
mpg123_strerror T
mpg123_strlen T
mpg123_supported_decoders T
mpg123_tell T
mpg123_tell_64 T
mpg123_tell_stream T
mpg123_tell_stream_64 T
mpg123_tellframe T
mpg123_tellframe_64 T
mpg123_timeframe T
mpg123_timeframe_64 T
mpg123_tpf T
mpg123_volume T
mpg123_volume_change T

View File

@ -1,16 +0,0 @@
#!/bin/sh
LINK=$1
shift
for LIST in $@
do
grep '\.c$' ${LIST} | while read f
do
echo ": {port} |> !cc_port ${LINK}/${f} |> ${f}.o {obj}"
done
grep '\.S$' ${LIST} | while read f
do
echo ": {port} |> !cc_port ${LINK}/${f} |> ${f}.o {obj}"
done
done

View File

@ -1,5 +0,0 @@
src/libmpg123/getcpuflags_x86_64.S
src/libmpg123/dct64_x86_64.S
src/libmpg123/synth_stereo_x86_64.S
src/libmpg123/synth_x86_64.S
src/libmpg123/dct36_x86_64.S

2
rrd/.gitignore vendored
View File

@ -1,2 +0,0 @@
.rrd
*.png

View File

@ -1,31 +0,0 @@
#!/usr/bin/env bash
SQL_FILE=../.tup/db
RRD_FILE=.rrd
[ -e "$RRD_FILE" ] || rrdtool create "$RRD_FILE" \
--step 1h \
DS:node:GAUGE:2d:1000:1000000 \
DS:normal_link:GAUGE:2d:1000:1000000 \
DS:sticky_link:GAUGE:2d:1000:1000000 \
DS:group_link:GAUGE:2d:1000:1000000 \
DS:var:GAUGE:2d:1000:1000000 \
RRA:AVERAGE:0.5:1h:72h \
RRA:AVERAGE:0.5:1d:4y \
QUERY="select COUNT(*) from node; select COUNT(*) from normal_link; select COUNT(*) from sticky_link; select COUNT(*) from group_link; select COUNT(*) from var;"
LINES=`sqlite3 $SQL_FILE -readonly "$QUERY" `
RECORDS=`echo $LINES | tr ' ' ':' `
rrdtool update ${RRD_FILE} N:$RECORDS
rrdtool graph chart.png \
--start 1561669840 \
--logarithmic \
DEF:nodes="$RRD_FILE":node:AVERAGE LINE2:nodes#000000:nodes \
DEF:normal_link="$RRD_FILE":normal_link:AVERAGE LINE2:normal_link#0000FF:"normal links" \
DEF:sticky_link="$RRD_FILE":sticky_link:AVERAGE LINE2:sticky_link#0080FF:"sticky links" \
DEF:group_link="$RRD_FILE":group_link:AVERAGE LINE2:group_link#8000FF:"group links" \
DEF:var="$RRD_FILE":var:AVERAGE LINE2:var#FF0000:variables \

View File

@ -1,40 +0,0 @@
TARGET_NAME = arora
PKG_DEPENDS += \
cproc/raw/qt5_dejavusans/2019-02-25 \
cproc/src/expat/2019-03-18 \
cproc/src/freetype/2019-02-25 \
cproc/src/jpeg/2019-02-25 \
cproc/src/libc/2019-03-18 \
cproc/src/libpng/2019-02-25 \
cproc/src/mesa/2019-03-18 \
cproc/src/pcre16/2019-03-18 \
cproc/src/qt5_core/2019-03-18 \
cproc/src/qt5_gui/2019-03-18 \
cproc/src/qt5_qjpeg/2019-03-18 \
cproc/src/qt5_qpa_nitpicker/2019-03-18 \
cproc/src/stdcxx/2019-02-25 \
cproc/src/vfs/2019-03-18 \
cproc/src/zlib/2019-02-25 \
cproc/raw/arora/2019-03-18 \
cproc/src/arora/2019-03-18 \
cproc/src/icu/2019-03-18 \
cproc/src/libcrypto/2019-03-18 \
cproc/src/libssl/2019-03-18 \
cproc/src/qt5_network/2019-03-18 \
cproc/src/qt5_printsupport/2019-03-18 \
cproc/src/qt5_qnitpickerviewwidget/2019-03-18 \
cproc/src/qt5_opengl/2019-03-18 \
cproc/src/qt5_qpluginwidget/2019-03-18 \
cproc/src/qt5_scriptclassic/2019-03-18 \
cproc/src/qt5_sql/2019-03-18 \
cproc/src/qt5_ui_tools/2019-03-18 \
cproc/src/qt5_webkit/2019-03-18 \
cproc/src/qt5_widgets/2019-03-18 \
cproc/src/vfs_jitterentropy/2019-03-18 \
cproc/src/vfs_lxip/2019-03-18 \
include_rules
: runtime |> !collect_pkg_runtime |>
include &(PKG_RULES)

View File

@ -1,125 +0,0 @@
<runtime ram="512M" caps="10000" binary="init">
<requires>
<file_system/>
<nic/>
<nitpicker/>
<report label="clipboard"/>
<report label="shape"/>
<rm/>
<rtc/>
</requires>
<content>
<!-- common for Qt GUI applications -->
<rom label="egl.lib.so"/>
<rom label="egl_swrast.lib.so"/>
<rom label="expat.lib.so"/>
<rom label="freetype.lib.so"/>
<rom label="glapi.lib.so"/>
<rom label="jpeg.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libc_pipe.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libpng.lib.so"/>
<rom label="mesa.lib.so"/>
<rom label="pcre16.lib.so"/>
<rom label="qt5_core.lib.so"/>
<rom label="qt5_dejavusans.tar"/>
<rom label="qt5_gui.lib.so"/>
<rom label="qt5_qjpeg.lib.so"/>
<rom label="qt5_qpa_nitpicker.lib.so"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
<rom label="zlib.lib.so"/>
<!-- application -->
<rom label="vfs"/>
<rom label="arora"/>
<rom label="icu.lib.so"/>
<rom label="libcrypto.lib.so"/>
<rom label="libssl.lib.so"/>
<rom label="lxip.lib.so"/>
<rom label="qt5_angle.lib.so"/>
<rom label="qt5_jscore.lib.so"/>
<rom label="qt5_network.lib.so"/>
<rom label="qt5_opengl.lib.so"/>
<rom label="qt5_printsupport.lib.so"/>
<rom label="qt5_qnitpickerviewwidget.lib.so"/>
<rom label="qt5_qpluginwidget.lib.so"/>
<rom label="qt5_scriptclassic.lib.so"/>
<rom label="qt5_sql.lib.so"/>
<rom label="qt5_ui_tools.lib.so"/>
<rom label="qt5_webcore.lib.so"/>
<rom label="qt5_webkit.lib.so"/>
<rom label="qt5_webkitwidgets.lib.so"/>
<rom label="qt5_widgets.lib.so"/>
<rom label="qt5_wtf.lib.so"/>
<rom label="vfs_jitterentropy.lib.so"/>
<rom label="vfs_lxip.lib.so"/>
</content>
<config>
<parent-provides>
<service name="CPU"/>
<service name="LOG"/>
<service name="RM"/>
<service name="ROM"/>
<service name="PD"/>
<service name="File_system"/>
<service name="Nic"/>
<service name="Nitpicker"/>
<service name="Report"/>
<service name="Rtc"/>
<service name="Timer"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<start name="vfs" caps="250">
<resource name="RAM" quantum="32M"/>
<provides> <service name="File_system"/> </provides>
<config>
<vfs> <lxip dhcp="yes"/> </vfs>
<default-policy writeable="yes" root="/"/>
</config>
</start>
<start name="arora" caps="9750">
<resource name="RAM" quantum="480M"/>
<config clipboard="yes">
<vfs>
<dir name="parent"> <fs/> </dir>
<dir name="socket"> <fs label="socket"/> </dir>
<tar name="qt5_dejavusans.tar"/>
<dir name="dev">
<jitterentropy name="random"/>
<log/>
<rtc/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" socket="/socket"/>
</config>
<route>
<service name="File_system" label="socket">
<child name="vfs"/> </service>
<service name="File_system">
<parent/> </service>
<service name="ROM" label="egl_drv.lib.so">
<parent label="egl_swrast.lib.so" /> </service>
<service name="Report" label="shape">
<parent label="shape"/> </service>
<service name="Report" label="clipboard">
<parent label="clipboard"/> </service>
<any-service> <parent /> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,9 +0,0 @@
TARGET_NAME = audio_player
PKG_DEPENDS += \
@(PUBLIC_PKG_AUDIO_PLAYER) \
include_rules
: runtime |> !collect_pkg_runtime |>
include &(PKG_RULES)

View File

@ -1,27 +0,0 @@
<runtime ram="32M" caps="200" binary="audio_player">
<requires>
<audio_out/>
<file_system/>
<rom label="playlist"/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="audio_player"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="zlib.lib.so"/>
<rom label="vfs.lib.so"/>
<rom label="avcodec.lib.so"/>
<rom label="avfilter.lib.so"/>
<rom label="avformat.lib.so"/>
<rom label="avresample.lib.so"/>
<rom label="avutil.lib.so"/>
</content>
<config state="playing" scan_playlist="yes">
<vfs> <fs label="235dab7d754575a97e5b5f24dce4501f4b6019b3d7367dc6e9b051d83cdaf0b5" writeable="no"/> </vfs>
</config>
</runtime>

View File

@ -1,9 +0,0 @@
TARGET_NAME = akira
PKG_DEPENDS += \
@(PUBLIC_PKG_AVPLAY) \
include_rules
: runtime |> !collect_pkg_runtime |>
include &(PKG_RULES)

View File

@ -1,37 +0,0 @@
<runtime ram="96M" caps="256" binary="avplay">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
</requires>
<content>
<rom label="avcodec.lib.so"/>
<rom label="avfilter.lib.so"/>
<rom label="avformat.lib.so"/>
<rom label="avplay"/>
<rom label="avresample.lib.so"/>
<rom label="avutil.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="sdl.lib.so"/>
<rom label="swscale.lib.so"/>
<rom label="vfs.lib.so"/>
<rom label="zlib.lib.so"/>
</content>
<config>
<arg value="avplay"/>
<arg value="blobs/?"/>
<sdl_audio_volume value="100"/>
<libc rtc="/dev/rtc" stdout="/dev/log" stderr="/dev/log"/>
<vfs>
<dir name="dev">
<log/> <inline name="rtc">2000-01-01 00:00</inline>
</dir>
<dir name="blobs"> <fs root="4da3599f5c5917fa319e0c356cbb07c6075aba5ec7b116824bf53a14acdb317d"/> </dir>
</vfs>
</config>
</runtime>

View File

@ -1,16 +0,0 @@
TARGET_NAME = backdrop
PKG_DEPENDS += \
@(PUBLIC_PKG_BACKDROP) \
_/raw/backdrop \
include_rules
: backdrop.png |> !collect_raw |>
: ./pkg.dhall |> !render_runtime |>
include &(RAW_RULES)
include &(PKG_RULES)
: ./pkg.dhall |> !index_pkg |>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

View File

@ -1,38 +0,0 @@
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 =
Genode.Runtime.defaults
⫽ { 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>
''
}
}

View File

@ -1,19 +0,0 @@
TARGET_NAME = ban_ai_multics
PKG_DEPENDS += \
@(PUBLIC_SRC_VFS) \
@(PUBLIC_SRC_LIBC) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_LIBCRYPTO) \
@(PUBLIC_SRC_LIBSSH) \
@(PUBLIC_SRC_VFS_LWIP) \
@(PUBLIC_SRC_SSH_CLIENT) \
@(PUBLIC_SRC_TERMINAL) \
@(PUBLIC_SRC_VFS_JITTERENTROPY) \
@(PUBLIC_SRC_VFS_TTF) \
@(PUBLIC_SRC_ZLIB) \
include_rules
: runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,79 +0,0 @@
<runtime ram="16M" caps="512" binary="init">
<requires>
<file_system label="fonts"/>
<nic/>
<nitpicker/>
<rtc/>
</requires>
<content>
<rom label="init"/>
<rom label="libc.lib.so"/>
<rom label="libcrypto.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libssh.lib.so"/>
<rom label="ssh_client"/>
<rom label="terminal"/>
<rom label="vfs.lib.so"/>
<rom label="vfs_jitterentropy.lib.so"/>
<rom label="vfs_lwip.lib.so"/>
<rom label="zlib.lib.so"/>
</content>
<config>
<parent-provides>
<service name="CPU"/>
<service name="LOG"/>
<service name="PD"/>
<service name="RM"/>
<service name="ROM"/>
<service name="File_system"/>
<service name="Nic"/>
<service name="Nitpicker"/>
<service name="Timer"/>
<service name="Rtc"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="terminal">
<resource name="RAM" quantum="8M"/>
<provides> <service name="Terminal"/> </provides>
<config>
<vfs> <dir name="fonts"> <fs label="fonts"/> </dir> </vfs>
</config>
<route>
<service name="File_system"> <parent label="fonts"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="ssh_client" caps="256">
<resource name="RAM" quantum="8M" />
<exit propagate="yes"/>
<config>
<vfs>
<inline name="host">
<host name="m.trnsz.com" user="dps8" known="no"/></inline>
<dir name="dev">
<rtc/>
<jitterentropy name="random"/>
<log/>
</dir>
<dir name="socket"> <lwip dhcp="yes"/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket" rtc="/dev/rtc"/>
</config>
<route>
<service name="Terminal" label=""> <child name="terminal"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,9 +0,0 @@
TARGET_NAME = block_shred
PKG_DEPENDS += \
@(PUBLIC_SRC_BLOCK_SHRED) \
include_rules
: runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,5 +0,0 @@
<runtime ram="4M" caps="512" binary="block_shred">
<requires> <block/> </requires>
<content> <rom label="block_shred"/> </content>
<config/>
</runtime>

View File

@ -1,4 +0,0 @@
TARGET_NAME = chroot
include_rules
PKG_DEPENDS += @(PUBLIC_SRC_CHROOT)
: runtime |> !collect_pkg_runtime |>

View File

@ -1,6 +0,0 @@
<runtime ram="1M" caps="96" binary="chroot">
<requires> <file_system/> </requires>
<provides> <file_system/> </provides>
<content> <rom label="chroot"/> </content>
<config> <default-policy writeable="yes"/> </config>
</runtime>

View File

@ -1,14 +0,0 @@
TARGET_NAME = depot_9P
PKG_DEPENDS += \
@(PUBLIC_SRC_LIBC) \
@(PUBLIC_SRC_VFS_LWIP) \
_/src/vfs \
_/src/ninep \
include_rules
: runtime |> !collect_pkg_runtime |>
: |> !pkg |>
: ./pkg.dhall |> !index_pkg |>

View File

@ -1 +0,0 @@
{ indexInfo = "Serve /depot/local over 9P" }

View File

@ -1,31 +0,0 @@
<runtime ram="32M" caps="384" binary="nine_p_server">
<requires>
<file_system label="target"/>
<nic/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="nine_p_server"/>
<rom label="vfs.lib.so"/>
<rom label="vfs_lwip.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
<vfs>
<dir name="export">
<dir name="local">
<fs label="target" root="/depot/local"/>
</dir>
</dir>
<dir name="dev"> <log/> </dir>
<dir name="socket">
<lwip ip_addr="10.0.1.99" netmask="255.255.255.0" gateway="10.0.1.1" />
</dir>
</vfs>
</config>
</runtime>

View File

@ -1,4 +0,0 @@
TARGET_NAME = dummy_block
include_rules
PKG_DEPENDS += @(PUBLIC_SRC_RAM_BLOCK)
: runtime |> !collect_pkg_runtime |>

View File

@ -1,5 +0,0 @@
<runtime ram="4M" caps="96" binary="ram_block">
<provides> <block/> </provides>
<content> <rom label="ram_block"/> </content>
<config size="1440K" block_size="512"/>
</runtime>

View File

@ -1,4 +0,0 @@
TARGET_NAME = fs_block_4G
include_rules
PKG_DEPENDS += _/src/fs_block
: runtime |> !collect_pkg_runtime |>

View File

@ -1,8 +0,0 @@
<runtime ram="4M" caps="128" binary="fs_block">
<requires> <file_system/> </requires>
<provides> <block/> </provides>
<content> <rom label="fs_block"/> </content>
<config>
<default-policy file="/disk" block_size="512" writeable="yes" device_size="4G"/>
</config>
</runtime>

View File

@ -1,4 +0,0 @@
TARGET_NAME = fs_block_8G
include_rules
PKG_DEPENDS += _/src/fs_block
: runtime |> !collect_pkg_runtime |>

View File

@ -1,8 +0,0 @@
<runtime ram="4M" caps="128" binary="fs_block">
<requires> <file_system/> </requires>
<provides> <block/> </provides>
<content> <rom label="fs_block"/> </content>
<config>
<default-policy file="/disk" block_size="512" writeable="yes" device_size="8G"/>
</config>
</runtime>

View File

@ -1,9 +0,0 @@
PKG_DEPENDS += \
ehmry/src/mp3_audio_sink/19.02 \
@(PUBLIC_SRC_LIBC) \
@(PUBLIC_SRC_LIBMPG123) \
@(PUBLIC_SRC_VFS_LWIP) \
@(PUBLIC_SRC_ZLIB) \
_/src/icy_client \
_/src/init \
_/src/vfs \

View File

@ -1,7 +0,0 @@
TARGET_NAME = ifm1
include_rules
: ./pkg.dhall |> !render_runtime |> {runtime}
: |> !pkg |>
: ./pkg.dhall |> !index_pkg |>

View File

@ -1,2 +0,0 @@
../pkg.dhall "http://radio.intergalactic.fm:80/1"
∧ { indexInfo = "Intergalactic FM 1" }

View File

@ -1,7 +0,0 @@
TARGET_NAME = ifm2
include_rules
: ./pkg.dhall |> !render_runtime |> {runtime}
: |> !pkg |>
: ./pkg.dhall |> !index_pkg |>

View File

@ -1,2 +0,0 @@
../pkg.dhall "http://radio.intergalactic.fm:80/2"
∧ { indexInfo = "Intergalactic FM 2" }

View File

@ -1,7 +0,0 @@
TARGET_NAME = ifm3
include_rules
: ./pkg.dhall |> !render_runtime |> {runtime}
: |> !pkg |>
: ./pkg.dhall |> !index_pkg |>

View File

@ -1,2 +0,0 @@
../pkg.dhall "http://radio.intergalactic.fm:80/3"
∧ { indexInfo = "Intergalactic FM 3" }

View File

@ -1,83 +0,0 @@
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"
, "libmpg123.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.Runtime.defaults // (config url) }

View File

@ -1,4 +0,0 @@
TARGET_NAME = nic_bridge
include_rules
PKG_DEPENDS += @(PUBLIC_SRC_NIC_BRIDGE)
: runtime |> !collect_pkg_runtime |>

View File

@ -1,6 +0,0 @@
<runtime ram="8M" caps="128" binary="nic_bridge">
<requires> <nic/> </requires>
<provides> <nic/> </provides>
<content> <rom label="nic_bridge"/> </content>
<config> <default-policy/> </config>
</runtime>

View File

@ -1,9 +0,0 @@
TARGET_NAME = nic_bridge_logged
include_rules
PKG_DEPENDS += \
@(PUBLIC_SRC_FS_LOG) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_NIC_BRIDGE) \
: runtime |> !collect_pkg_runtime |>

View File

@ -1,54 +0,0 @@
<runtime ram="10M" caps="256" binary="init">
<requires>
<file_system label="log"/>
<nic/>
</requires>
<provides> <nic/> </provides>
<content>
<rom label="fs_log"/>
<rom label="init"/>
<rom label="nic_bridge"/>
</content>
<config>
<service name="Nic">
<default-policy> <child name="nic_bridge"/> </default-policy>
</service>
<parent-provides>
<service name="CPU"/>
<service name="LOG"/>
<service name="PD"/>
<service name="RM"/>
<service name="ROM"/>
<service name="File_system"/>
<service name="Nic"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<start name="nic_bridge" caps="128">
<resource name="RAM" quantum="8M" />
<provides> <service name="Nic"/> </provides>
<config verbose="yes"> <default-policy/> </config>
<route>
<service name="LOG">
<child name="fs_log"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="fs_log" caps="128">
<resource name="RAM" quantum="2M"/>
<provides> <service name="LOG"/> </provides>
<config> <default-policy/> </config>
<route>
<service name="File_system">
<parent label="log"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,20 +0,0 @@
TARGET_NAME = noux-system
PKG_DEPENDS += \
ehmry/src/bash-minimal/2019-05-24 \
ehmry/src/coreutils-minimal/2019-05-24 \
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 \
include_rules
: ./pkg.dhall |> !render_runtime |>
: |> !pkg |>
: ./pkg.dhall |> !index_pkg |>

View File

@ -1,118 +0,0 @@
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 }
let fsService = λ(l : Text) → serviceLabel "file_system" l
in { indexInfo =
"Noux administration environment"
, runtime =
Genode.Runtime.defaults
⫽ { 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>
''
}
}

View File

@ -1,19 +0,0 @@
TARGET_NAME = ssh_client
PKG_DEPENDS += \
@(PUBLIC_SRC_LIBC) \
@(PUBLIC_SRC_VFS) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_LIBCRYPTO) \
@(PUBLIC_SRC_LIBSSH) \
@(PUBLIC_SRC_VFS_LWIP) \
@(PUBLIC_SRC_SSH_CLIENT) \
@(PUBLIC_SRC_TERMINAL) \
@(PUBLIC_SRC_VFS_JITTERENTROPY) \
@(PUBLIC_SRC_VFS_TTF) \
@(PUBLIC_SRC_ZLIB) \
include_rules
: runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,94 +0,0 @@
<runtime ram="16M" caps="512" binary="init">
<requires>
<file_system label="fonts"/>
<file_system label="secrets"/>
<nic/>
<nitpicker/>
</requires>
<content>
<rom label="init"/>
<rom label="libc.lib.so"/>
<rom label="libcrypto.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libssh.lib.so"/>
<rom label="ssh_client"/>
<rom label="terminal"/>
<rom label="vfs_jitterentropy.lib.so"/>
<rom label="vfs.lib.so"/>
<rom label="vfs_lwip.lib.so"/>
<rom label="zlib.lib.so"/>
</content>
<config>
<parent-provides>
<service name="CPU"/>
<service name="LOG"/>
<service name="PD"/>
<service name="RM"/>
<service name="ROM"/>
<service name="File_system"/>
<service name="Nic"/>
<service name="Nitpicker"/>
<service name="Timer"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="terminal">
<resource name="RAM" quantum="8M"/>
<provides> <service name="Terminal"/> </provides>
<config initial_columns="120" initial_rows="36">
<!-- srcery color scheme -->
<color index="0x0" bg="#1C1B19"/>
<color index="0x1" bg="#EF2F27"/>
<color index="0x2" bg="#519F50"/>
<color index="0x3" bg="#FBB829"/>
<color index="0x4" bg="#2C78BF"/>
<color index="0x5" bg="#E02C6D"/>
<color index="0x6" bg="#0AAEB3"/>
<color index="0x7" bg="#918175"/>
<color index="0x8" bg="#2D2C29"/>
<color index="0x9" bg="#F75341"/>
<color index="0xa" bg="#98BC37"/>
<color index="0xb" bg="#FED06E"/>
<color index="0xc" bg="#68A8E4"/>
<color index="0xd" bg="#FF5C8F"/>
<color index="0xe" bg="#53FDE9"/>
<color index="0xf" bg="#FCE8C3"/>
<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
</config>
<route>
<service name="File_system"> <parent label="fonts"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="ssh_client" caps="256">
<resource name="RAM" quantum="8M" />
<exit propagate="yes"/>
<config>
<vfs>
<fs/>
<dir name="dev">
<log/>
<jitterentropy name="random"/>
</dir>
<dir name="socket"> <lwip dhcp="yes"/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
<route>
<service name="Terminal" label=""> <child name="terminal"/> </service>
<service name="File_system"> <parent label="secrets"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,54 +0,0 @@
The Temple Operating System hosted in VirtualBox for NOVA
TempleOS is a free, public domain, open source, x86_64, non-preemptive
multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped),
non-networked, PC operating system. Paging is, basically, not used.
The CIA encourages code obsfucation. They make it more complicated than
necessary. TempleOS is, literally, more simple than necessary. It is
obnoxiously simple... to the point it hurts.
This "Hello World" joke, the BMP file format and the WAV file format show that
the industry is really screwed-up! That's what TempleOS fixes. I capped the
line-of-code count at 100,000 and God said it must be perfect, so it will never
be an ugly monstrocity. It is currently 82,171 lines of unblemished code.
Backward compatibility is not promised.
Normally, failure is not an option, but since TempleOS accompanies Windows or
Linux, we exclude certain uses. There is no reason to duplicate browsing,
multimedia, desktop publishing, etc. Linux wants to be a secure, multi-user
mainframe. That's why it has file permissions. The vision for TempleOS,
however, is a modern, 64-bit Commodore 64. The C64 was a non-networked, home
computer mostly used for games. It trained my generation how to program because
it was wide open, completely hackable. The games were not multimedia works of
art, but generated by non-artist.
A troll might ask, "Why not just use DOS? It was ring-0-only and
single-address-map." DOS was 16-bit, with segmentation -- awful! TempleOS is
64-bit, flat, non-segmented and multi-cored. It has a C64-like shell with
HolyC, a dialect of C/C++, instead of BASIC. It was written from scratch, and
not even ASCII was sacred -- it has 8-bit unsigned char source code to support
European languages. Also, the source code supports binary sprite graphics.
A troll might say, "It can crash!" We used DOS for years and loved it.
Computers even had a reset switch! Just think of the power of ring-0, muhahaha!
Think of the speed and simplicity of ring-0-only and identity-mapping. It can
change tasks in half a microsecond because it doesn't mess with page tables or
privilege levels. Inter-process communication is effortless because every task
can access every other task's memory.
It's fun having access to everything. When I was a teenager, I had a book,
Mapping the Commodore 64, that told what every location in memory did. I liked
copying the ROM to RAM and poking around at the ROM BASIC's variables.
Everybody directly poked the hardware ports.
TempleOS is simpler than Linux and you can have hours of fun tinkering because
all memory and ports are accessible. Memory is identity-mapped at all times, so
you can modify any task's memory from any other task. You can access all disk
blocks, too. I had a blast using a C64 disk block editor to modify directories
to un-delete files, when I was a kid. Maybe, you want to play with a raw-block
database, or make your own file system?
http://www.templeos.org/
https://archive.org/details/TempleOS_Website_Archive

View File

@ -1,23 +0,0 @@
TARGET_NAME = templeos
include_rules
PKG_DEPENDS += \
ehmry/raw/templeos/2017-12-12 \
genodelabs/src/vbox5-nova/2019-02-25 \
genodelabs/src/base-nova/2019-02-25 \
genodelabs/src/libc/2019-02-25 \
genodelabs/src/init/2019-02-27 \
genodelabs/src/nit_fb/2019-02-25 \
genodelabs/src/libc/2019-02-25 \
genodelabs/src/posix/2019-02-25 \
genodelabs/src/zlib/2019-02-25 \
genodelabs/src/nit_fb/2019-02-25 \
genodelabs/src/libiconv/2019-02-25 \
genodelabs/src/stdcxx/2019-02-25 \
genodelabs/src/vfs/2019-02-27 \
: runtime |> !collect_pkg_runtime |>
: README |> !collect_pkg |>
: |> !pkg |>

View File

@ -1,107 +0,0 @@
<runtime ram="768M" caps="1024" binary="init">
<requires>
<nitpicker/>
<nic/>
<rom label="capslock"/>
<rom label="platform_info"/>
<rom label="usb_devices"/>
<report label="shape"/>
<report/>
<rm/>
<rtc/>
<usb/>
</requires>
<content>
<rom label="init"/>
<rom label="libc.lib.so"/>
<rom label="libc_pipe.lib.so"/>
<rom label="libc_terminal.lib.so"/>
<rom label="libiconv.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="nit_fb"/>
<rom label="qemu-usb.lib.so"/>
<rom label="stdcxx.lib.so"/>
<rom label="TempleOS.ISO"/>
<rom label="TempleOS.vbox"/>
<rom label="timer"/>
<rom label="vfs.lib.so"/>
<rom label="virtualbox5-nova"/>
</content>
<config prio_levels="2">
<parent-provides>
<service name="Audio_out"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Nitpicker"/>
<service name="PD"/>
<service name="Report"/>
<service name="RM"/>
<service name="ROM"/>
<service name="Rtc"/>
<service name="Timer"/>
<service name="Usb"/>
<service name="Nic"/>
</parent-provides>
<default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
<config/>
<route>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="nit_fb" priority="0">
<resource name="RAM" quantum="8M" />
<provides>
<service name="Framebuffer" /> <service name="Input" />
</provides>
<config initial_width="640" initial_height="480" />
<route>
<service name="Nitpicker"> <parent label=""/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="vbox" priority="-1" caps="1000">
<binary name="virtualbox5-nova" />
<resource name="RAM" quantum="1G"/>
<exit propagate="yes"/>
<config vbox_file="TempleOS.vbox" xhci="yes" vm_name="TempleOS" capslock="ROM">
<vfs>
<dir name="dev">
<log/>
<rtc/>
</dir>
<dir name="shared">
<null/>
</dir>
<rom name="TempleOS.ISO"/>
<rom name="TempleOS.vbox"/>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
<route>
<service name="Audio_out"> <parent/> </service>
<service name="ROM" label="usb_devices"> <parent label="usb_devices"/> </service>
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<service name="Report" label="shape"> <parent label="shape"/> </service>
<any-service> <parent/> <child name="nit_fb"/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,4 +0,0 @@
TARGET_NAME = test-lwip_node
include_rules
PKG_DEPENDS += local/src/test-lwip_node/current
: runtime |> !collect_pkg_runtime |>

View File

@ -1,5 +0,0 @@
<runtime ram="4M" caps="128" binary="test-lwip_node">
<requires> <nic/> </requires>
<content> <rom label="test-lwip_node"/> </content>
<config ipv6="yes"/>
</runtime>

View File

@ -1,3 +0,0 @@
Motif-inspired window decorator

View File

@ -1,6 +0,0 @@
TARGET_NAME = motif_decorator
include_rules
PKG_DEPENDS += @(PUBLIC_SRC_MOTIF_DECORATOR)
: runtime |> !collect_pkg_runtime |>

View File

@ -1,19 +0,0 @@
<runtime ram="8M" caps="400" binary="decorator">
<requires>
<rom label="window_layout"/>
<rom label="pointer"/>
<report/>
<nitpicker/>
</requires>
<content>
<rom label="decorator"/>
</content>
<config>
<controls> <maximizer/> <title/> <closer/> </controls>
<default-policy/>
</config>
</runtime>

View File

@ -1,3 +0,0 @@
Default window layouter

View File

@ -1,7 +0,0 @@
TARGET_NAME = window_layouter
include_rules
PKG_DEPENDS += \
@(PUBLIC_SRC_WINDOW_LAYOUTER) \
: runtime |> !collect_pkg_runtime |>

View File

@ -1,6 +0,0 @@
_/raw/window_layouter
_/src/window_layouter
_/src/init
_/src/fs_report
_/src/fs_rom
_/src/vfs

View File

@ -1,39 +0,0 @@
<runtime ram="7M" caps="400" binary="window_layouter">
<requires>
<nitpicker/>
<rom label="window_list"/>
<rom label="focus_request"/>
<rom label="hover"/>
<rom label="decorator_margins"/>
<report/>
</requires>
<content>
<rom label="window_layouter"/>
</content>
<config>
<rules>
<screen name="screen"/>
<assign label_prefix="" target="screen" xpos="any" ypos="any"/>
</rules>
<press key="KEY_SCREEN">
<press key="KEY_TAB" action="next_window">
<release key="KEY_TAB">
<release key="KEY_SCREEN" action="raise_window"/>
</release>
<release key="KEY_SCREEN" action="raise_window"/>
</press>
<press key="KEY_LEFTSHIFT">
<press key="KEY_TAB" action="prev_window">
<release key="KEY_TAB">
<release key="KEY_SCREEN" action="raise_window"/>
</release>
</press>
</press>
<press key="KEY_ENTER" action="toggle_fullscreen"/>
</press>
</config>
</runtime>

View File

@ -1,19 +0,0 @@
Window manager
This package provides the central part of Genode's componentized GUI stack
via a custom implementation of the nitpicker session interface.
It must be complemented by a window layouter and a window decorator, each of
which is a separate client component. Whereas the window decorator defines how
windows look, the window layouter defines how they behave.
The window manager, decorator, and layouter propagate their respective state
(like the window layout or the decoration margins) via reports and ROMs. The
window-manager package manages the flow of information between those parties
by providing a report and ROM service to the external layouter and decorator.
The special roles of the layouter and decorator among the window-manager
clients are identified according to their names (labels), which are suffixed
with "layouter" and "decorator" respectively. All other clients are expected
to be regular windowed applications.

View File

@ -1,9 +0,0 @@
TARGET_NAME = wm
include_rules
PKG_DEPENDS += \
@(PUBLIC_SRC_WM) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_REPORT_ROM) \
: runtime |> !collect_pkg_runtime |>

View File

@ -1,110 +0,0 @@
<runtime ram="16M" caps="512" binary="init">
<requires>
<nitpicker/>
<report/>
</requires>
<provides> <nitpicker/> <rom/> <report/> </provides>
<content>
<rom label="init"/>
<rom label="report_rom"/>
<rom label="wm"/>
</content>
<config>
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Nitpicker"/>
<service name="Timer"/>
<service name="Report"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<service name="Nitpicker">
<default-policy> <child name="wm"/> </default-policy>
</service>
<service name="ROM">
<policy label_suffix="layouter -> window_list">
<child name="report_rom" label="layouter -> window_list"/> </policy>
<policy label_suffix="layouter -> focus_request">
<child name="report_rom" label="layouter -> focus_request"/> </policy>
<policy label_suffix="layouter -> hover">
<child name="report_rom" label="layouter -> hover"/> </policy>
<policy label_suffix="layouter -> decorator_margins">
<child name="report_rom" label="layouter -> decorator_margins"/> </policy>
<policy label_suffix="layouter -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix="decorator -> window_layout">
<child name="report_rom" label="decorator -> window_layout"/> </policy>
<policy label_suffix="decorator -> pointer">
<child name="report_rom" label="decorator -> pointer"/> </policy>
</service>
<service name="Report">
<policy label_suffix="layouter -> window_layout">
<child name="report_rom" label="layouter -> window_layout"/> </policy>
<policy label_suffix="layouter -> resize_request">
<child name="report_rom" label="layouter -> resize_request"/> </policy>
<policy label_suffix="layouter -> focus">
<child name="report_rom" label="layouter -> focus"/> </policy>
<policy label_suffix="layouter -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix="decorator -> hover">
<child name="report_rom" label="decorator -> hover"/> </policy>
<policy label_suffix="decorator -> decorator_margins">
<child name="report_rom" label="decorator -> decorator_margins"/> </policy>
<policy label_suffix="-> shape"> <child name="wm"/> </policy>
</service>
<start name="report_rom">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Report"/>
<service name="ROM"/>
</provides>
<config>
<policy label="layouter -> window_list" report="wm -> window_list"/>
<policy label="layouter -> focus_request" report="wm -> focus_request"/>
<policy label="layouter -> hover" report="decorator -> hover"/>
<policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/>
<policy label="layouter -> rules" report="layouter -> rules"/>
<policy label="decorator -> window_layout" report="layouter -> window_layout"/>
<policy label="decorator -> pointer" report="wm -> pointer"/>
<policy label="wm -> resize_request" report="layouter -> resize_request"/>
<policy label="wm -> focus" report="layouter -> focus"/>
</config>
</start>
<start name="wm" caps="250">
<resource name="RAM" quantum="8M"/>
<provides>
<service name="Nitpicker"/> <service name="Report"/>
</provides>
<config>
<policy label_suffix="decorator -> " role="decorator"/>
<policy label_suffix="layouter -> " role="layouter"/>
<default-policy/>
</config>
<route>
<service name="ROM" label="resize_request"> <child name="report_rom"/> </service>
<service name="ROM" label="focus"> <child name="report_rom"/> </service>
<service name="Report" label_last="shape"> <parent/> </service>
<service name="Report"> <child name="report_rom"/> </service>
<service name="Nitpicker" label=""> <parent label="focus"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -1,59 +0,0 @@
{ pkgs ? import <nixpkgs> {} }: with pkgs;
let
lddir = ./upstream/repos/base/src/ld;
toolchain = import ./errata/toolchain.nix { inherit pkgs; };
in
pkgs.mkShell {
name = "genode-dev-env";
nativeBuildInputs =
[ toolchain
stdenv.glibc.dev
git tup
ccache
tcl
gnumake
which
findutils
autoconf264
autogen
cdrtools
expect libxml2 syslinux qemu xorriso
# libc
flex bison
# virtualbox
yasm libxslt iasl
# qt5
gperf
qt5.full
# ncurses
mawk
# fb_sdl
pkgconfig
SDL.dev
alsaLib.dev
# ncurses port needs infocmp
ncurses
];
passthru = { inherit lddir toolchain; };
shellHook =
''
export LD_DIR=${lddir}
export TOOLCHAIN_DIR=${toolchain}
export HOST_LIBC=${stdenv.glibc.dev}
export SYSLINUX=${syslinux}
export PROMPT_DIRTRIM=2
export PS1="\[\033[1;30m\]Genode-dev [\[\033[1;37m\]\w\[\033[1;30m\]] $\[\033[0m\] "
export PS2="\[\033[1;30m\]>\[\033[0m\] "
'';
# Setup a prompt with a distinct appearance
}

View File

@ -1,15 +0,0 @@
Fs_block serves an image from a file system server over a Block session.
Only one session is served at a time. Configuration is straightforward;
images are not writeable by default.
! <config>
! <default-policy file="/image.raw" block_size="512" writeable="yes""/>
! </config>
! <config>
! <default-policy file="/disk" writeable="yes" device_size="64G"/>
! </config>
! <config>
! <default-policy file="/image.iso" block_size="2048"/>
! </config>

Some files were not shown because too many files have changed in this diff Show More