From 1ff379bcc09bfb9f399c5bf955c08c8952c73da0 Mon Sep 17 00:00:00 2001 From: polyduekes Date: Sun, 14 Sep 2025 13:53:13 +0300 Subject: [PATCH] emulators/amiberry: New port: Optimised Amiga emulator Amiberry is an optimized Amiga emulator for Intel/AMD, ARM (32bit and 64bit) and RISC-V platforms. The core emulation comes from WinUAE, and even the main GUI is designed to look similar to that. It includes JIT support to get high-performance results on CPU-intensive emulated environments, like desktop applications. On top of that, there are some unique features developed specifically for Amiberry, such as the WHDLoad booter, support for RetroArch controller mapping, and several more. https://amiberry.com/ https://github.com/BlitterStudio/amiberry/ PR: 289403 Co-authored-by: Yusuf Yaman --- emulators/Makefile | 1 + emulators/amiberry/Makefile | 35 +++++ emulators/amiberry/distinfo | 3 + .../files/patch-cmake_SourceFiles.cmake | 11 ++ emulators/amiberry/pkg-descr | 7 + emulators/amiberry/pkg-plist | 139 ++++++++++++++++++ 6 files changed, 196 insertions(+) create mode 100644 emulators/amiberry/Makefile create mode 100644 emulators/amiberry/distinfo create mode 100644 emulators/amiberry/files/patch-cmake_SourceFiles.cmake create mode 100644 emulators/amiberry/pkg-descr create mode 100644 emulators/amiberry/pkg-plist diff --git a/emulators/Makefile b/emulators/Makefile index bdd2eb0d4009..dc3ed992a512 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -4,6 +4,7 @@ SUBDIR += Ymir SUBDIR += adamem SUBDIR += almostti + SUBDIR += amiberry SUBDIR += anese SUBDIR += aqemu SUBDIR += aranym diff --git a/emulators/amiberry/Makefile b/emulators/amiberry/Makefile new file mode 100644 index 000000000000..2455230f6482 --- /dev/null +++ b/emulators/amiberry/Makefile @@ -0,0 +1,35 @@ +PORTNAME= amiberry +DISTVERSIONPREFIX= v +DISTVERSION= 7.1.1 +CATEGORIES= emulators + +MAINTAINER= polyduekes@proton.me +COMMENT= Optimized Amiga emulator +WWW= https://amiberry.com/ \ + https://github.com/BlitterStudio/amiberry + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 riscv64 + +BUILD_DEPENDS= ${LOCALBASE}/include/sys/sysinfo.h:devel/libsysinfo +LIB_DEPENDS= libenet.so:net/enet \ + libFLAC.so:audio/flac \ + libmpeg2.so:multimedia/libmpeg2 \ + libmpg123.so:audio/mpg123 \ + libpng.so:graphics/png \ + libportmidi.so:audio/portmidi \ + libserialport.so:devel/libserialport \ + libzstd.so:archivers/zstd +RUN_DEPENDS= ${LOCALBASE}/share/icons/hicolor/index.theme:misc/hicolor-icon-theme + +USES= cmake desktop-file-utils ninja pkgconfig sdl shared-mime-info +USE_GITHUB= yes +GH_ACCOUNT= BlitterStudio +USE_SDL= image2 sdl2 ttf2 + +OPTIONS_DEFINE= DOCS +OPTIONS_SUB= yes + +.include diff --git a/emulators/amiberry/distinfo b/emulators/amiberry/distinfo new file mode 100644 index 000000000000..68e6c40a4ab7 --- /dev/null +++ b/emulators/amiberry/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1757491854 +SHA256 (BlitterStudio-amiberry-v7.1.1_GH0.tar.gz) = 5baa70ea42fa7e3d5b3cbec56cbd49585869600f054cf7285a8a33463e8ad2fa +SIZE (BlitterStudio-amiberry-v7.1.1_GH0.tar.gz) = 11279537 diff --git a/emulators/amiberry/files/patch-cmake_SourceFiles.cmake b/emulators/amiberry/files/patch-cmake_SourceFiles.cmake new file mode 100644 index 000000000000..f0f8e774ba0f --- /dev/null +++ b/emulators/amiberry/files/patch-cmake_SourceFiles.cmake @@ -0,0 +1,11 @@ +--- cmake/SourceFiles.cmake.orig 2025-09-07 17:28:06 UTC ++++ cmake/SourceFiles.cmake +@@ -452,7 +452,7 @@ install(TARGETS ${PROJECT_NAME} + ) + + # Settings for installing per platform +-if (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + include(cmake/linux/CMakeLists.txt) + elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + include(cmake/macos/CMakeLists.txt) diff --git a/emulators/amiberry/pkg-descr b/emulators/amiberry/pkg-descr new file mode 100644 index 000000000000..f60812b2a73c --- /dev/null +++ b/emulators/amiberry/pkg-descr @@ -0,0 +1,7 @@ +Amiberry is an optimized Amiga emulator that includes several neat features such +as: + * JIT support to get high-performance results on CPU-intensive emulated + environments + * WHDLoad booter + * support for RetroArch controller mapping +and several more... diff --git a/emulators/amiberry/pkg-plist b/emulators/amiberry/pkg-plist new file mode 100644 index 000000000000..c4c9adabb352 --- /dev/null +++ b/emulators/amiberry/pkg-plist @@ -0,0 +1,139 @@ +bin/amiberry +lib/amiberry/libcapsimage.so +lib/amiberry/libfloppybridge.so +%%DATADIR%%/controllers/gamecontrollerdb.txt +%%DATADIR%%/controllers/gamecontrollerdb_user.txt +%%DATADIR%%/data/35floppy.png +%%DATADIR%%/data/AmigaTopaz.ttf +%%DATADIR%%/data/abr/brainfile.xml +%%DATADIR%%/data/abr/catlist.xml +%%DATADIR%%/data/amiberry-logo.png +%%DATADIR%%/data/amiberry.png +%%DATADIR%%/data/amiberry.svg +%%DATADIR%%/data/amigainfo.png +%%DATADIR%%/data/axis.png +%%DATADIR%%/data/button.png +%%DATADIR%%/data/chip.png +%%DATADIR%%/data/controller.png +%%DATADIR%%/data/controllermap.png +%%DATADIR%%/data/controllermap_back.png +%%DATADIR%%/data/cpu.png +%%DATADIR%%/data/cursor.bmp +%%DATADIR%%/data/delete.png +%%DATADIR%%/data/drive.png +%%DATADIR%%/data/expansion.png +%%DATADIR%%/data/file.png +%%DATADIR%%/data/fixedfont.png +%%DATADIR%%/data/floppy_sounds/drive_click.wav +%%DATADIR%%/data/floppy_sounds/drive_snatch.wav +%%DATADIR%%/data/floppy_sounds/drive_spin.wav +%%DATADIR%%/data/floppy_sounds/drive_spinnd.wav +%%DATADIR%%/data/floppy_sounds/drive_startup.wav +%%DATADIR%%/data/icon.icns +%%DATADIR%%/data/joystick.png +%%DATADIR%%/data/keyboard.png +%%DATADIR%%/data/misc.png +%%DATADIR%%/data/paths.png +%%DATADIR%%/data/port.png +%%DATADIR%%/data/quickstart.png +%%DATADIR%%/data/rpgfont.png +%%DATADIR%%/data/savestate.png +%%DATADIR%%/data/screen.png +%%DATADIR%%/data/sound.png +%%DATADIR%%/data/vkbd/vkbdCoolFRLarge.png +%%DATADIR%%/data/vkbd/vkbdCoolFRLargeHires.png +%%DATADIR%%/data/vkbd/vkbdCoolFRLargeShift.png +%%DATADIR%%/data/vkbd/vkbdCoolFRLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdCoolGerLarge.png +%%DATADIR%%/data/vkbd/vkbdCoolGerLargeHires.png +%%DATADIR%%/data/vkbd/vkbdCoolGerLargeShift.png +%%DATADIR%%/data/vkbd/vkbdCoolGerLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdCoolQuit.png +%%DATADIR%%/data/vkbd/vkbdCoolQuitHires.png +%%DATADIR%%/data/vkbd/vkbdCoolUKLarge.png +%%DATADIR%%/data/vkbd/vkbdCoolUKLargeHires.png +%%DATADIR%%/data/vkbd/vkbdCoolUKLargeShift.png +%%DATADIR%%/data/vkbd/vkbdCoolUKLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdCoolUSLarge.png +%%DATADIR%%/data/vkbd/vkbdCoolUSLargeHires.png +%%DATADIR%%/data/vkbd/vkbdCoolUSLargeShift.png +%%DATADIR%%/data/vkbd/vkbdCoolUSLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdDarkFRLarge.png +%%DATADIR%%/data/vkbd/vkbdDarkFRLargeHires.png +%%DATADIR%%/data/vkbd/vkbdDarkFRLargeShift.png +%%DATADIR%%/data/vkbd/vkbdDarkFRLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdDarkGerLarge.png +%%DATADIR%%/data/vkbd/vkbdDarkGerLargeHires.png +%%DATADIR%%/data/vkbd/vkbdDarkGerLargeShift.png +%%DATADIR%%/data/vkbd/vkbdDarkGerLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdDarkQuit.png +%%DATADIR%%/data/vkbd/vkbdDarkQuitHires.png +%%DATADIR%%/data/vkbd/vkbdDarkUKLarge.png +%%DATADIR%%/data/vkbd/vkbdDarkUKLargeHires.png +%%DATADIR%%/data/vkbd/vkbdDarkUKLargeShift.png +%%DATADIR%%/data/vkbd/vkbdDarkUKLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdDarkUSLarge.png +%%DATADIR%%/data/vkbd/vkbdDarkUSLargeHires.png +%%DATADIR%%/data/vkbd/vkbdDarkUSLargeShift.png +%%DATADIR%%/data/vkbd/vkbdDarkUSLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdOrigFRLarge.png +%%DATADIR%%/data/vkbd/vkbdOrigFRLargeHires.png +%%DATADIR%%/data/vkbd/vkbdOrigFRLargeShift.png +%%DATADIR%%/data/vkbd/vkbdOrigFRLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdOrigGerLarge.png +%%DATADIR%%/data/vkbd/vkbdOrigGerLargeHires.png +%%DATADIR%%/data/vkbd/vkbdOrigGerLargeShift.png +%%DATADIR%%/data/vkbd/vkbdOrigGerLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdOrigQuit.png +%%DATADIR%%/data/vkbd/vkbdOrigQuitHires.png +%%DATADIR%%/data/vkbd/vkbdOrigUKLarge.png +%%DATADIR%%/data/vkbd/vkbdOrigUKLargeHires.png +%%DATADIR%%/data/vkbd/vkbdOrigUKLargeShift.png +%%DATADIR%%/data/vkbd/vkbdOrigUKLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdOrigUSLarge.png +%%DATADIR%%/data/vkbd/vkbdOrigUSLargeHires.png +%%DATADIR%%/data/vkbd/vkbdOrigUSLargeShift.png +%%DATADIR%%/data/vkbd/vkbdOrigUSLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdWarmFRLarge.png +%%DATADIR%%/data/vkbd/vkbdWarmFRLargeHires.png +%%DATADIR%%/data/vkbd/vkbdWarmFRLargeShift.png +%%DATADIR%%/data/vkbd/vkbdWarmFRLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdWarmGerLarge.png +%%DATADIR%%/data/vkbd/vkbdWarmGerLargeHires.png +%%DATADIR%%/data/vkbd/vkbdWarmGerLargeShift.png +%%DATADIR%%/data/vkbd/vkbdWarmGerLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdWarmQuit.png +%%DATADIR%%/data/vkbd/vkbdWarmQuitHires.png +%%DATADIR%%/data/vkbd/vkbdWarmUKLarge.png +%%DATADIR%%/data/vkbd/vkbdWarmUKLargeHires.png +%%DATADIR%%/data/vkbd/vkbdWarmUKLargeShift.png +%%DATADIR%%/data/vkbd/vkbdWarmUKLargeShiftHires.png +%%DATADIR%%/data/vkbd/vkbdWarmUSLarge.png +%%DATADIR%%/data/vkbd/vkbdWarmUSLargeHires.png +%%DATADIR%%/data/vkbd/vkbdWarmUSLargeShift.png +%%DATADIR%%/data/vkbd/vkbdWarmUSLargeShiftHires.png +%%DATADIR%%/roms/aros-ext.bin +%%DATADIR%%/roms/aros-rom.bin +%%DATADIR%%/roms/mt32-roms/dir.txt +%%DATADIR%%/whdboot/AmiQuit +%%DATADIR%%/whdboot/JST +%%DATADIR%%/whdboot/WHDLoad +%%DATADIR%%/whdboot/boot-data.zip +%%DATADIR%%/whdboot/game-data/whdload_db.xml +%%DATADIR%%/whdboot/save-data/Autoboots/foo.txt +%%DATADIR%%/whdboot/save-data/Debugs/foo.txt +%%DATADIR%%/whdboot/save-data/Kickstarts/foo.txt +%%DATADIR%%/whdboot/save-data/Kickstarts/kick33180.A500.RTB +%%DATADIR%%/whdboot/save-data/Kickstarts/kick33192.A500.RTB +%%DATADIR%%/whdboot/save-data/Kickstarts/kick34005.A500.RTB +%%DATADIR%%/whdboot/save-data/Kickstarts/kick40063.A600.RTB +%%DATADIR%%/whdboot/save-data/Kickstarts/kick40068.A1200.RTB +%%DATADIR%%/whdboot/save-data/Kickstarts/kick40068.A4000.RTB +%%DATADIR%%/whdboot/save-data/Savegames/foo.txt +share/applications/Amiberry.desktop +%%DOCS%%%%DOCSDIR%%/changelog.gz +%%DOCS%%%%DOCSDIR%%/copyright +share/icons/hicolor/scalable/apps/amiberry.svg +share/man/man1/amiberry.1.gz +share/metainfo/Amiberry.metainfo.xml +share/mime/packages/amiberry.xml