diff --git a/recipes/pkg/abuse/README b/recipes/pkg/abuse/README
new file mode 100644
index 0000000..100acbd
--- /dev/null
+++ b/recipes/pkg/abuse/README
@@ -0,0 +1,7 @@
+
+ Abuse
+
+Abuse is a dark 2D side-scrolling platform game developed by Crack dot Com in 1995.
+It features beautiful lighting, realistic animation and nasty alien-like creatures to destroy.
+It is now maintained by Sam Hocevar in an attempt to prevent it from vanishing from
+the Internet.
diff --git a/recipes/pkg/abuse/archives b/recipes/pkg/abuse/archives
new file mode 100644
index 0000000..c2de2eb
--- /dev/null
+++ b/recipes/pkg/abuse/archives
@@ -0,0 +1,13 @@
+_/raw/abuse
+_/src/abuse
+_/src/jpeg
+_/src/libc
+_/src/nit_fb
+_/src/sdl
+_/src/sdl_image
+_/src/sdl_mixer
+_/src/sdl_net
+_/src/stdcxx
+_/src/vfs
+_/src/libpng
+_/src/zlib
diff --git a/recipes/pkg/abuse/hash b/recipes/pkg/abuse/hash
new file mode 100644
index 0000000..9208593
--- /dev/null
+++ b/recipes/pkg/abuse/hash
@@ -0,0 +1 @@
+18.05 95cc1fa7f2d49d7e21b6f428c262f857bb2c07f3
diff --git a/recipes/pkg/abuse/runtime b/recipes/pkg/abuse/runtime
new file mode 100644
index 0000000..9235d29
--- /dev/null
+++ b/recipes/pkg/abuse/runtime
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1996-02-29 12:00
+
+
+
+
+
+
+
+
+
diff --git a/recipes/raw/abuse/content.mk b/recipes/raw/abuse/content.mk
new file mode 100644
index 0000000..9bf686b
--- /dev/null
+++ b/recipes/raw/abuse/content.mk
@@ -0,0 +1,9 @@
+content: abuse.tar README
+
+ABUSE_DIR := $(call port_dir,$(REP_DIR)/ports/abuse)/src/app/abuse
+
+abuse.tar: $(ABUSE_DIR)/data
+ tar cf $@ -C $< .
+
+README: $(ABUSE_DIR)/COPYING
+ cp $< $@
diff --git a/recipes/raw/abuse/hash b/recipes/raw/abuse/hash
new file mode 100644
index 0000000..02443e4
--- /dev/null
+++ b/recipes/raw/abuse/hash
@@ -0,0 +1 @@
+0.8 0dfb9001655344f59095885dfb1df5ed4438f31a
diff --git a/recipes/src/abuse/content.mk b/recipes/src/abuse/content.mk
new file mode 100644
index 0000000..55cc463
--- /dev/null
+++ b/recipes/src/abuse/content.mk
@@ -0,0 +1,18 @@
+MIRROR_FROM_PORT_AND_REP_DIR := src/app/abuse
+
+MIRROR_FROM_REP_DIR := lib/mk/abuse_imlib.mk
+
+content: $(MIRROR_FROM_PORT_AND_REP_DIR) $(MIRROR_FROM_REP_DIR) LICENSE
+
+PORT_DIR := $(call port_dir,$(REP_DIR)/ports/abuse)
+
+$(MIRROR_FROM_PORT_AND_REP_DIR):
+ mkdir -p $(dir $@)
+ cp -r $(PORT_DIR)/$@ $(dir $@)
+ $(mirror_from_rep_dir)
+
+$(MIRROR_FROM_REP_DIR):
+ $(mirror_from_rep_dir)
+
+LICENSE:
+ cp $(PORT_DIR)/src/app/abuse/COPYING $@
diff --git a/recipes/src/abuse/hash b/recipes/src/abuse/hash
new file mode 100644
index 0000000..bc304ee
--- /dev/null
+++ b/recipes/src/abuse/hash
@@ -0,0 +1 @@
+2018-06-02 28d5fd221d9208fc2d195e180472810cca439ae4
diff --git a/recipes/src/abuse/used_apis b/recipes/src/abuse/used_apis
new file mode 100644
index 0000000..2be4e38
--- /dev/null
+++ b/recipes/src/abuse/used_apis
@@ -0,0 +1,9 @@
+base
+libc
+sdl
+sdl_image
+sdl_mixer
+sdl_net
+stdcxx
+os
+vfs
diff --git a/run/abuse.run b/run/abuse.run
deleted file mode 100644
index f3e9a22..0000000
--- a/run/abuse.run
+++ /dev/null
@@ -1,156 +0,0 @@
-#
-# Build
-#
-
-set build_components {
- core init
- drivers/audio
- drivers/framebuffer
- drivers/input
- drivers/timer
- app/abuse
-}
-
-source ${genode_dir}/repos/base/run/platform_drv.inc
-# override default platform driver policy
-proc platform_drv_policy {} {
- return {
-
-
-
- }
-}
-
-append_platform_drv_build_components
-
-build $build_components
-
-create_boot_directory
-
-#
-# Generate config
-#
-
-append config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
-append_if [have_spec sdl] config {
-
-
-
-
-
-
-
- }
-
-append_platform_drv_config
-
-append_if [have_spec vesa] config {
-
-
-
-
-
- }
-
-append_if [have_spec pl11x] config {
-
-
-
- }
-
-append_if [have_spec ps2] config {
-
-
-
- }
-
-append config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-; Location of the datafiles
-datadir=/data
-
-
-
-
-
-
-
-
-
-
-}
-
-install_config $config
-
-#
-# Boot modules
-#
-
-file copy -force app/abuse/abuse.tar bin
-
-# generic modules
-append boot_modules {
- core init } [audio_drv_binary] {
- jpeg.lib.so
- ld.lib.so
- libc.lib.so vfs.lib.so
- libm.lib.so
- libpng.lib.so
- pthread.lib.so
- sdl_image.lib.so
- sdl.lib.so
- sdl_mixer.lib.so
- sdl_net.lib.so
- stdcxx.lib.so
- timer
- zlib.lib.so
- abuse abuse.tar
-}
-
-# platform-specific modules
-lappend_if [have_spec linux] boot_modules fb_sdl
-lappend_if [have_spec vesa] boot_modules fb_drv
-lappend_if [have_spec ps2] boot_modules ps2_drv
-lappend_if [have_spec pl11x] boot_modules fb_drv
-
-append_platform_drv_boot_modules
-
-build_boot_image $boot_modules
-
-append qemu_args " -soundhw es1370 "
-
-run_genode_until forever
diff --git a/src/app/abuse/target.mk b/src/app/abuse/target.mk
index 871bb82..493171f 100644
--- a/src/app/abuse/target.mk
+++ b/src/app/abuse/target.mk
@@ -30,7 +30,7 @@ INC_DIR += $(PRG_DIR) \
$(ABUSE_SRC)/net \
$(ABUSE_SRC)/ui
-LIBS += abuse_imlib libc libm stdcxx sdlmain sdl sdl_image sdl_mixer sdl_net
+LIBS += base abuse_imlib libc libm stdcxx sdlmain sdl sdl_image sdl_mixer sdl_net
CC_WARN += \
-Wno-unused-but-set-variable \