diff --git a/lib/mk/fceumm_libretro.mk b/lib/mk/fceumm_libretro.mk index 0cac8e7..a17f467 100644 --- a/lib/mk/fceumm_libretro.mk +++ b/lib/mk/fceumm_libretro.mk @@ -22,6 +22,7 @@ SRC_C := $(notdir $(SOURCES_C)) vpath %.c $(CORE_DIR) vpath %.c $(CORE_DIR)/boards vpath %.c $(CORE_DIR)/drivers/libretro +vpath %.c $(CORE_DIR)/drivers/libretro/libretro-common/compat vpath %.c $(CORE_DIR)/drivers/libretro/libretro-common/streams vpath %.c $(CORE_DIR)/input vpath %.c $(CORE_DIR)/mappers diff --git a/lib/mk/meteor_libretro.mk b/lib/mk/meteor_libretro.mk index a142a50..c1bb41a 100644 --- a/lib/mk/meteor_libretro.mk +++ b/lib/mk/meteor_libretro.mk @@ -1,4 +1,4 @@ -LIBS = libretro libc stdcxx +LIBS = libc stdcxx SHARED_LIB = yes diff --git a/lib/mk/tyrquake_libretro.mk b/lib/mk/tyrquake_libretro.mk index e9b3c3e..fae8aa6 100644 --- a/lib/mk/tyrquake_libretro.mk +++ b/lib/mk/tyrquake_libretro.mk @@ -1,15 +1,16 @@ -LIBS = libretro libc libm stdcxx +LIBS = libc libm stdcxx SHARED_LIB = yes -PORT_DIR := $(call select_from_ports,tyrquake-libretro)/src/lib/tyrquake-libretro +PORT_DIR := $(call select_from_ports,tyrquake-libretro)/src/libretro/tyrquake CORE_DIR := $(PORT_DIR) -include $(PORT_DIR)/Makefile.common INC_DIR += \ $(REP_DIR)/src/libretro/tyrquake \ - $(PORT_DIR)/libretro-common/include + $(PORT_DIR)/common \ + $(PORT_DIR)/libretro-common/include \ CC_OPT = \ -DHAVE_STRINGS_H \ diff --git a/ports/tyrquake-libretro.hash b/ports/tyrquake-libretro.hash index a71db3d..00e46ee 100644 --- a/ports/tyrquake-libretro.hash +++ b/ports/tyrquake-libretro.hash @@ -1 +1 @@ -91bdfba4909178d944f6602439b93f8e65cec296 +7e313a85de4e5600dca2fb7b8d16e6a1ec1a57f7 diff --git a/ports/tyrquake-libretro.port b/ports/tyrquake-libretro.port index 6b47794..a9b0601 100644 --- a/ports/tyrquake-libretro.port +++ b/ports/tyrquake-libretro.port @@ -8,4 +8,4 @@ REV := 7f3c540a320b706031021bb187bb03bb4c326f88 URL(tyrquake-libretro) := https://github.com/$(OWNER)/$(REPO)/archive/$(REV).tar.gz SHA(tyrquake-libretro) := 4ef1899ac6a66b476541064319df6d40c148fba2 -DIR(tyrquake-libretro) := src/lib/tyrquake-libretro +DIR(tyrquake-libretro) := src/libretro/tyrquake diff --git a/recipes/pkg/fceumm_libretro/README b/recipes/pkg/fceumm_libretro/README new file mode 100644 index 0000000..6763a72 --- /dev/null +++ b/recipes/pkg/fceumm_libretro/README @@ -0,0 +1 @@ +FCE Ultra mappers modified, an emulator for the Nintendo Entertainment System diff --git a/recipes/pkg/fceumm_libretro/archives b/recipes/pkg/fceumm_libretro/archives new file mode 100644 index 0000000..8870096 --- /dev/null +++ b/recipes/pkg/fceumm_libretro/archives @@ -0,0 +1,3 @@ +_/src/fceumm_libretro +_/src/libc +_/src/zlib diff --git a/recipes/pkg/fceumm_libretro/hash b/recipes/pkg/fceumm_libretro/hash new file mode 100644 index 0000000..f9c5e6d --- /dev/null +++ b/recipes/pkg/fceumm_libretro/hash @@ -0,0 +1 @@ +2017-11-27 7b23c5e758426526c248cc0f3c950fe6c0fd1ba5 diff --git a/recipes/pkg/meteor_libretro/README b/recipes/pkg/meteor_libretro/README new file mode 100644 index 0000000..1ec0007 --- /dev/null +++ b/recipes/pkg/meteor_libretro/README @@ -0,0 +1 @@ +Meteor emulator for the Game Boy Advance diff --git a/recipes/pkg/meteor_libretro/archives b/recipes/pkg/meteor_libretro/archives new file mode 100644 index 0000000..9614c7d --- /dev/null +++ b/recipes/pkg/meteor_libretro/archives @@ -0,0 +1,2 @@ +_/src/meteor_libretro +_/src/libc diff --git a/recipes/pkg/meteor_libretro/hash b/recipes/pkg/meteor_libretro/hash new file mode 100644 index 0000000..7baf726 --- /dev/null +++ b/recipes/pkg/meteor_libretro/hash @@ -0,0 +1 @@ +2017-11-27 2b0c5d1bfc622a0b7cb10aa07cdb35f08a394063 diff --git a/recipes/pkg/snes9x_libretro/README b/recipes/pkg/snes9x_libretro/README new file mode 100644 index 0000000..f0ae722 --- /dev/null +++ b/recipes/pkg/snes9x_libretro/README @@ -0,0 +1,3 @@ +Snes9x emulator for the Super Nintendo Entertainment System + +http://www.snes9x.com/ diff --git a/recipes/pkg/snes9x_libretro/archives b/recipes/pkg/snes9x_libretro/archives new file mode 100644 index 0000000..ce4cc73 --- /dev/null +++ b/recipes/pkg/snes9x_libretro/archives @@ -0,0 +1,2 @@ +_/src/snes9x_libretro +_/src/libc diff --git a/recipes/pkg/snes9x_libretro/hash b/recipes/pkg/snes9x_libretro/hash new file mode 100644 index 0000000..026ef5b --- /dev/null +++ b/recipes/pkg/snes9x_libretro/hash @@ -0,0 +1 @@ +2017-11-27 228441601a48077e33274d70cbfd5466202ced8e diff --git a/recipes/pkg/tyrquake_libretro/README b/recipes/pkg/tyrquake_libretro/README new file mode 100644 index 0000000..b3f0ace --- /dev/null +++ b/recipes/pkg/tyrquake_libretro/README @@ -0,0 +1,3 @@ +TyrQuake engine + +http://disentchant.net/tyrquake/ diff --git a/recipes/pkg/tyrquake_libretro/archives b/recipes/pkg/tyrquake_libretro/archives new file mode 100644 index 0000000..d55f6b9 --- /dev/null +++ b/recipes/pkg/tyrquake_libretro/archives @@ -0,0 +1,2 @@ +_/src/libc +_/src/tyrquake_libretro diff --git a/recipes/pkg/tyrquake_libretro/hash b/recipes/pkg/tyrquake_libretro/hash new file mode 100644 index 0000000..66bb260 --- /dev/null +++ b/recipes/pkg/tyrquake_libretro/hash @@ -0,0 +1 @@ +2017-11-28 99f3d81ad18df7f6bd7c7142d3280f5b708e3b21 diff --git a/recipes/src/fb_upscale/content.mk b/recipes/src/fb_upscale/content.mk new file mode 100644 index 0000000..b3f4e2d --- /dev/null +++ b/recipes/src/fb_upscale/content.mk @@ -0,0 +1,2 @@ +SRC_DIR = src/server/fb_upscale +include $(GENODE_DIR)/repos/base/recipes/src/content.inc diff --git a/recipes/src/fb_upscale/hash b/recipes/src/fb_upscale/hash new file mode 100644 index 0000000..16669ba --- /dev/null +++ b/recipes/src/fb_upscale/hash @@ -0,0 +1 @@ +2017-11-27 2b759e4a169c16ed19e007b0fd5cf53293e7f068 diff --git a/recipes/src/fb_upscale/used_apis b/recipes/src/fb_upscale/used_apis new file mode 100644 index 0000000..95a839f --- /dev/null +++ b/recipes/src/fb_upscale/used_apis @@ -0,0 +1,2 @@ +base +framebuffer_session diff --git a/recipes/src/fceumm_libretro/api b/recipes/src/fceumm_libretro/api new file mode 100644 index 0000000..1160733 --- /dev/null +++ b/recipes/src/fceumm_libretro/api @@ -0,0 +1 @@ +libretro diff --git a/recipes/src/fceumm_libretro/content.mk b/recipes/src/fceumm_libretro/content.mk new file mode 100644 index 0000000..8c6bf2a --- /dev/null +++ b/recipes/src/fceumm_libretro/content.mk @@ -0,0 +1,14 @@ +content: lib/mk/fceumm_libretro.mk src/libretro/fceumm LICENSE + +CORE_DIR := $(call port_dir,$(REP_DIR)/ports/fceumm-libretro)/src/libretro/fceumm + +lib/mk/fceumm_libretro.mk: + $(mirror_from_rep_dir) + +src/libretro/fceumm: + $(mirror_from_rep_dir) + cp -r $(CORE_DIR)/* $@ + echo "LIBS = fceumm_libretro" > $@/target.mk + +LICENSE: + cp $(CORE_DIR)/Copying LICENSE diff --git a/recipes/src/fceumm_libretro/hash b/recipes/src/fceumm_libretro/hash new file mode 100644 index 0000000..6afeb46 --- /dev/null +++ b/recipes/src/fceumm_libretro/hash @@ -0,0 +1 @@ +2017-11-27 a0faa1146122f9c44500385c3dcb9c3f8e26a02a diff --git a/recipes/src/fceumm_libretro/used_apis b/recipes/src/fceumm_libretro/used_apis new file mode 100644 index 0000000..d8bdbff --- /dev/null +++ b/recipes/src/fceumm_libretro/used_apis @@ -0,0 +1,4 @@ +libc +so +stdcxx +zlib \ No newline at end of file diff --git a/recipes/src/meteor_libretro/content.mk b/recipes/src/meteor_libretro/content.mk new file mode 100644 index 0000000..5e1e1b8 --- /dev/null +++ b/recipes/src/meteor_libretro/content.mk @@ -0,0 +1,14 @@ +content: lib/mk/meteor_libretro.mk src/libretro/meteor LICENSE + +CORE_DIR := $(call port_dir,$(REP_DIR)/ports/meteor-libretro)/src/libretro/meteor + +lib/mk/meteor_libretro.mk: + $(mirror_from_rep_dir) + +src/libretro/meteor: + $(mirror_from_rep_dir) + cp -r $(CORE_DIR)/* $@ + echo "LIBS = meteor_libretro" > $@/target.mk + +LICENSE: + cp $(CORE_DIR)/COPYING LICENSE diff --git a/recipes/src/meteor_libretro/hash b/recipes/src/meteor_libretro/hash new file mode 100644 index 0000000..71283dd --- /dev/null +++ b/recipes/src/meteor_libretro/hash @@ -0,0 +1 @@ +2017-11-27 cd297ae262c8628e505d8407ef3df840885ada6d diff --git a/recipes/src/meteor_libretro/used_apis b/recipes/src/meteor_libretro/used_apis new file mode 100644 index 0000000..babecff --- /dev/null +++ b/recipes/src/meteor_libretro/used_apis @@ -0,0 +1,3 @@ +libc +so +stdcxx diff --git a/recipes/src/retro_frontend/hash b/recipes/src/retro_frontend/hash index 62dd252..dee9b3c 100644 --- a/recipes/src/retro_frontend/hash +++ b/recipes/src/retro_frontend/hash @@ -1 +1 @@ -2017-11-16 0224fb049a40facef7e0a7460936ee1b0bbf267d +2017-11-27 5d0ed1ae158fe0b7d3f825b2d4815b8e98375866 diff --git a/recipes/src/snes9x_libretro/api b/recipes/src/snes9x_libretro/api new file mode 100644 index 0000000..1160733 --- /dev/null +++ b/recipes/src/snes9x_libretro/api @@ -0,0 +1 @@ +libretro diff --git a/recipes/src/snes9x_libretro/content.mk b/recipes/src/snes9x_libretro/content.mk new file mode 100644 index 0000000..8fe2edf --- /dev/null +++ b/recipes/src/snes9x_libretro/content.mk @@ -0,0 +1,14 @@ +content: lib/mk/snes9x_libretro.mk src/libretro/snes9x LICENSE + +CORE_DIR := $(call port_dir,$(REP_DIR)/ports/snes9x-libretro)/src/libretro/snes9x + +lib/mk/snes9x_libretro.mk: + $(mirror_from_rep_dir) + +src/libretro/snes9x: + $(mirror_from_rep_dir) + cp -r $(CORE_DIR)/* $@ + echo "LIBS = snes9x_libretro" > $@/target.mk + +LICENSE: + cp $(CORE_DIR)/docs/snes9x-license.txt LICENSE diff --git a/recipes/src/snes9x_libretro/hash b/recipes/src/snes9x_libretro/hash new file mode 100644 index 0000000..199fb33 --- /dev/null +++ b/recipes/src/snes9x_libretro/hash @@ -0,0 +1 @@ +2017-11-27 07d08e662af9e92c7fe7f386dfea53e2e25383a1 diff --git a/recipes/src/snes9x_libretro/used_apis b/recipes/src/snes9x_libretro/used_apis new file mode 100644 index 0000000..40ebdb8 --- /dev/null +++ b/recipes/src/snes9x_libretro/used_apis @@ -0,0 +1,4 @@ +libc +so +stdcxx +zlib diff --git a/recipes/src/tyrquake_libretro/content.mk b/recipes/src/tyrquake_libretro/content.mk new file mode 100644 index 0000000..8aadc79 --- /dev/null +++ b/recipes/src/tyrquake_libretro/content.mk @@ -0,0 +1,14 @@ +content: lib/mk/tyrquake_libretro.mk src/libretro/tyrquake LICENSE + +CORE_DIR := $(call port_dir,$(REP_DIR)/ports/tyrquake-libretro)/src/libretro/tyrquake + +lib/mk/tyrquake_libretro.mk: + $(mirror_from_rep_dir) + +src/libretro/tyrquake: + $(mirror_from_rep_dir) + cp -r $(CORE_DIR)/* $@ + echo "LIBS = tyrquake_libretro" > $@/target.mk + +LICENSE: + cp $(CORE_DIR)/gnu.txt LICENSE diff --git a/recipes/src/tyrquake_libretro/hash b/recipes/src/tyrquake_libretro/hash new file mode 100644 index 0000000..04f2af1 --- /dev/null +++ b/recipes/src/tyrquake_libretro/hash @@ -0,0 +1 @@ +2017-11-28 e8a8580e4458b13cc1f225b96e70f25a92c9582e diff --git a/recipes/src/tyrquake_libretro/used_apis b/recipes/src/tyrquake_libretro/used_apis new file mode 100644 index 0000000..babecff --- /dev/null +++ b/recipes/src/tyrquake_libretro/used_apis @@ -0,0 +1,3 @@ +libc +so +stdcxx diff --git a/run/driar.run b/run/driar.run index 2772410..fc64531 100644 --- a/run/driar.run +++ b/run/driar.run @@ -12,15 +12,19 @@ if {[expr [have_include "power_on/qemu"] && !$force_qemu]} { set wget [check_installed wget] set unzip [check_installed unzip] +create_boot_directory + +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/fceumm_libretro \ + genodelabs/src/fb_upscale \ + genodelabs/src/init \ + genodelabs/src/report_rom \ + genodelabs/src/retro_frontend \ + set build_components { - core init - app/retro_frontend drivers/audio drivers/framebuffer drivers/input - drivers/timer - libretro/fceumm - server/fb_upscale } source ${genode_dir}/repos/base/run/platform_drv.inc @@ -37,8 +41,6 @@ append_platform_drv_build_components build $build_components -create_boot_directory - # # Generate config # @@ -163,19 +165,8 @@ if {![file exist bin/Driar.nes]} { # generic modules append boot_modules { - core init ld.lib.so -} [audio_drv_binary] { - fb_upscale - fceumm_libretro.lib.so - libc.lib.so - libm.lib.so - report_rom - retro_frontend - stdcxx.lib.so - timer - zlib.lib.so - Driar.nes +} [audio_drv_binary] { } # platform-specific modules diff --git a/run/meteor.run b/run/meteor.run index 361b7dc..4164664 100644 --- a/run/meteor.run +++ b/run/meteor.run @@ -6,17 +6,20 @@ if {[expr [have_include "power_on/qemu"] && !$force_qemu]} { exit } -# -# Check used commands -# -set wget [check_installed wget] -set unzip [check_installed unzip] +create_boot_directory + +import_from_depot \ + genodelabs/src/[base_src] \ + genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/pkg/meteor_libretro \ + genodelabs/src/fb_upscale \ + genodelabs/src/init \ + genodelabs/src/report_rom \ + genodelabs/src/retro_frontend \ + set build_components { - app/retro_frontend drivers/audio - libretro/meteor - server/fb_upscale } source ${genode_dir}/repos/base/run/platform_drv.inc @@ -31,13 +34,6 @@ proc platform_drv_policy {} { build $build_components -create_boot_directory - -import_from_depot \ - genodelabs/src/[base_src] \ - genodelabs/pkg/[drivers_interactive_pkg] \ - genodelabs/src/init \ - genodelabs/src/report_rom \ # # Generate config @@ -163,12 +159,6 @@ if {![file exists bin/game.gba]} { # generic modules append boot_modules { - fb_upscale - libc.lib.so - libm.lib.so - meteor_libretro.lib.so - retro_frontend - stdcxx.lib.so } [audio_drv_binary] { game.gba } diff --git a/run/superbossgaiden.run b/run/superbossgaiden.run index 4059917..b57b522 100644 --- a/run/superbossgaiden.run +++ b/run/superbossgaiden.run @@ -12,16 +12,19 @@ if {[expr [have_include "power_on/qemu"] && !$force_qemu]} { set wget [check_installed wget] set unzip [check_installed unzip] +create_boot_directory + +import_from_depot genodelabs/src/[base_src] \ + genodelabs/pkg/snes9x_libretro \ + genodelabs/src/fb_upscale \ + genodelabs/src/init \ + genodelabs/src/report_rom \ + genodelabs/src/retro_frontend \ + set build_components { - core init - app/retro_frontend drivers/audio drivers/framebuffer drivers/input - drivers/timer - libretro/snes9x - server/fb_upscale - server/report_rom } source ${genode_dir}/repos/base/run/platform_drv.inc @@ -39,8 +42,6 @@ append_platform_drv_build_components build $build_components -create_boot_directory - # # Generate config # @@ -171,19 +172,8 @@ if {![file exist "bin/superbossgaiden.sfc"]} { # generic modules append boot_modules { - core init ld.lib.so -} [audio_drv_binary] { - core init ld.lib.so - audio_drv - fb_upscale - libc.lib.so - libm.lib.so - report_rom - retro_frontend - stdcxx.lib.so - snes9x_libretro.lib.so superbossgaiden.sfc - timer +} [audio_drv_binary] { } # platform-specific modules diff --git a/run/tyrquake.run b/run/tyrquake.run index 8405c18..d0ca01b 100644 --- a/run/tyrquake.run +++ b/run/tyrquake.run @@ -17,14 +17,11 @@ create_boot_directory import_from_depot \ genodelabs/src/[base_src] \ genodelabs/pkg/[drivers_interactive_pkg] \ + genodelabs/pkg/tyrquake_libretro \ + genodelabs/src/fb_upscale \ genodelabs/src/init \ genodelabs/src/report_rom \ - -build { - app/retro_frontend - libretro/tyrquake - server/fb_upscale -} + genodelabs/src/retro_frontend \ # # Generate config @@ -131,13 +128,7 @@ if {![file exist "bin/quake.tar"]} { # generic modules build_boot_image { - fb_upscale - libc.lib.so - libm.lib.so quake.tar - retro_frontend - stdcxx.lib.so - tyrquake_libretro.lib.so } append qemu_args " -soundhw es1370 "