Compare commits
9 Commits
Author | SHA1 | Date |
---|---|---|
Ehmry - | 991ccf8215 | |
Ehmry - | 63fd1b60ba | |
Ehmry - | 2e975e3c16 | |
Ehmry - | 1f67d81ab8 | |
Ehmry - | 43e7b28f4c | |
Ehmry - | 1c3c81d85d | |
Ehmry - | 1e8c758030 | |
Ehmry - | 72908d75c3 | |
Ehmry - | bb46fb3a28 |
|
@ -42,7 +42,7 @@
|
|||
url = git@github.com:ehmry/oberon-risc-libretro.git
|
||||
[submodule "libretro/cores/snes9x/core"]
|
||||
path = libretro/cores/snes9x/upstream
|
||||
url = https://github.com/libretro/snes9x.git
|
||||
url = git@github.com:ehmry/snes9x.git
|
||||
[submodule "libretro/cores/tyrquake/core"]
|
||||
path = libretro/cores/tyrquake/upstream
|
||||
url = https://github.com/libretro/tyrquake
|
||||
|
@ -75,7 +75,7 @@
|
|||
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.
|
||||
url = git@github.com:ehmry/fetch_and_copy.git
|
||||
[submodule "nimble/nim"]
|
||||
path = nim/nim
|
||||
url = https://github.com/ehmry/nim.git
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 32 KiB |
|
@ -1,5 +1,3 @@
|
|||
![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.
|
||||
|
||||
|
|
2
Tupfile
2
Tupfile
|
@ -49,7 +49,7 @@ SHORT_SUM = b2sum -l24
|
|||
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; \
|
||||
awk -F '/' -f errata/pkg.mk.awk $(PKG_SED_FILE) >> %o; done \
|
||||
|> Makefile
|
||||
# Generate the makefile for creating signed package tarballs
|
||||
|
||||
|
|
|
@ -20,12 +20,13 @@ CC_MARCH = -march=armv8-a
|
|||
endif
|
||||
|
||||
GENODE_DIR = $(TUP_CWD)/upstream
|
||||
&STUB_DIR = stub
|
||||
STUB_DIR = $(TUP_CWD)/stub
|
||||
|
||||
export NIX_PATH
|
||||
NIX_BUILD = nix-build --option substitute false
|
||||
|
||||
&STUB_DIR = upstream/stub
|
||||
|
||||
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
|
||||
|
||||
!prg = | $(GENODE_DIR)/<stub> $(GENODE_DIR)/<pkg-config> \
|
||||
|
@ -36,7 +37,7 @@ LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
|
|||
%f \
|
||||
$(LIBGCC) \
|
||||
-o %o \
|
||||
|> %d
|
||||
|>
|
||||
|
||||
!lib = | $(GENODE_DIR)/<stub> $(GENODE_DIR)/<pkg-config> |> ^o LD %o^ $(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -L&(STUB_DIR) -o %o |>
|
||||
|
||||
|
@ -154,7 +155,6 @@ AS_OPT += $(AS_MARCH)
|
|||
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
|
||||
|
||||
PKG_CONFIG_DIR = $(TUP_CWD)/pkg-config
|
||||
&PKG_CONFIG_DIR = pkg-config
|
||||
|
||||
PKG_CONFIG_PATH = $(PKG_CONFIG_DIR)
|
||||
PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config
|
||||
|
@ -163,7 +163,7 @@ PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config
|
|||
|
||||
!cc = | $(GENODE_DIR)/<pkg-config> |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c %f -o %o |> %B.o
|
||||
|
||||
!cc_port = | $(GENODE_DIR)/<pkg-config> |> ^o CC %o^ @(CC_WRAPPER) $(CC) -c -fPIC $(DEFINES) $(CFLAGS) $(CFLAGS_%o) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -o %o |> %B.o
|
||||
!cc_port = | $(GENODE_DIR)/<pkg-config> |> ^o CC %o^ @(CC_WRAPPER) $(CC) -c $(DEFINES) $(CFLAGS) $(CFLAGS_%o) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -o %o |> %B.o
|
||||
|
||||
!cxx = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c %f -o %o |> %B.o
|
||||
|
||||
|
|
|
@ -7,6 +7,6 @@ CONFIG_CXX_WRAPPER=ccache
|
|||
CONFIG_OFFLINE=
|
||||
CONFIG_NO_NETWORK=
|
||||
|
||||
CONFIG_SCULPT_VERSION=19.07
|
||||
CONFIG_SCULPT_VERSION=19.05
|
||||
CONFIG_PUBLIC_USER=ehmry
|
||||
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
|
||||
|
|
|
@ -10,6 +10,6 @@ CONFIG_NO_NETWORK=
|
|||
|
||||
CONFIG_BUILD_NOVA=y
|
||||
|
||||
CONFIG_SCULPT_VERSION=19.07
|
||||
CONFIG_SCULPT_VERSION=19.05
|
||||
CONFIG_PUBLIC_USER=ehmry
|
||||
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
|
||||
|
|
|
@ -9,7 +9,7 @@ CONFIG_OFFLINE=
|
|||
|
||||
CONFIG_BUILD_NOVA=y
|
||||
|
||||
CONFIG_SCULPT_VERSION=19.07
|
||||
CONFIG_SCULPT_VERSION=19.05
|
||||
CONFIG_PUBLIC_USER=ehmry
|
||||
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
|
||||
|
||||
|
@ -19,15 +19,15 @@ CONFIG_PUBLIC_PKG_BACKDROP=ehmry/pkg/backdrop/2019-05-24
|
|||
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_BASE_NOVA=genodelabs/src/base-nova/2019-03-17
|
||||
CONFIG_PUBLIC_SRC_BLOCK_SHRED=ehmry/src/block_shred/2019-03-31
|
||||
CONFIG_PUBLIC_SRC_CHROOT=_/src/chroot
|
||||
CONFIG_PUBLIC_SRC_CHROOT=ehmry/src/chroot/2019-05-24
|
||||
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=nfeske/src/libc/2019-06-24
|
||||
CONFIG_PUBLIC_SRC_FS_LOG=ehmry/src/fs_log/2019-04-01
|
||||
CONFIG_PUBLIC_SRC_INIT=ehmry/src/init/2019-05-24
|
||||
CONFIG_PUBLIC_SRC_LIBC=ehmry/src/libc/2019-05-24
|
||||
CONFIG_PUBLIC_SRC_LIBCRYPTO=ehmry/src/libcrypto/2019-05-24
|
||||
CONFIG_PUBLIC_SRC_LIBICONV=genodelabs/src/libiconv/2019-05-26
|
||||
CONFIG_PUBLIC_SRC_LIBICONV=genodelabs/src/libiconv/2019-02-25
|
||||
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
|
||||
|
@ -40,23 +40,23 @@ 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_POSIX=ehmry/src/posix/2019-05-24
|
||||
CONFIG_PUBLIC_SRC_RAM_BLOCK=alex-ab/src/ram_block/2019-02-25
|
||||
CONFIG_PUBLIC_SRC_REPORT_ROM=_/src/report_rom
|
||||
CONFIG_PUBLIC_SRC_REPORT_ROM=ehmry/src/report_rom/2019-05-24
|
||||
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_STDCXX=ehmry/src/stdcxx/2019-05-24
|
||||
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_VBOX_NOVA=genodelabs/src/vbox5-nova/2019-03-17
|
||||
CONFIG_PUBLIC_SRC_VFS_AUDIT=ehmry/src/vfs_audit/2019-04-20
|
||||
CONFIG_PUBLIC_SRC_VFS=_/src/vfs
|
||||
CONFIG_PUBLIC_SRC_VFS=ehmry/src/vfs/2019-05-24
|
||||
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_VFS_TTF=ehmry/src/vfs_ttf/2019-05-24
|
||||
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
|
||||
CONFIG_PUBLIC_SRC_ZLIB=ehmry/src/zlib/2019-05-24
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
let
|
||||
lddir = ./upstream/repos/base/src/ld;
|
||||
toolchain = import ./errata/toolchain.nix { inherit pkgs; };
|
||||
sdk = import ./sdk { inherit pkgs toolchain; };
|
||||
ports = import ./upstream/repos/libports/ports { };
|
||||
in
|
||||
pkgs.mkShell {
|
||||
name = "genode-dev-env";
|
||||
|
@ -43,11 +45,13 @@ pkgs.mkShell {
|
|||
ncurses
|
||||
];
|
||||
|
||||
passthru = { inherit lddir toolchain; };
|
||||
passthru = { inherit lddir sdk toolchain; };
|
||||
|
||||
shellHook =
|
||||
''
|
||||
export SDK_DIR=${sdk}
|
||||
export LD_DIR=${lddir}
|
||||
export PKG_CONFIG_PATH=${sdk}/pkg-config
|
||||
export TOOLCHAIN_DIR=${toolchain}
|
||||
export SYSLINUX=${syslinux}
|
||||
export PROMPT_DIRTRIM=2
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
<xs:element name="log" type="template_service"/>
|
||||
<xs:element name="nic" type="template_service"/>
|
||||
<xs:element name="nitpicker" type="template_service"/>
|
||||
<xs:element name="platform" type="template_service"/>
|
||||
<xs:element name="report" type="template_service"/>
|
||||
<xs:element name="rm" type="template_service"/>
|
||||
<xs:element name="rom" type="template_service"/>
|
||||
|
|
23
index.xml
23
index.xml
|
@ -1,16 +1,5 @@
|
|||
<index>
|
||||
|
||||
<index name="Audio">
|
||||
<pkg path="_/pkg/mixer" info="Mixer component"/>
|
||||
<pkg path="_/pkg/bsd_audio_drv" info="OpenBSD audio driver (mixer client)"/>
|
||||
<pkg path="ehmry/pkg/audio_player/2019-05-24" info="Cnuke's audio player"/>
|
||||
<index name="Radio streams">
|
||||
<pkg path="_/pkg/ifm1" info="Intergalactic FM 1"/>
|
||||
<pkg path="_/pkg/ifm2" info="Intergalactic FM 2"/>
|
||||
<pkg path="_/pkg/ifm3" info="Intergalactic FM 3"/>
|
||||
</index>
|
||||
</index>
|
||||
|
||||
<index name="Emulators and game engines">
|
||||
<pkg path="_/pkg/dosbox" info="Experimental Libretro port of DOSBox"/>
|
||||
<pkg path="_/pkg/fceumm" info="NES"/>
|
||||
|
@ -71,6 +60,10 @@
|
|||
</index>
|
||||
|
||||
<index name="Utility">
|
||||
<index name="Audio">
|
||||
<pkg path="ehmry/pkg/bsd_audio_drv/2019-05-24" info="Cnuke's audio driver"/>
|
||||
<pkg path="ehmry/pkg/audio_player/2019-05-24" info="Cnuke's audio player"/>
|
||||
</index>
|
||||
|
||||
<index name="Graphic">
|
||||
<!-- <pkg path="ehmry/pkg/flif_capture/2019-03-22" info="Screen capture utility"/> -->
|
||||
|
@ -87,7 +80,6 @@
|
|||
<pkg path="_/pkg/ninep" info="9P server"/>
|
||||
<pkg path="_/pkg/ssh_client" info="SSH client"/>
|
||||
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
|
||||
<pkg path="_/pkg/kiosk" info="Kiosk-style web browser"/>
|
||||
</index>
|
||||
|
||||
<index name="UI">
|
||||
|
@ -103,7 +95,6 @@
|
|||
<!-- <pkg path="ehmry/pkg/jitter_sponge/2019-03-31" info="Entropy source"/> -->
|
||||
<!-- <pkg path="ehmry/pkg/noux-build-x86/2019-03-20" info="Noux build environment"/> -->
|
||||
<pkg path="_/pkg/noux-system" info="Noux administration environment"/>
|
||||
<pkg path="_/pkg/show_input" info="Nitpicker input event debugger"/>
|
||||
</index>
|
||||
</index>
|
||||
|
||||
|
@ -113,14 +104,16 @@
|
|||
<pkg path="_/pkg/musicbrainz_playlist_generator" info="XSPF playlist generator"/>
|
||||
<pkg path="_/pkg/xspf_view" info="XSPF playlist viewer"/>
|
||||
</index>
|
||||
<pkg path="_/pkg/4do" "3DO emulator"/>
|
||||
<pkg path="_/pkg/4do"/>
|
||||
<pkg path="ehmry/pkg/avplay/2019-05-24"/>
|
||||
<pkg path="_/pkg/bluemsx"/>
|
||||
<pkg path="_/pkg/cruzes" info="An unfinished Picross Libretro core"/>
|
||||
<pkg path="_/pkg/ifm1"/>
|
||||
<pkg path="_/pkg/ifm2"/>
|
||||
<pkg path="_/pkg/ifm3"/>
|
||||
<pkg path="_/pkg/monero_vanity"/>
|
||||
<pkg path="_/pkg/mu"/>
|
||||
<pkg path="_/pkg/testgl"/>
|
||||
<pkg path="_/pkg/yabause" info="Sega Saturn emulator/>
|
||||
</index>
|
||||
|
||||
<pkg path="ehmry/pkg/fonts_fs/2019-05-24" info="Fonts provider"/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Implicit dependencies
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
_/src/$(BIN_NAME) \
|
||||
_/src/retro_frontend \
|
||||
|
@ -29,7 +29,7 @@ PKG_DEPENDS += \
|
|||
$(LDFLAGS) \
|
||||
`$(PKG_CONFIG) --libs $(CORE_PKGS)` \
|
||||
`$(PKG_CONFIG) --libs genode-lib` \
|
||||
-L$(STUB_DIR) \
|
||||
-L$(GENODE_DIR)/stub \
|
||||
|> libretro.so
|
||||
|
||||
LINK_T = $(TUP_CWD)/link.T
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
<content>
|
||||
<rom label="blueMSX.tar"/>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<audio_out/>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
<rm/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 121576eb06ec7f1381881710d0ddd013355cd9de
|
||||
Subproject commit 5c2e090566e2ac31428570beed71149fce4f3e22
|
|
@ -4,8 +4,6 @@ CORE_PKGS += libc libm
|
|||
|
||||
include upstream/libretro/Makefile.common
|
||||
|
||||
: foreach $(C68KEXEC_SOURCE) |> !libretro_cc -O0 -DNDEBUG |> %B.o {obj}
|
||||
|
||||
CFLAGS += $(INCFLAGS)
|
||||
CFLAGS += -DSIZEOF_DOUBLE=8
|
||||
CFLAGS += -DUSE_16BPP=1
|
||||
|
@ -20,6 +18,7 @@ CFLAGS += -DINLINE="inline"
|
|||
|
||||
CFLAGS += -O3 -DNDEBUG
|
||||
|
||||
: foreach $(C68KEXEC_SOURCE) |> !libretro_cc -O0 -DNDEBUG |> %B.o {obj}
|
||||
: foreach $(SOURCES_C) |> !libretro_cc |> {obj}
|
||||
|
||||
: {obj} |> !libretro_core_link |> {core}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libretro.so"/>
|
||||
|
|
|
@ -15,7 +15,7 @@ DOPA_FILES = \
|
|||
include &(RAW_RULES)
|
||||
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
_/src/tyrquake \
|
||||
_/src/retro_frontend \
|
||||
|
|
|
@ -9,7 +9,7 @@ include_rules
|
|||
|> $(RAW_DIR)/240pSuite.sfc $(RAW_DIR)/README.TXT {unzipped}
|
||||
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
@(PUBLIC_SRC_STDCXX) \
|
||||
_/src/snes9x \
|
||||
|
|
|
@ -9,7 +9,7 @@ include_rules
|
|||
|> $(RAW_DIR)/240pee.nes $(RAW_DIR)/240pee-bnrom.nes $(RAW_DIR)/README.md {unzipped}
|
||||
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
_/src/fceumm \
|
||||
_/src/retro_frontend \
|
||||
|
|
|
@ -4,6 +4,6 @@ the repository contains an `*,nimble`, an `archives`, and a `runtime` file.
|
|||
|
||||
```tup
|
||||
include_rules
|
||||
include &(NIMBLE_BINARIES_INCLUDE)
|
||||
include &(NIMBLE_PACKAGE_INCLUDE)
|
||||
include $(NIMBLE_BINARIES_INCLUDE)
|
||||
include $(NIMBLE_PACKAGE_INCLUDE)
|
||||
```
|
||||
|
|
|
@ -1,15 +1,5 @@
|
|||
# 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="
|
||||
|
||||
|
@ -19,15 +9,5 @@ NIM_SRC_DIR = src
|
|||
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`
|
||||
NIMBLE_BINARIES_INCLUDE = $(TUP_CWD)/binaries.tup
|
||||
NIMBLE_PACKAGE_INCLUDE = $(TUP_CWD)/package.tup
|
||||
|
|
|
@ -1,3 +1,17 @@
|
|||
ifeq (@(TUP_ARCH),arm64)
|
||||
CPU = arm64
|
||||
endif
|
||||
ifeq (@(TUP_ARCH),i386)
|
||||
CPU = i386
|
||||
endif
|
||||
ifeq (@(TUP_ARCH),x86_64)
|
||||
CPU = amd64
|
||||
endif
|
||||
|
||||
!nim_build = |> ^o Nimble %B^ \
|
||||
PKG_CONFIG_PATH=@(PKG_CONFIG_PATH) PATH=$PATH:@(TOOLCHAIN_PATH) nimble cpp $(NIM_RELEASE_FLAG) $(NIM_FLAGS) --cpu:$(CPU) --os:genode -d:posix --parallelBuild:1 -o:%B %f \
|
||||
|> %B ./<binaries>
|
||||
|
||||
: foreach $(NIM_SRC_DIR)/*.nim |> !nim_build |> {binary}
|
||||
: foreach {binary} |> !collect_bin |>
|
||||
: |> !bin |>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit aaa61aebd895e60de28936711b6231d9e555888a
|
||||
Subproject commit 2cc154f6b6d718ed4473fb4544547a7e4a5d5dee
|
|
@ -1 +1 @@
|
|||
Subproject commit 48b29f8d699571eb79ac73e248754e464f6b9bc7
|
||||
Subproject commit 75cf89f0abe715074b959b737e14bdb20c4ea412
|
|
@ -1 +1 @@
|
|||
Subproject commit 80a63d06a41230f98a44b09c8167d14275efee7c
|
||||
Subproject commit b435efd9befcb1cf12bc7aa5ad5a71e759c6b8f1
|
|
@ -1 +1 @@
|
|||
Subproject commit c16dd1b093dface9bb8be00da5edbc4b790363cc
|
||||
Subproject commit 9d59f400f2a2c98be84c0598847dec9244b78cf3
|
|
@ -1 +1 @@
|
|||
Subproject commit e8abc833f3522794ea691e36f561fe8bf2481af4
|
||||
Subproject commit bb47512970e1f7bdc453d5687a1239d203efb788
|
|
@ -1 +1 @@
|
|||
Subproject commit 84c694a34b489157ce222de1b77d67f0775f9993
|
||||
Subproject commit 3961d2ee7000236f9a35ac878d81643e0eb29d48
|
|
@ -1 +1 @@
|
|||
Subproject commit 1d58fcff44e4ad94a5fd5983e64989ba312f7d70
|
||||
Subproject commit e100bf80fbef15aa0b741bb1f58a976054142a02
|
|
@ -1 +1 @@
|
|||
Subproject commit a50208a35aec3031c81f5b4d6141498465ebcf90
|
||||
Subproject commit 5109915ac162cd356a4fc06e367e790eb8024d62
|
|
@ -1 +1 @@
|
|||
Subproject commit 739918bcd740f1c3447d3fe54ff275919762c5fe
|
||||
Subproject commit 7889d655acdff0fcab8c939e93f7700ff6ea0d36
|
|
@ -1 +1 @@
|
|||
Subproject commit 066b2c3fb9c005e1f29ee9a7c1b0431882790116
|
||||
Subproject commit 40ae6930ebc57cae6b1161344d10c899c6bfa6bd
|
|
@ -0,0 +1,39 @@
|
|||
TARGET_NAME = chuck
|
||||
LIBS += sndfile stdcxx libc posix
|
||||
|
||||
LEX=flex
|
||||
YACC=bison
|
||||
include_rules
|
||||
|
||||
SOURCE_LINK = port-source
|
||||
# : |> $(NIX_BUILD) .. --out-link port --attr %d.source |> $(SOURCE_LINK) {port}
|
||||
: |> ln -s /home/repo/chuck/src %o |> $(SOURCE_LINK) {port}
|
||||
|
||||
DEFINES += \
|
||||
-D__PLATFORM_GENODE__ \
|
||||
-D__GENODE_AUDIO__ \
|
||||
-D__DISABLE_MIDI__ \
|
||||
-DCPU_IS_LITTLE_ENDIAN=1 \
|
||||
-D__CK_SNDFILE_NATIVE__ \
|
||||
-DHAVE_SYS_SOCKET_H \
|
||||
-DHAVE_POLL \
|
||||
-Dloff_t=off_t \
|
||||
-DPATH_MAX=1024 \
|
||||
-DHAVE_UNISTD_H \
|
||||
-DMAX_PATH=1024 \
|
||||
|
||||
INCLUDES += -I.
|
||||
INCLUDES += -I$(SOURCE_LINK)/core
|
||||
|
||||
: $(SOURCE_LINK) |> \
|
||||
$(YACC) -dv -b chuck %f/core/chuck.y \
|
||||
|> chuck.output chuck.tab.c chuck.tab.h {port}
|
||||
|
||||
run ./port_rules.sh $(SOURCE_LINK) core.files
|
||||
run ./port_rules.sh $(SOURCE_LINK) host.files
|
||||
|
||||
LDFLAGS += -L$(STUB_DIR)
|
||||
: {obj} |> !prg |> %d {bin}
|
||||
|
||||
: {bin} |> !collect_bin |>
|
||||
include &(BIN_RULES)
|
|
@ -0,0 +1,133 @@
|
|||
core/ugen_osc.cpp
|
||||
core/chuck_symbol.h
|
||||
core/util_buffers.cpp
|
||||
core/lo/lo_lowlevel.h
|
||||
core/lo/lo_throw.h
|
||||
core/lo/blob.c
|
||||
core/lo/message.c
|
||||
core/lo/lo_types_internal.h
|
||||
core/lo/lo_macros.h
|
||||
core/lo/lo_types.h
|
||||
core/lo/lo_osc_types.h
|
||||
core/lo/send.c
|
||||
core/lo/bundle.c
|
||||
core/lo/timetag.c
|
||||
core/lo/lo_errors.h
|
||||
core/lo/config.h
|
||||
core/lo/pattern_match.c
|
||||
core/lo/server_thread.c
|
||||
core/lo/lo_endian.h
|
||||
core/lo/address.c
|
||||
core/lo/lo_internal.h
|
||||
core/lo/lo.h
|
||||
core/lo/server.c
|
||||
core/lo/method.c
|
||||
core/chuck_utils.cpp
|
||||
core/chuck_lang.cpp
|
||||
core/util_network.h
|
||||
core/util_sndfile.h
|
||||
core/ulib_regex.cpp
|
||||
core/chuck_table.h
|
||||
core/util_opsc.cpp
|
||||
core/rtmidi.h
|
||||
core/chuck_frame.cpp
|
||||
core/ugen_stk.h
|
||||
core/util_serial.h
|
||||
core/chuck_ugen.h
|
||||
core/util_raw.h
|
||||
core/makefile
|
||||
core/ulib_machine.cpp
|
||||
core/chuck_compile.h
|
||||
core/ulib_opsc.cpp
|
||||
core/dirent_win32.h
|
||||
core/chuck_symbol.cpp
|
||||
core/ulib_math.cpp
|
||||
core/util_opsc.h
|
||||
core/chuck_oo.cpp
|
||||
core/util_math.c
|
||||
core/util_hid.cpp
|
||||
core/ulib_math.h
|
||||
core/chuck_parse.h
|
||||
core/ugen_xxx.cpp
|
||||
core/util_thread.h
|
||||
core/chuck_vm.cpp
|
||||
core/chuck_errmsg.h
|
||||
core/chuck_stats.cpp
|
||||
core/chuck_scan.cpp
|
||||
core/util_string.h
|
||||
core/ulib_regex.h
|
||||
core/util_hid.h
|
||||
core/ugen_xxx.h
|
||||
core/rtmidi.cpp
|
||||
core/uana_extract.cpp
|
||||
core/chuck_instr.h
|
||||
core/chuck_otf.cpp
|
||||
core/chuck_carrier.cpp
|
||||
core/chuck_dl.h
|
||||
core/ugen_osc.h
|
||||
core/chuck_type.h
|
||||
core/chuck_dl.cpp
|
||||
core/ugen_filter.cpp
|
||||
core/makefile.x/makefile.alsa
|
||||
core/makefile.x/makefile.jack
|
||||
core/makefile.x/makefile.audicle
|
||||
core/makefile.x/makefile.rl
|
||||
core/makefile.x/makefile.osx
|
||||
core/makefile.x/makefile.pulse
|
||||
core/makefile.x/makefile.win32
|
||||
core/util_network.c
|
||||
core/chuck_emit.h
|
||||
core/util_console.cpp
|
||||
core/chuck_win32.c
|
||||
core/chuck_absyn.cpp
|
||||
core/chuck_stats.h
|
||||
core/ugen_stk.cpp
|
||||
core/ulib_std.cpp
|
||||
#core/util_console.h
|
||||
core/chuck.y
|
||||
core/util_sndfile.c
|
||||
core/ulib_opsc.h
|
||||
core/midiio_rtmidi.h
|
||||
core/chuck_instr.cpp
|
||||
core/chuck_carrier.h
|
||||
core/chuck_absyn.h
|
||||
core/uana_xform.h
|
||||
core/util_string.cpp
|
||||
core/util_xforms.h
|
||||
core/chuck_otf.h
|
||||
core/util_xforms.c
|
||||
core/chuck.cpp
|
||||
core/util_math.h
|
||||
core/chuck_parse.cpp
|
||||
core/chuck_errmsg.cpp
|
||||
core/util_buffers.h
|
||||
core/chuck.lex
|
||||
core/chuck_ugen.cpp
|
||||
core/chuck_oo.h
|
||||
core/ulib_machine.h
|
||||
core/midiio_rtmidi.cpp
|
||||
core/ugen_filter.h
|
||||
core/chuck_win32.h
|
||||
core/chuck.h
|
||||
core/hidio_sdl.cpp
|
||||
core/chuck_scan.h
|
||||
core/chuck_table.cpp
|
||||
core/chuck_shell.h
|
||||
core/chuck_type.cpp
|
||||
core/chuck_emit.cpp
|
||||
core/chuck_def.h
|
||||
core/uana_extract.h
|
||||
core/util_serial.cpp
|
||||
core/ulib_std.h
|
||||
core/chuck_io.h
|
||||
core/chuck_frame.h
|
||||
core/util_thread.cpp
|
||||
core/chuck_compile.cpp
|
||||
core/hidio_sdl.h
|
||||
core/chuck_io.cpp
|
||||
core/chuck_vm.h
|
||||
core/chuck_lang.h
|
||||
core/chuck_shell.cpp
|
||||
core/chuck_utils.h
|
||||
core/uana_xform.cpp
|
||||
core/util_raw.c
|
|
@ -0,0 +1,22 @@
|
|||
{ preparePort, fetchFromGitHub }:
|
||||
|
||||
preparePort rec {
|
||||
name = "chuck";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ccrma";
|
||||
repo = "chuck";
|
||||
rev = "cedce61a1218bd165dfc6b9e9b32413a89f51014";
|
||||
sha256 = "1hxxh3rin76mbl2gymcb8z7v7s66vsl92g38s56i8ygcy1gr5lkw";
|
||||
};
|
||||
|
||||
outputs = [ "source" ];
|
||||
|
||||
sourceRoot = "source/src";
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $source
|
||||
cp -r core host scripts $source
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
host/RtAudio/RtAudio.cpp
|
||||
host/chuck_audio.cpp
|
||||
host/chuck_console.cpp
|
||||
host/chuck_main.cpp
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
LINK=$1
|
||||
shift
|
||||
|
||||
for LIST in $@
|
||||
do
|
||||
grep '[[:alnum:]].*\.c$' ${LIST} | while read f
|
||||
do
|
||||
echo ": {port} |> !cc_port ${LINK}/${f} |> ${f}.o {obj}"
|
||||
done
|
||||
grep '[[:alnum:]].*\.cpp$' ${LIST} | while read f
|
||||
do
|
||||
echo ": {port} |> !cxx_port ${LINK}/${f} |> ${f}.o {obj}"
|
||||
done
|
||||
done
|
|
@ -0,0 +1,28 @@
|
|||
core/regex/tre-ast.c
|
||||
core/regex/tre-match-backtrack.c
|
||||
core/regex/tre-match-parallel.c
|
||||
core/regex/tre-mem.c
|
||||
core/regex/tre-compile.c
|
||||
core/regex/tre-stack.c
|
||||
core/regex/tre-internal.h
|
||||
core/regex/regex.h
|
||||
core/regex/tre-compile.h
|
||||
core/regex/tre-filter.h
|
||||
core/regex/tre-config.h
|
||||
core/regex/LICENSE.txt
|
||||
core/regex/xmalloc.h
|
||||
core/regex/tre-match-approx.c
|
||||
core/regex/config.h
|
||||
core/regex/tre-parse.c
|
||||
core/regex/tre-ast.h
|
||||
core/regex/tre-match-utils.h
|
||||
core/regex/regcomp.c
|
||||
core/regex/tre-parse.h
|
||||
core/regex/tre-mem.h
|
||||
core/regex/tre-stack.h
|
||||
core/regex/tre-filter.c
|
||||
core/regex/regexec.c
|
||||
core/regex/regerror.c
|
||||
core/regex/tre.h
|
||||
core/regex/README.txt
|
||||
core/regex/xmalloc.c
|
|
@ -5,6 +5,7 @@ let
|
|||
let f = (import path);
|
||||
in f (builtins.intersectAttrs (builtins.functionArgs f) (tool.nixpkgs // tool) );
|
||||
|
||||
hasSuffixNix = tool.hasSuffix ".nix";
|
||||
dir = builtins.readDir ../ports;
|
||||
in
|
||||
builtins.listToAttrs (
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
include_rules
|
||||
|
||||
: |> $(NIX_BUILD) .. --out-link port \
|
||||
--attr %d.source --attr %d.include |> port-source port-include {port}
|
||||
|
||||
: port-source |> cp %f/sndfile.pc %o \
|
||||
|> $(PKG_CONFIG_DIR)/sndfile.pc $(GENODE_DIR)/<pkg-config>
|
||||
|
||||
: sndfile.symbols |> !abi_stub |>
|
|
@ -0,0 +1,25 @@
|
|||
{ preparePort, libsndfile }:
|
||||
|
||||
preparePort rec {
|
||||
inherit (libsndfile) name src;
|
||||
outputs = [ "source" "include" ];
|
||||
buildPhase =
|
||||
''
|
||||
sed \
|
||||
-e "s|@includedir@|$include|" \
|
||||
-e 's/@VERSION@/${(builtins.parseDrvName name).version}/' \
|
||||
-e 's/^Libs:.*/Libs: -l:sndfile.lib.so/' \
|
||||
-e '/@/d' \
|
||||
< sndfile.pc.in > src/sndfile.pc
|
||||
sed \
|
||||
-e 's/@TYPEOF_SF_COUNT_T@/size_t/' \
|
||||
-e 's/@SF_COUNT_MAX@/9223372036854775807/' \
|
||||
< src/sndfile.h.in > src/sndfile.h
|
||||
'';
|
||||
installPhase =
|
||||
''
|
||||
cp -rv src $source
|
||||
mkdir $include
|
||||
cp src/sndfile.h $include/
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,316 @@
|
|||
BitBufferAdvance T
|
||||
BitBufferByteAlign T
|
||||
BitBufferGetPosition T
|
||||
BitBufferInit T
|
||||
BitBufferPeek T
|
||||
BitBufferPeekOne T
|
||||
BitBufferRead T
|
||||
BitBufferReadOne T
|
||||
BitBufferReadSmall T
|
||||
BitBufferReset T
|
||||
BitBufferRewind T
|
||||
BitBufferUnpackBERSize T
|
||||
BitBufferWrite T
|
||||
Gsm_Coder T
|
||||
Gsm_Decoder T
|
||||
Gsm_LPC_Analysis T
|
||||
Gsm_Long_Term_Predictor T
|
||||
Gsm_Long_Term_Synthesis_Filtering T
|
||||
Gsm_Preprocess T
|
||||
Gsm_RPE_Decoding T
|
||||
Gsm_RPE_Encoding T
|
||||
Gsm_Short_Term_Analysis_Filter T
|
||||
Gsm_Short_Term_Synthesis_Filter T
|
||||
adpcm_decode T
|
||||
adpcm_encode T
|
||||
aiff_caf_find_channel_layout_tag T
|
||||
aiff_caf_of_channel_layout_tag T
|
||||
aiff_ima_init T
|
||||
aiff_open T
|
||||
alac_decode T
|
||||
alac_decoder_init T
|
||||
alac_encode T
|
||||
alac_encoder_init T
|
||||
alac_get_desc_chunk_items T
|
||||
alac_get_magic_cookie T
|
||||
alac_get_magic_cookie_size T
|
||||
alac_get_source_format T
|
||||
alac_init T
|
||||
alac_set_fastmode T
|
||||
alaw_init T
|
||||
append_snprintf T
|
||||
au_open T
|
||||
audio_detect T
|
||||
avr_open T
|
||||
broadcast_var_alloc T
|
||||
broadcast_var_get T
|
||||
broadcast_var_set T
|
||||
caf_open T
|
||||
cart_var_alloc T
|
||||
cart_var_get T
|
||||
cart_var_set T
|
||||
copyPredictorTo20 T
|
||||
copyPredictorTo24 T
|
||||
copyPredictorTo24Shift T
|
||||
copyPredictorTo32 T
|
||||
copyPredictorTo32Shift T
|
||||
copy_coefs T
|
||||
dither_init T
|
||||
double64_be_read T
|
||||
double64_be_write T
|
||||
double64_init T
|
||||
double64_le_read T
|
||||
double64_le_write T
|
||||
dwd_open T
|
||||
dwvw_init T
|
||||
dyn_comp T
|
||||
dyn_decomp T
|
||||
flac_init T
|
||||
flac_open T
|
||||
float32_be_read T
|
||||
float32_be_write T
|
||||
float32_init T
|
||||
float32_le_read T
|
||||
float32_le_write T
|
||||
g721_decoder T
|
||||
g721_encoder T
|
||||
g723_16_decoder T
|
||||
g723_16_encoder T
|
||||
g723_24_decoder T
|
||||
g723_24_encoder T
|
||||
g723_40_decoder T
|
||||
g723_40_encoder T
|
||||
g72x_decode_block T
|
||||
g72x_encode_block T
|
||||
g72x_init T
|
||||
g72x_reader_init T
|
||||
g72x_writer_init T
|
||||
gsm610_init T
|
||||
gsm_A D 16
|
||||
gsm_B D 16
|
||||
gsm_DLB D 8
|
||||
gsm_FAC D 16
|
||||
gsm_H D 22
|
||||
gsm_INVA D 16
|
||||
gsm_L_add T
|
||||
gsm_L_asl T
|
||||
gsm_L_asr T
|
||||
gsm_L_mult T
|
||||
gsm_L_sub T
|
||||
gsm_MAC D 16
|
||||
gsm_MIC D 16
|
||||
gsm_NRFAC D 16
|
||||
gsm_QLB D 8
|
||||
gsm_abs T
|
||||
gsm_add T
|
||||
gsm_asl T
|
||||
gsm_asr T
|
||||
gsm_create T
|
||||
gsm_decode T
|
||||
gsm_destroy T
|
||||
gsm_div T
|
||||
gsm_encode T
|
||||
gsm_init T
|
||||
gsm_mult T
|
||||
gsm_mult_r T
|
||||
gsm_norm T
|
||||
gsm_option T
|
||||
gsm_sub T
|
||||
htk_open T
|
||||
id3_skip T
|
||||
ima_oki_adpcm_decode_block T
|
||||
ima_oki_adpcm_encode_block T
|
||||
ima_oki_adpcm_init T
|
||||
init_coefs T
|
||||
interleave_init T
|
||||
ircam_open T
|
||||
kALACEncoderMagic R 4
|
||||
kDefaultMixBits R 4
|
||||
kDefaultMixRes R 4
|
||||
kDefaultNumUV R 4
|
||||
kMaxBitDepth R 4
|
||||
kMaxRes R 4
|
||||
kMaxSampleSize R 4
|
||||
kMaxUV R 4
|
||||
kMinUV R 4
|
||||
macos_guess_file_type T
|
||||
mat4_open T
|
||||
mat5_open T
|
||||
mix16 T
|
||||
mix20 T
|
||||
mix24 T
|
||||
mix32 T
|
||||
mpc2k_open T
|
||||
nist_open T
|
||||
ogg_open T
|
||||
ogg_opus_open T
|
||||
ogg_pcm_open T
|
||||
ogg_speex_open T
|
||||
ogg_vorbis_open T
|
||||
paf_open T
|
||||
pc_block T
|
||||
pcm_init T
|
||||
predictor_pole T
|
||||
predictor_zero T
|
||||
private_init_state T
|
||||
psf_allocate T
|
||||
psf_asciiheader_printf T
|
||||
psf_binheader_readf T
|
||||
psf_binheader_writef T
|
||||
psf_calc_max_all_channels T
|
||||
psf_calc_signal_max T
|
||||
psf_close_rsrc T
|
||||
psf_cues_alloc T
|
||||
psf_cues_dup T
|
||||
psf_d2i_array T
|
||||
psf_d2i_clip_array T
|
||||
psf_d2s_array T
|
||||
psf_d2s_clip_array T
|
||||
psf_decode_frame_count T
|
||||
psf_default_seek T
|
||||
psf_f2i_array T
|
||||
psf_f2i_clip_array T
|
||||
psf_f2s_array T
|
||||
psf_f2s_clip_array T
|
||||
psf_fclose T
|
||||
psf_fgets T
|
||||
psf_file_valid T
|
||||
psf_find_read_chunk_iterator T
|
||||
psf_find_read_chunk_m32 T
|
||||
psf_find_read_chunk_str T
|
||||
psf_fopen T
|
||||
psf_fread T
|
||||
psf_fseek T
|
||||
psf_fsync T
|
||||
psf_ftell T
|
||||
psf_ftruncate T
|
||||
psf_fwrite T
|
||||
psf_get_chunk_iterator T
|
||||
psf_get_cues T
|
||||
psf_get_date_str T
|
||||
psf_get_filelen T
|
||||
psf_get_format_info T
|
||||
psf_get_format_major T
|
||||
psf_get_format_major_count T
|
||||
psf_get_format_simple T
|
||||
psf_get_format_simple_count T
|
||||
psf_get_format_subtype T
|
||||
psf_get_format_subtype_count T
|
||||
psf_get_max_all_channels T
|
||||
psf_get_signal_max T
|
||||
psf_get_string T
|
||||
psf_hexdump T
|
||||
psf_init_files T
|
||||
psf_instrument_alloc T
|
||||
psf_is_pipe T
|
||||
psf_location_string_count T
|
||||
psf_log_SF_INFO T
|
||||
psf_log_printf T
|
||||
psf_memset T
|
||||
psf_next_chunk_iterator T
|
||||
psf_open_file T
|
||||
psf_open_rsrc T
|
||||
psf_open_tmpfile T
|
||||
psf_rand_int32 T
|
||||
psf_sanitize_string T
|
||||
psf_save_write_chunk T
|
||||
psf_set_file T
|
||||
psf_set_stdio T
|
||||
psf_set_string T
|
||||
psf_store_read_chunk_str T
|
||||
psf_store_read_chunk_u32 T
|
||||
psf_store_string T
|
||||
psf_strlcpy_crlf T
|
||||
psf_use_rsrc T
|
||||
pvf_open T
|
||||
quantize T
|
||||
raw_open T
|
||||
reconstruct T
|
||||
rf64_open T
|
||||
rx2_open T
|
||||
s_bitwidth_to_subformat T
|
||||
sd2_open T
|
||||
sds_open T
|
||||
set_ag_params T
|
||||
set_standard_ag_params T
|
||||
sf_close T
|
||||
sf_command T
|
||||
sf_current_byterate T
|
||||
sf_errno B 4
|
||||
sf_error T
|
||||
sf_error_number T
|
||||
sf_error_str T
|
||||
sf_format_check T
|
||||
sf_get_chunk_data T
|
||||
sf_get_chunk_iterator T
|
||||
sf_get_chunk_size T
|
||||
sf_get_string T
|
||||
sf_next_chunk_iterator T
|
||||
sf_open T
|
||||
sf_open_fd T
|
||||
sf_open_virtual T
|
||||
sf_perror T
|
||||
sf_read_double T
|
||||
sf_read_float T
|
||||
sf_read_int T
|
||||
sf_read_raw T
|
||||
sf_read_short T
|
||||
sf_readf_double T
|
||||
sf_readf_float T
|
||||
sf_readf_int T
|
||||
sf_readf_short T
|
||||
sf_seek T
|
||||
sf_set_chunk T
|
||||
sf_set_string T
|
||||
sf_strerror T
|
||||
sf_version_string T
|
||||
sf_write_double T
|
||||
sf_write_float T
|
||||
sf_write_int T
|
||||
sf_write_raw T
|
||||
sf_write_short T
|
||||
sf_write_sync T
|
||||
sf_writef_double T
|
||||
sf_writef_float T
|
||||
sf_writef_int T
|
||||
sf_writef_short T
|
||||
step_size T
|
||||
str_of_endianness T
|
||||
str_of_major_format T
|
||||
str_of_minor_format T
|
||||
str_of_open_mode T
|
||||
subformat_to_bytewidth T
|
||||
svx_open T
|
||||
txw_open T
|
||||
u_bitwidth_to_subformat T
|
||||
ulaw_init T
|
||||
unmix16 T
|
||||
unmix20 T
|
||||
unmix24 T
|
||||
unmix32 T
|
||||
unpc_block T
|
||||
update T
|
||||
voc_open T
|
||||
vox_adpcm_init T
|
||||
w64_open T
|
||||
wav_open T
|
||||
wavlike_analyze T
|
||||
wavlike_format_str T
|
||||
wavlike_gen_channel_mask T
|
||||
wavlike_ima_init T
|
||||
wavlike_msadpcm_init T
|
||||
wavlike_msadpcm_write_adapt_coeffs T
|
||||
wavlike_read_bext_chunk T
|
||||
wavlike_read_cart_chunk T
|
||||
wavlike_read_fmt_chunk T
|
||||
wavlike_read_peak_chunk T
|
||||
wavlike_srate2blocksize T
|
||||
wavlike_subchunk_parse T
|
||||
wavlike_write_bext_chunk T
|
||||
wavlike_write_cart_chunk T
|
||||
wavlike_write_custom_chunks T
|
||||
wavlike_write_guid T
|
||||
wavlike_write_peak_chunk T
|
||||
wavlike_write_strings T
|
||||
wve_open T
|
||||
xi_open T
|
|
@ -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>
|
||||
|
||||
: mpg123.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 |> %d.lib.so {bin}
|
||||
: {bin} |> !collect_bin |>
|
||||
|
||||
include &(BIN_RULES)
|
|
@ -1 +0,0 @@
|
|||
src/libmpg123/synth_arm.S
|
|
@ -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
|
|
@ -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
|
|
@ -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:mpg123.lib.so/' \
|
||||
-e '/@/d' \
|
||||
< libmpg123.pc.in > $api/pkg-config/mpg123.pc
|
||||
'';
|
||||
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,7 @@
|
|||
include_rules
|
||||
|
||||
: |> $(NIX_BUILD) .. --out-link port \
|
||||
--attr %d.source --attr %d.include |> port-source port-include {port}
|
||||
|
||||
: port-source |> cp %f/%d.pc %o \
|
||||
|> $(PKG_CONFIG_DIR)/%d.pc $(GENODE_DIR)/<pkg-config>
|
|
@ -0,0 +1,25 @@
|
|||
{ preparePort, rtaudio }:
|
||||
|
||||
preparePort rec {
|
||||
inherit (rtaudio) name version src;
|
||||
outputs = [ "source" "include" ];
|
||||
buildPhase =
|
||||
''
|
||||
mkdir $source $include
|
||||
sed \
|
||||
-e "s|^includedir.*|include=$include|" \
|
||||
-e 's/@PACKAGE_VERSION@/${version}/' \
|
||||
-e 's/@req@/stdcxx/' \
|
||||
-e 's/^Libs:.*/Libs: -l:rtaudio.lib.so/' \
|
||||
-e '/pthread/d' \
|
||||
-e 's/@api@/-D__GENODE_AUDIO__/' \
|
||||
-e '/@/d' \
|
||||
-e '/prefix/d' \
|
||||
< rtaudio.pc.in > $source/rtaudio.pc
|
||||
'';
|
||||
installPhase =
|
||||
''
|
||||
cp -rv RtAudio.cpp rtaudio_c.cpp include $source
|
||||
cp RtAudio.h rtaudio_c.h $include
|
||||
'';
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
TARGET_NAME = depot_9P
|
||||
|
||||
PKG_DEPENDS += \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
@(PUBLIC_SRC_VFS_LWIP) \
|
||||
_/src/vfs \
|
||||
_/src/ninep \
|
||||
|
||||
include_rules
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
PKG_DEPENDS += \
|
||||
@(PUBLIC_SRC_INIT) \
|
||||
@(PUBLIC_SRC_LIBC) \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
@(PUBLIC_SRC_LIBMPG123) \
|
||||
@(PUBLIC_SRC_MP3_AUDIO_SINK) \
|
||||
@(PUBLIC_SRC_VFS_LWIP) \
|
||||
@(PUBLIC_SRC_ZLIB) \
|
||||
_/src/init \
|
||||
_/src/vfs \
|
||||
_/src/icy_client \
|
||||
|
||||
: ../runtime.in |> sed 's|@STREAM_URL@|$(STREAM_URL)|' %f > %o |> runtime
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
.gitignore
|
||||
GENODE_DIR = $(TUP_CWD)
|
||||
BASE_DIR = $(GENODE_DIR)/repos/base
|
||||
|
||||
SDK_VERSION = 19.05
|
||||
# TODO: these are configuration settings
|
||||
|
||||
LOCAL_LIB_PREFIX = lib
|
||||
LOCAL_PKGCONFIG_PREFIX = pkgconfig
|
||||
|
||||
SDK_PREFIX = /opt/genode/sdk-$(SDK_VERSION)
|
||||
SDK_INCLUDE_PREFIX = $(SDK_PREFIX)/include
|
||||
SDK_LIB_PREFIX = $(SDK_PREFIX)/$(LOCAL_LIB_PREFIX)
|
||||
SDK_PKGCONFIG_PREFIX = $(SDK_PREFIX)/$(LOCAL_PKGCONFIG_PREFIX)
|
||||
|
||||
SDK_DIR = $(GENODE_DIR)/sdk
|
||||
|
||||
!ln = |> ^ LN %o -> %f^ ln -s %f %o |>
|
||||
!cp = |> ^ CP %o^ cp %f %o |>
|
||||
|
||||
!tar = |> tar cf %o %f $(TAR_FLAGS) |>
|
||||
|
||||
SED_PKGCONFIG_FLAGS += -e 's|@exec_prefix@|$(SDK_PREFIX)|'
|
||||
SED_PKGCONFIG_FLAGS += -e 's|@includedir@|$(SDK_INCLUDE_PREFIX)|'
|
||||
SED_PKGCONFIG_FLAGS += -e 's|@prefix@|$(SDK_PREFIX)|'
|
||||
SED_PKGCONFIG_FLAGS += -e 's|@sharedlibdir@|@libdir@|'
|
||||
SED_PKGCONFIG_FLAGS += -e 's|@SDK_VERSION@|$(SDK_VERSION)|'
|
||||
|
||||
SED_FLAGS_arm64 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/arm64|'
|
||||
SED_FLAGS_i386 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/x86_32|'
|
||||
SED_FLAGS_x86_64 += -e 's|@libdir@|$(SDK_LIB_PREFIX)/x86_64|'
|
||||
|
||||
!sed_pkgconfig_file = |> ^ SED %B^ \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_arm64) %f \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%B; \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_i386) %f \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%B; \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_x86_64) %f \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%B; \
|
||||
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%B \
|
||||
$(LOCAL_PKGCONFIG_PREFIX)/x86_32/%B \
|
||||
$(LOCAL_PKGCONFIG_PREFIX)/x86_64/%B \
|
||||
<artifacts>
|
||||
|
||||
!sed_pkgconfig_flags = |> ^ SED %d.pc^ \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_arm64) \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc; \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_i386) \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc; \
|
||||
sed $(SED_PKGCONFIG_FLAGS) $(SED_FLAGS) $(SED_FLAGS_x86_64) \
|
||||
> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc; \
|
||||
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc \
|
||||
$(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc \
|
||||
$(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc \
|
||||
<artifacts>
|
||||
|
||||
PORTS_CURRENT = $(GENODE_DIR)/tool/ports/current
|
||||
|
||||
SDK_ABI_INCLUDE = $(TUP_CWD)/abi.tup
|
||||
SDK_TAR_INCLUDE = $(TUP_CWD)/tar.tup
|
||||
SDK_PKGCONFIG_TEMPLATE_INCLUDE = $(TUP_CWD)/template.pc.tup
|
||||
|
||||
CC = genode-x86-gcc
|
||||
CXX = genode-x86-g++
|
||||
AR = genode-x86-ar
|
||||
LD = genode-x86-ld
|
|
@ -0,0 +1,31 @@
|
|||
ifeq ($(SYMBOLS_DIR),)
|
||||
SYMBOLS_DIR = $(REP_DIR)/lib/symbols
|
||||
endif
|
||||
|
||||
LD_SCRIPT_SO = $(BASE_DIR)/src/ld/genode_rel.ld
|
||||
|
||||
: |> ^ CONVERT %o^ sed \
|
||||
-e "s/^\(\w\+\) D \(\w\+\)\$/.data; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
|
||||
-e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%%object; \1:/p" \
|
||||
-e "s/^\(\w\+\) T/.text; .global \1; .type \1,%%function; \1:/p" \
|
||||
-e "s/^\(\w\+\) R \(\w\+\)\$/.section .rodata; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
|
||||
-e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%%function; \1:/p" \
|
||||
-e "s/^\(\w\+\) B \(\w\+\)\$/.bss; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
|
||||
-e "s/^\(\w\+\) U/.text; .global \1; $(ASM_SYM_DEPENDENCY)/p" \
|
||||
$(SYMBOLS_DIR)/%d > %o |> $(LOCAL_LIB_PREFIX)/%d.symbols.s {asm}
|
||||
|
||||
: {asm} |> ^ ASSEMBLE %o^ $(CC) -c %f -o %o \
|
||||
|> $(LOCAL_LIB_PREFIX)/%b.o {obj}
|
||||
|
||||
!merge = |> ^ MERGE %o^ $(LD) \
|
||||
-o %o \
|
||||
-shared --eh-frame-hdr $(LD_OPT) \
|
||||
-T $(LD_SCRIPT_SO) \
|
||||
--whole-archive --start-group \
|
||||
$(LIB_SO_DEPS) %f \
|
||||
--end-group --no-whole-archive \
|
||||
|>
|
||||
|
||||
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/arm64/%d.lib.so <artifacts>
|
||||
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_32/%d.lib.so <artifacts>
|
||||
: {obj} |> !merge |> $(LOCAL_LIB_PREFIX)/x86_64/%d.lib.so <artifacts>
|
|
@ -0,0 +1,17 @@
|
|||
INCLUDE(CMakeForceCompiler)
|
||||
|
||||
SET(CMAKE_SYSTEM_NAME Genode)
|
||||
SET(CMAKE_SYSTEM_VERSION @SDK_VERSION@)
|
||||
|
||||
SET(CMAKE_FORCE_C_COMPILER @COMPILER_PREFIX@gcc GNU)
|
||||
SET(CMAKE_FORCE_CXX_COMPILER @COMPILER_PREFIX@g++ GNU)
|
||||
|
||||
# where is the target environment
|
||||
SET(CMAKE_FIND_ROOT_PATH @SDK_PREFIX@)
|
||||
SET(CMAKE_PREFIX_PATH @SDK_PREFIX@/cmake)
|
||||
|
||||
# search for programs in the build host directories
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# for libraries and headers in the target directories
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
@ -0,0 +1,40 @@
|
|||
{ toolchain, pkgs ? import <nixpkgs> {} }: with pkgs;
|
||||
|
||||
let
|
||||
version = "19.05";
|
||||
tarball = fetchurl {
|
||||
url = "https://github.com/genodelabs/genode/archive/19.05.tar.gz";
|
||||
sha256 = "1mr81885ysjff7plfvav6cr3lx5yhlcyq63q8c8bfvgi1fcarbww";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "genode-sdk-${version}";
|
||||
inherit tarball version;
|
||||
|
||||
phases = "mainPhase";
|
||||
|
||||
toolchain_dir = toolchain.out;
|
||||
tool_prefix = "genode-x86-";
|
||||
|
||||
spec_includes="-I\${includedir}/spec/x86_64 -I\${includedir}/spec/x86 -I\${includedir}/spec/64bit";
|
||||
|
||||
mainPhase = ''
|
||||
export includedir=$out/include
|
||||
export libdir=$out/lib
|
||||
pkg_config_dir=$out/pkg-config
|
||||
mkdir -p $includedir $pkg_config_dir
|
||||
|
||||
for i in ${./pkg-config}/*.pc; do
|
||||
substituteAll "$i" "$out/pkg-config/`basename $i`"
|
||||
done
|
||||
|
||||
tar xfv ${tarball} \
|
||||
--transform='s|genode-${version}/repos/base/include|genode-base/|' \
|
||||
--transform='s|genode-${version}/repos/os/include|genode-os/|' \
|
||||
--transform='s|genode-${version}/repos/gems/include|genode-gems/|' \
|
||||
-C $includedir \
|
||||
genode-${version}/repos/base/include \
|
||||
genode-${version}/repos/os/include \
|
||||
genode-${version}/repos/gems/include \
|
||||
'';
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
REP_DIR = $(TUP_CWD)
|
|
@ -0,0 +1 @@
|
|||
REP_DIR = $(TUP_CWD)
|
|
@ -0,0 +1 @@
|
|||
REP_DIR = $(TUP_CWD)
|
|
@ -0,0 +1,42 @@
|
|||
{ pkgs ? import <nixpkgs> {} }: with pkgs;
|
||||
|
||||
let
|
||||
genodeVersion = "19.05";
|
||||
toolchain = import /opt/genode/errata/toolchain.nix { inherit pkgs; };
|
||||
upstream = fetchFromGitHub {
|
||||
owner = "genodelabs";
|
||||
repo = "genode";
|
||||
rev = "19.05";
|
||||
sha256 = "01sgixyvsq5g7fd0nj9j67d9jma0bhlprwyjf21dql9hqn5k0ngf";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "genode-sdk-${genodeVersion}";
|
||||
version = genodeVersion;
|
||||
|
||||
toolchain_dir = toolchain.out;
|
||||
|
||||
inherit upstream;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ehmry/genode/releases/download/19.05-sdk/sdk.tar.xz";
|
||||
sha256 = "ab6f9c1856c535ed17960f66bf4fca0d82f49b7457ac21c2f22adb612d489aa9";
|
||||
};
|
||||
|
||||
phases = [ "mainPhase" ];
|
||||
|
||||
mainPhase = ''
|
||||
dest=$out/opt/genode
|
||||
mkdir -p $dest
|
||||
|
||||
tar xf $src --strip-components=3 -C $dest
|
||||
|
||||
for i in $dest/pkgconfig/*/*.pc; do
|
||||
substituteInPlace "$i" \
|
||||
--replace /opt/genode/sdk-${genodeVersion} $dest \
|
||||
--replace @TOOLCHAIN_DIR@ $toolchain_dir \
|
||||
; done
|
||||
'';
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
: <artifacts> |> ^ TAR %o^ tar cf %o --transform='s|^|$(SDK_PREFIX)/|' %<artifacts> $(TAR_FLAGS) |> %d.sdk.tar $(SDK_DIR)/<api_tarballs>
|
|
@ -0,0 +1 @@
|
|||
Libs: -l:%d.lib.so
|
|
@ -0,0 +1,13 @@
|
|||
TEMPLATE_FILE = $(TUP_CWD)/template.pc.in
|
||||
|
||||
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|
||||
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|
||||
|> $(LOCAL_PKGCONFIG_PREFIX)/arm64/%d.pc
|
||||
|
||||
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|
||||
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|
||||
|> $(LOCAL_PKGCONFIG_PREFIX)/x86_32/%d.pc
|
||||
|
||||
: $(TEMPLATE_FILE) | $(LOCAL_LIB_PREFIX)/*.lib.so \
|
||||
|> ^ Generate %d^ sed 's|%%d|%d|' %f > %o \
|
||||
|> $(LOCAL_PKGCONFIG_PREFIX)/x86_64/%d.pc
|
|
@ -0,0 +1 @@
|
|||
LDFLAGS += -L$(GENODE_DIR)/stub
|
|
@ -1,19 +1,19 @@
|
|||
TARGET_NAME = show_input
|
||||
include_rules
|
||||
|
||||
LIBS = vfs genode-gems genode-os genode-base genode-prg
|
||||
PKG_CONFIGS = vfs genode-gems genode-os genode-base genode-prg
|
||||
CXXFLAGS += `$(PKG_CONFIG) --cflags $(PKG_CONFIGS)`
|
||||
LDFLAGS += `$(PKG_CONFIG) --libs $(PKG_CONFIGS)`
|
||||
|
||||
: foreach *.cc |> !cxx |> %B.o {objs}
|
||||
|
||||
: {objs} |> !prg |> %d {binary}
|
||||
: {objs} |> !ld |> %d {binary}
|
||||
|
||||
: {binary} |> !collect_bin |>
|
||||
include &(BIN_RULES)
|
||||
|
||||
PKG_DEPENDS += \
|
||||
_/src/vfs \
|
||||
@(PUBLIC_SRC_VFS) \
|
||||
_/src/$(BIN_NAME) \
|
||||
|
||||
: runtime |> !collect_pkg_runtime |>
|
|
@ -1,12 +0,0 @@
|
|||
TARGET_NAME = mp3_audio_sink
|
||||
LIBS += mpg123 libc libm genode-gems
|
||||
|
||||
include_rules
|
||||
|
||||
INCLUDES += -I../cached_fs_rom
|
||||
|
||||
: foreach *.cc |> !cxx |> %B.o {obj}
|
||||
: {obj} | |> !prg |> {bin}
|
||||
: {bin} |> !collect_bin |>
|
||||
|
||||
include &(BIN_RULES)
|
|
@ -1,317 +0,0 @@
|
|||
/*
|
||||
* \brief MP3 audio decoder
|
||||
* \author Emery Hemingway
|
||||
* \date 2018-03-24
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2018 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
* - Metadata report
|
||||
* - Optimize buffer sizes
|
||||
*/
|
||||
|
||||
/* Genode includes */
|
||||
#include <gems/magic_ring_buffer.h>
|
||||
#include <os/static_root.h>
|
||||
#include <libc/component.h>
|
||||
#include <audio/source.h>
|
||||
#include <terminal_session/connection.h>
|
||||
#include <base/attached_rom_dataspace.h>
|
||||
#include <base/attached_ram_dataspace.h>
|
||||
#include <base/sleep.h>
|
||||
|
||||
/* Mpg123 includes */
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <mpg123.h>
|
||||
|
||||
namespace Mp3_audio_sink {
|
||||
|
||||
enum { LEFT, RIGHT, NUM_CHANNELS };
|
||||
|
||||
enum {
|
||||
FEED_POOL_SIZE = 2,
|
||||
CLIENT_BUFFER_SIZE = 1 << 14, /* 16 KiB */
|
||||
};
|
||||
|
||||
enum {
|
||||
AUDIO_OUT_BUFFER_SIZE = NUM_CHANNELS
|
||||
* Audio_out::QUEUE_SIZE
|
||||
* Audio_out::PERIOD
|
||||
* Audio_out::SAMPLE_SIZE
|
||||
};
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
struct Decoder;
|
||||
|
||||
class Terminal_component;
|
||||
struct Main;
|
||||
}
|
||||
|
||||
|
||||
struct Mp3_audio_sink::Decoder : Audio::Source
|
||||
{
|
||||
template <typename FUNC>
|
||||
static void for_each_channel(FUNC const &func) {
|
||||
for (int i = 0; i < NUM_CHANNELS; ++i) func(i); }
|
||||
|
||||
Genode::Env &_env;
|
||||
|
||||
Attached_rom_dataspace _config_rom { _env, "config" };
|
||||
|
||||
Audio::Stereo_out _stereo_out { _env, *this };
|
||||
|
||||
void die_mpg123(mpg123_handle *mh, char const *msg)
|
||||
{
|
||||
int code = mpg123_errcode(mh);
|
||||
Genode::error(msg, ", ", mpg123_strerror(mh));
|
||||
|
||||
mpg123_close(mh);
|
||||
mpg123_delete(mh);
|
||||
mpg123_exit();
|
||||
|
||||
_env.parent().exit(code);
|
||||
Genode::sleep_forever();
|
||||
}
|
||||
|
||||
mpg123_handle *create_mpg123_handle()
|
||||
{
|
||||
mpg123_handle *mh = NULL;
|
||||
|
||||
int err = mpg123_init();
|
||||
if(err != MPG123_OK || (mh = mpg123_new(NULL, &err)) == NULL)
|
||||
Genode::error("Mpg123 setup failed, ", mpg123_plain_strerror(err));
|
||||
|
||||
mpg123_param(mh, MPG123_FEEDPOOL, FEED_POOL_SIZE, 0);
|
||||
mpg123_param(mh, MPG123_FEEDBUFFER, CLIENT_BUFFER_SIZE, 0);
|
||||
|
||||
/* Set mpg123 output format to match Audio_out exactly */
|
||||
mpg123_param(mh, MPG123_FORCE_RATE,
|
||||
Audio_out::SAMPLE_RATE, Audio_out::SAMPLE_RATE);
|
||||
mpg123_format_none(mh);
|
||||
if (mpg123_format(mh, Audio_out::SAMPLE_RATE,
|
||||
MPG123_STEREO, MPG123_ENC_FLOAT_32) != MPG123_OK)
|
||||
die_mpg123(mh, "Audio_out format is unsupported");
|
||||
|
||||
if (mpg123_open_feed(mh) != MPG123_OK)
|
||||
die_mpg123(mh, "mpg123 feeder mode failed");
|
||||
return mh;
|
||||
}
|
||||
|
||||
mpg123_handle *_mh = create_mpg123_handle();
|
||||
|
||||
/* last error code logged */
|
||||
int _mh_err = MPG123_OK;
|
||||
|
||||
/**
|
||||
* Use half of the available RAM as buffer
|
||||
*/
|
||||
size_t _pcm_buffer_size()
|
||||
{
|
||||
size_t n = _env.pd().avail_ram().value / 2;
|
||||
if (n > (1<<20))
|
||||
log("internal buffer size is ", n>>20, "MiB");
|
||||
else if (n > (1<<10))
|
||||
log("internal buffer size is ", n>>10, "KiB");
|
||||
else
|
||||
log("internal buffer size is ", n, " bytes");
|
||||
return n;
|
||||
}
|
||||
|
||||
Magic_ring_buffer<float> _pcm { _env, _pcm_buffer_size() };
|
||||
|
||||
void _log_error()
|
||||
{
|
||||
int code = mpg123_errcode(_mh);
|
||||
if (code != MPG123_OK && _mh_err != code) {
|
||||
_mh_err = code;
|
||||
error(mpg123_plain_strerror(code));
|
||||
}
|
||||
}
|
||||
|
||||
Genode::size_t feedbuffer_size()
|
||||
{
|
||||
long value = 0;
|
||||
double fvalue = 0;
|
||||
if (mpg123_getparam(_mh, MPG123_FEEDBUFFER, &value, &fvalue))
|
||||
die_mpg123(_mh, "failed to get feed buffer size");
|
||||
return value;
|
||||
}
|
||||
|
||||
bool fill(float *left, float *right, Genode::size_t samples) override;
|
||||
|
||||
/**
|
||||
* Process client data, blocks until all data is consumed.
|
||||
*/
|
||||
void process(unsigned char const *src, size_t num_bytes)
|
||||
{
|
||||
/* TODO: patch mpgg123 not to use stdio for printing errors */
|
||||
|
||||
Libc::with_libc([&] () {
|
||||
|
||||
/* feed client data into mpg123 buffer */
|
||||
if (mpg123_feed(_mh, src, num_bytes))
|
||||
die_mpg123(_mh, "failed to feed");
|
||||
|
||||
::off_t num = 0;
|
||||
unsigned char *audio = nullptr;
|
||||
size_t bytes = 0;
|
||||
|
||||
while (mpg123_decode_frame(_mh, &num, &audio, &bytes) == MPG123_OK) {
|
||||
Genode::size_t const samples = bytes / Audio_out::SAMPLE_SIZE;
|
||||
|
||||
while (_pcm.write_avail() < samples) {
|
||||
/* submit audio blocks for packet allocation */
|
||||
_env.ep().wait_and_dispatch_one_io_signal();
|
||||
}
|
||||
|
||||
Genode::memcpy(_pcm.write_addr(), audio, bytes);
|
||||
_pcm.fill(samples);
|
||||
|
||||
}
|
||||
|
||||
if (mpg123_errcode(_mh) != MPG123_ERR_READER
|
||||
|| mpg123_errcode(_mh) != MPG123_OK)
|
||||
_log_error();
|
||||
});
|
||||
}
|
||||
|
||||
Signal_handler<Decoder> _config_handler {
|
||||
_env.ep(), *this, &Decoder::_handle_config };
|
||||
|
||||
void _handle_config()
|
||||
{
|
||||
_config_rom.update();
|
||||
Xml_node const config = _config_rom.xml();
|
||||
|
||||
enum { EQ_COUNT = 32 };
|
||||
|
||||
mpg123_reset_eq(_mh);
|
||||
config.for_each_sub_node("eq", [&] (Xml_node const &node) {
|
||||
unsigned band = node.attribute_value("band", 32U);
|
||||
double value = node.attribute_value("value", 0.0);
|
||||
if (band < EQ_COUNT && value != 0.0) {
|
||||
mpg123_eq(_mh, MPG123_LR , band, value);
|
||||
log("EQ ", band, ": ", mpg123_geteq(_mh, MPG123_LR , band));
|
||||
}
|
||||
});
|
||||
|
||||
double volume = 0.5;
|
||||
config.for_each_sub_node("volume", [&] (Xml_node const &node) {
|
||||
volume = node.attribute_value("linear", volume); });
|
||||
mpg123_volume(_mh, 0.5);
|
||||
}
|
||||
|
||||
Decoder(Genode::Env &env) : _env(env)
|
||||
{
|
||||
_config_rom.sigh(_config_handler);
|
||||
_handle_config();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
bool Mp3_audio_sink::Decoder::fill(float *left,
|
||||
float *right,
|
||||
Genode::size_t samples)
|
||||
{
|
||||
using namespace Audio_out;
|
||||
|
||||
if (_pcm.read_avail() < samples*2) return false;
|
||||
|
||||
float const *buf = _pcm.read_addr();
|
||||
for (unsigned i = 0; i < samples; ++i) {
|
||||
left[i] = buf[(i<<1)|0];
|
||||
right[i] = buf[(i<<1)|1];
|
||||
}
|
||||
|
||||
_pcm.drain(samples*2);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
class Mp3_audio_sink::Terminal_component :
|
||||
public Rpc_object<Terminal::Session, Terminal_component>
|
||||
{
|
||||
private:
|
||||
|
||||
Decoder &_decoder;
|
||||
|
||||
Genode::Attached_ram_dataspace _io_buffer;
|
||||
|
||||
public:
|
||||
|
||||
Terminal_component(Genode::Env &env, Decoder &decoder)
|
||||
:
|
||||
_decoder(decoder),
|
||||
_io_buffer(env.pd(), env.rm(), _decoder.feedbuffer_size())
|
||||
{ }
|
||||
|
||||
|
||||
/********************************
|
||||
** Terminal session interface **
|
||||
********************************/
|
||||
|
||||
Genode::Dataspace_capability _dataspace() {
|
||||
return _io_buffer.cap(); }
|
||||
|
||||
Size size() { return Size(0, 0); }
|
||||
|
||||
bool avail() { return false; }
|
||||
|
||||
Genode::size_t read(void *, Genode::size_t) { return 0; }
|
||||
Genode::size_t _read(Genode::size_t dst_len) { return 0; }
|
||||
|
||||
Genode::size_t write(void const *, Genode::size_t) { return 0; }
|
||||
Genode::size_t _write(Genode::size_t num_bytes)
|
||||
{
|
||||
/* sanitize argument */
|
||||
num_bytes = Genode::min(num_bytes, _io_buffer.size());
|
||||
|
||||
/* copy to decoder */
|
||||
_decoder.process(
|
||||
_io_buffer.local_addr<unsigned char>(), num_bytes);
|
||||
|
||||
return num_bytes;
|
||||
}
|
||||
|
||||
void connected_sigh(Genode::Signal_context_capability cap) {
|
||||
Genode::Signal_transmitter(cap).submit(); }
|
||||
|
||||
void read_avail_sigh(Genode::Signal_context_capability) { }
|
||||
|
||||
void size_changed_sigh(Genode::Signal_context_capability) { }
|
||||
};
|
||||
|
||||
|
||||
struct Mp3_audio_sink::Main
|
||||
{
|
||||
Genode::Env &_env;
|
||||
|
||||
Decoder _decoder { _env };
|
||||
|
||||
Terminal_component _terminal { _env, _decoder };
|
||||
|
||||
Static_root<Terminal::Session> _terminal_root {
|
||||
_env.ep().manage(_terminal) };
|
||||
|
||||
Main(Libc::Env &env) : _env(env)
|
||||
{
|
||||
env.parent().announce(env.ep().manage(_terminal_root));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/***************
|
||||
** Component **
|
||||
***************/
|
||||
|
||||
void Libc::Component::construct(Libc::Env &env) {
|
||||
static Mp3_audio_sink::Main _main(env); }
|
|
@ -1,11 +1,12 @@
|
|||
TARGET_NAME = nic_bus
|
||||
LIBS += genode-os genode-prg
|
||||
PKG_DEPENDS += _/src/$(TARGET_NAME)
|
||||
|
||||
include_rules
|
||||
|
||||
LIBS = genode-os genode-prg
|
||||
|
||||
: foreach *.cc |> !cxx |> %B.o {objs}
|
||||
: {objs} |> !prg |> %d {binary}
|
||||
: {objs} |> !ld |> %d {binary}
|
||||
: {binary} |> !collect_bin |>
|
||||
: runtime |> !collect_pkg_runtime |>
|
||||
|
|
@ -1000,11 +1000,11 @@ checkPhase() {
|
|||
installPhase() {
|
||||
runHook preInstall
|
||||
|
||||
if [ -n "$source" ]; then
|
||||
mkdir -p "$source"
|
||||
if [ -n "$prefix" ]; then
|
||||
mkdir -p "$prefix"
|
||||
fi
|
||||
|
||||
cp -r ./* "$source"
|
||||
cp -r ./* "$prefix"
|
||||
|
||||
runHook postInstall
|
||||
}
|
||||
|
|
2
upstream
2
upstream
|
@ -1 +1 @@
|
|||
Subproject commit 1661482caa4ca5e2ddfdc0d14f1f8f6b84bb961c
|
||||
Subproject commit c1cf7c9ad6d43a35b1f28f5f7ebe1472bf293585
|
Loading…
Reference in New Issue