aboutsummaryrefslogtreecommitdiff
path: root/emulators/hatari
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/hatari')
-rw-r--r--emulators/hatari/Makefile59
-rw-r--r--emulators/hatari/distinfo6
-rw-r--r--emulators/hatari/files/patch-CMakeLists.txt16
-rw-r--r--emulators/hatari/files/patch-cmake_FindReadline.cmake17
-rw-r--r--emulators/hatari/files/patch-share_CMakeLists.txt16
-rw-r--r--emulators/hatari/files/patch-tools_atari-hd-image.sh14
-rw-r--r--emulators/hatari/pkg-plist74
7 files changed, 113 insertions, 89 deletions
diff --git a/emulators/hatari/Makefile b/emulators/hatari/Makefile
index 5be9728b9c28..1773111df2f9 100644
--- a/emulators/hatari/Makefile
+++ b/emulators/hatari/Makefile
@@ -1,44 +1,57 @@
PORTNAME= hatari
-PORTVERSION= 2.3.1
-PORTREVISION= 3
+PORTVERSION= 2.5.0
CATEGORIES= emulators
MASTER_SITES= http://download.tuxfamily.org/hatari/${PORTVERSION}/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= laurent.chardon@gmail.com
COMMENT= Atari ST emulator
WWW= https://hatari.tuxfamily.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/gpl.txt
-BROKEN_armv6= fails to configure: CMake Error: Generator: execution of make failed
+BROKEN_armv6= fails to configure: CMake Error: Generator: execution of make failed
-LIB_DEPENDS= libportaudio.so:audio/portaudio \
- libpng.so:graphics/png
+LIB_DEPENDS= libpng.so:graphics/png \
+ libudev.so:devel/libudev-devd \
+ libreadline.so:devel/readline \
+ libcapstone.so:devel/capstone
USES= cmake desktop-file-utils gnome python readline \
- sdl shared-mime-info shebangfix tar:bzip2 xorg
-USE_GNOME= gtk30
+ sdl shared-mime-info shebangfix tar:bzip2 xorg iconv
+USE_GNOME= gtk30 pygobject3
USE_XORG= sm ice x11 xext
+USE_SDL= sdl2
SHEBANG_FILES= python-ui/*.py tools/*.py \
tools/debugger/*.py tools/hconsole/*.py
-CMAKE_ARGS= -DETCDIR:PATH="${PREFIX}/etc" \
- -DREADLINE_FOUND:BOOL=ON
-
-# -DMANDIR:PATH="share/man/man1"
-OPTIONS_DEFINE= DEBUG DOCS SDL2 WINUAE
-
-DEBUG_CFLAGS_OFF= -DNDEBUG
-SDL2_DESC= Use SDL2 libraries instead of SDL 1.2
-SDL2_USES= iconv
-SDL2_USE= sdl=sdl2
-SDL2_USE_OFF= sdl=sdl
-SDL2_CMAKE_BOOL= ENABLE_SDL2
-SDL2_CFLAGS= -I${ICONV_INCLUDE_PATH}
-WINUAE_DESC= Build with WinUAE CPU core
-WINUAE_CMAKE_BOOL= ENABLE_WINUAE_CPU
+CMAKE_ARGS= -DETCDIR:PATH="${PREFIX}/etc"
+
+OPTIONS_DEFINE= DEBUG DOCS DSP TRACE SMALL
+OPTIONS_DEFAULT= DOCS DSP TRACE
+
+DEBUG_DESC= Build with debug information
+DOCS_DESC= Install extra documentation
+DSP_DESC= DSP 56k emulator for Falcon mode
+TRACE_DESC= Tracing messages for debugging
+SMALL_DESC= Use less memory at the expense of emulation speed
+
+DSP_CMAKE_BOOL= ENABLE_DSP_EMU
+TRACE_CMAKE_BOOL= ENABLE_TRACING
+SMALL_CMAKE_BOOL= ENABLE_SMALL_MEM
+
+TEST_TARGET= test
+
+.include <bsd.port.options.mk>
+
+# CMAKE_ARGS CMAKE_BUILD_TYPE is getting overriden
+.if ${PORT_OPTIONS:MDEBUG}
+CMAKE_BUILD_TYPE=Debug
+INSTALL_TARGET=install
+.else
+CMAKE_BUILD_TYPE=Release
+.endif
post-patch:
.for i in doc/*.1 python-ui/*.1 tools/*.1 tools/debugger/*.1 tools/hconsole/*.1 tools/hmsa/*.1
diff --git a/emulators/hatari/distinfo b/emulators/hatari/distinfo
index 535bcf7864db..5a3cac4e6c7d 100644
--- a/emulators/hatari/distinfo
+++ b/emulators/hatari/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1645876638
-SHA256 (hatari-2.3.1.tar.bz2) = 44a2f62ca995e38d9e0874806956f0b9c3cc84ea89e0169a63849b63cd3b64bd
-SIZE (hatari-2.3.1.tar.bz2) = 4334129
+TIMESTAMP = 1714071173
+SHA256 (hatari-2.5.0.tar.bz2) = d76c22fc3de69fb1bb4af3e8ba500b7e40f5a2a45d07783f24cb7101e53c3457
+SIZE (hatari-2.5.0.tar.bz2) = 2820580
diff --git a/emulators/hatari/files/patch-CMakeLists.txt b/emulators/hatari/files/patch-CMakeLists.txt
deleted file mode 100644
index d7d7c63a51cb..000000000000
--- a/emulators/hatari/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
---- CMakeLists.txt.orig 2018-03-20 22:30:14 UTC
-+++ CMakeLists.txt
-@@ -187,7 +187,12 @@
- check_include_files(termios.h HAVE_TERMIOS_H)
- check_include_files(strings.h HAVE_STRINGS_H)
- check_include_files(malloc.h HAVE_MALLOC_H)
--check_include_files(${SDL_INCLUDE_DIR}/SDL_config.h HAVE_SDL_CONFIG_H)
-+foreach(_sid ${SDL_INCLUDE_DIR})
-+ check_include_files(${_sid}/SDL_config.h HAVE_SDL_CONFIG_H)
-+ if(HAVE_SDL_CONFIG_H)
-+ break()
-+ endif()
-+endforeach()
- check_include_files(sys/time.h HAVE_SYS_TIME_H)
- check_include_files(sys/times.h HAVE_SYS_TIMES_H)
- check_include_files(utime.h HAVE_UTIME_H)
diff --git a/emulators/hatari/files/patch-cmake_FindReadline.cmake b/emulators/hatari/files/patch-cmake_FindReadline.cmake
new file mode 100644
index 000000000000..a610362cb09b
--- /dev/null
+++ b/emulators/hatari/files/patch-cmake_FindReadline.cmake
@@ -0,0 +1,17 @@
+--- cmake/FindReadline.cmake.orig 2024-04-30 09:37:41 UTC
++++ cmake/FindReadline.cmake
+@@ -19,9 +19,11 @@ if(Readline_FOUND)
+ if(Readline_FOUND)
+ set(CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARY})
+ set(CMAKE_REQUIRED_INCLUDES ${READLINE_INCLUDE_DIR})
+- check_symbol_exists(rl_filename_completion_function
+- "stdio.h;readline.h"
+- HAVE_RL_COMPLETION_FUNCTION)
++ # check_symbol_exists faile for readline on FreeBSD. Bypassing
++ set(HAVE_RL_COMPLETION_FUNCTION TRUE)
++ #check_symbol_exists(rl_filename_completion_function
++ # "stdio.h;readline.h"
++ # HAVE_RL_COMPLETION_FUNCTION)
+ # If linking did not work, we might have to link
+ # explicitly against libtermcap or libncurses
+ if(NOT HAVE_RL_COMPLETION_FUNCTION)
diff --git a/emulators/hatari/files/patch-share_CMakeLists.txt b/emulators/hatari/files/patch-share_CMakeLists.txt
index 5a8031d36044..a8294702cd55 100644
--- a/emulators/hatari/files/patch-share_CMakeLists.txt
+++ b/emulators/hatari/files/patch-share_CMakeLists.txt
@@ -1,25 +1,23 @@
---- share/CMakeLists.txt.orig 2018-02-07 18:33:55 UTC
+--- share/CMakeLists.txt.orig 2024-04-26 10:53:02 UTC
+++ share/CMakeLists.txt
-@@ -5,9 +5,8 @@ foreach(size 32x32 48x48 64x64 128x128 2
- install(FILES icons/hicolor/${size}/mimetypes/application-x-st-disk-image.png
+@@ -6,8 +6,8 @@ foreach(size 32x32 48x48 64x64 128x128 256x256)
DESTINATION ${ICONDIR}/${size}/mimetypes)
foreach(type vnd.msa vnd.fastcopy x-stx)
-- install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
+ install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
- application-x-st-disk-image.png
- \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${ICONDIR}/${size}/mimetypes/application-${type}-disk-image.png)
-+ install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink application-x-st-disk-image.png application-${type}-disk-image.png
++ application-x-st-disk-image.png application-${type}-disk-image.png
+ WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${ICONDIR}/${size}/mimetypes)
")
endforeach()
endforeach()
-@@ -17,9 +16,8 @@ install(FILES icons/hicolor/scalable/app
- install(FILES icons/hicolor/scalable/mimetypes/application-x-st-disk-image.svg
+@@ -18,8 +18,8 @@ foreach(type vnd.msa vnd.fastcopy x-stx)
DESTINATION ${ICONDIR}/scalable/mimetypes)
foreach(type vnd.msa vnd.fastcopy x-stx)
-- install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
+ install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
- application-x-st-disk-image.svg
- \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${ICONDIR}/scalable/mimetypes/application-${type}-disk-image.svg)
-+ install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink application-x-st-disk-image.svg application-${type}-disk-image.svg
++ application-x-st-disk-image.svg application-${type}-disk-image.svg
+ WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${ICONDIR}/scalable/mimetypes)
")
endforeach()
diff --git a/emulators/hatari/files/patch-tools_atari-hd-image.sh b/emulators/hatari/files/patch-tools_atari-hd-image.sh
index 0d26d83f5fb3..9b92f43e239b 100644
--- a/emulators/hatari/files/patch-tools_atari-hd-image.sh
+++ b/emulators/hatari/files/patch-tools_atari-hd-image.sh
@@ -1,13 +1,13 @@
---- tools/atari-hd-image.sh.orig 2022-02-26 12:11:11 UTC
+--- tools/atari-hd-image.sh.orig 2024-04-26 10:23:56 UTC
+++ tools/atari-hd-image.sh
-@@ -33,8 +33,8 @@ PATH=/sbin:$PATH
+@@ -33,8 +33,8 @@ export PATH
export PATH
# check tools
--if [ -z "$(which mkdosfs)" ] || [ -z "$(which python)" ]; then
-- echo "ERROR: either mkdosfs or python tool missing!"
+-if [ -z "$(which mkdosfs)" ] || [ -z "$(which python3)" ]; then
+- echo "ERROR: either mkdosfs or python3 missing!"
+if [ -z "$(which mkdosfs)" ] || [ -z "$(which %%PYTHON_VERSION%%)" ]; then
-+ echo "ERROR: either mkdosfs or %%PYTHON_VERSION%% tool missing!"
++ echo "ERROR: either mkdosfs or %%PYTHON_VERSION%% missing!"
exit 1
fi
@@ -15,10 +15,10 @@
# - http://en.wikipedia.org/wiki/File_Allocation_Table#Boot_Sector
# For DOS MBR, the values are little endian.
# -----------
--python << EOF
+-python3 << EOF
-#!/usr/bin/env python3
+%%PYTHON_VERSION%% << EOF
-+#!/usr/bin/env %%PYTHON_VERSION%%3
++#!/usr/bin/env %%PYTHON_VERSION%%
mbr = bytearray(512)
def set_long(idx, value):
diff --git a/emulators/hatari/pkg-plist b/emulators/hatari/pkg-plist
index 03175af65fc3..c1b06045aef2 100644
--- a/emulators/hatari/pkg-plist
+++ b/emulators/hatari/pkg-plist
@@ -7,35 +7,6 @@ bin/hatari_profile
bin/hatariui
bin/hmsa
bin/zip2st
-%%DATADIR%%/hatari-icon.bmp
-%%DATADIR%%/hatariui/README
-%%DATADIR%%/hatariui/TODO
-%%DATADIR%%/hatariui/config.py
-%%DATADIR%%/hatariui/conftypes.py
-%%DATADIR%%/hatariui/debugui.py
-%%DATADIR%%/hatariui/dialogs.py
-%%DATADIR%%/hatariui/hatari-icon.png
-%%DATADIR%%/hatariui/hatari-logo.png
-%%DATADIR%%/hatariui/hatari.py
-%%DATADIR%%/hatariui/hatariui.py
-%%DATADIR%%/hatariui/%%CMAKE_BUILD_TYPE%%-notes.txt
-%%DATADIR%%/hatariui/uihelpers.py
-%%DATADIR%%/hconsole/example-commands
-%%DATADIR%%/hconsole/example-debugger
-%%DATADIR%%/hconsole/example.py
-%%DATADIR%%/hconsole/hconsole.py
-%%DATADIR%%/hconsole/%%CMAKE_BUILD_TYPE%%-notes.txt
-%%DATADIR%%/tos.img
-share/man/man1/atari-convert-dir.1.gz
-share/man/man1/atari-hd-image.1.gz
-share/man/man1/gst2ascii.1.gz
-share/man/man1/hatari-prg-args.1.gz
-share/man/man1/hatari.1.gz
-share/man/man1/hatari_profile.1.gz
-share/man/man1/hatariui.1.gz
-share/man/man1/hconsole.1.gz
-share/man/man1/hmsa.1.gz
-share/man/man1/zip2st.1.gz
share/applications/hatari.desktop
share/applications/hatariui.desktop
%%PORTDOCS%%%%DOCSDIR%%/CMakeLists.txt
@@ -46,6 +17,11 @@ share/applications/hatariui.desktop
%%PORTDOCS%%%%DOCSDIR%%/compatibility.html
%%PORTDOCS%%%%DOCSDIR%%/debugger.html
%%PORTDOCS%%%%DOCSDIR%%/emutos.txt
+%%PORTDOCS%%%%DOCSDIR%%/hatari-ui.html
+%%PORTDOCS%%%%DOCSDIR%%/hatariui/README
+%%PORTDOCS%%%%DOCSDIR%%/hatariui/TODO
+%%PORTDOCS%%%%DOCSDIR%%/hatariui/release-notes.txt
+%%PORTDOCS%%%%DOCSDIR%%/hconsole/release-notes.txt
%%PORTDOCS%%%%DOCSDIR%%/images/callgraph.png
%%PORTDOCS%%%%DOCSDIR%%/images/callgraph.svg
%%PORTDOCS%%%%DOCSDIR%%/images/cpu.png
@@ -54,6 +30,17 @@ share/applications/hatariui.desktop
%%PORTDOCS%%%%DOCSDIR%%/images/fileselector.png
%%PORTDOCS%%%%DOCSDIR%%/images/floppydisks.png
%%PORTDOCS%%%%DOCSDIR%%/images/harddisks.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-0.7.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-0.9.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-debug.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-input.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-noembed.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-peripherals.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-quit.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-setup-edit.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-setup.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-speed.png
+%%PORTDOCS%%%%DOCSDIR%%/images/hatari-ui-trace.png
%%PORTDOCS%%%%DOCSDIR%%/images/joystick.png
%%PORTDOCS%%%%DOCSDIR%%/images/kcachegrind.png
%%PORTDOCS%%%%DOCSDIR%%/images/keyboard.png
@@ -72,13 +59,28 @@ share/applications/hatariui.desktop
%%PORTDOCS%%%%DOCSDIR%%/manual.html
%%PORTDOCS%%%%DOCSDIR%%/memory-usage.txt
%%PORTDOCS%%%%DOCSDIR%%/midi-linux.txt
-%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-checklist.txt
-%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes.txt
+%%PORTDOCS%%%%DOCSDIR%%/release-checklist.txt
+%%PORTDOCS%%%%DOCSDIR%%/release-notes.txt
%%PORTDOCS%%%%DOCSDIR%%/scsi-driver.txt
%%PORTDOCS%%%%DOCSDIR%%/thanks.txt
%%PORTDOCS%%%%DOCSDIR%%/toc.js
%%PORTDOCS%%%%DOCSDIR%%/todo.txt
%%PORTDOCS%%%%DOCSDIR%%/video-recording.txt
+%%DATADIR%%/hatari-icon.bmp
+%%DATADIR%%/hatariui/config.py
+%%DATADIR%%/hatariui/conftypes.py
+%%DATADIR%%/hatariui/debugui.py
+%%DATADIR%%/hatariui/dialogs.py
+%%DATADIR%%/hatariui/hatari-icon.png
+%%DATADIR%%/hatariui/hatari-logo.png
+%%DATADIR%%/hatariui/hatari.py
+%%DATADIR%%/hatariui/hatariui.py
+%%DATADIR%%/hatariui/uihelpers.py
+%%DATADIR%%/hconsole/example-commands
+%%DATADIR%%/hconsole/example-debugger
+%%DATADIR%%/hconsole/example.py
+%%DATADIR%%/hconsole/hconsole.py
+%%DATADIR%%/tos.img
share/icons/hicolor/128x128/apps/hatari.png
share/icons/hicolor/128x128/mimetypes/application-vnd.fastcopy-disk-image.png
share/icons/hicolor/128x128/mimetypes/application-vnd.msa-disk-image.png
@@ -109,4 +111,14 @@ share/icons/hicolor/scalable/mimetypes/application-vnd.fastcopy-disk-image.svg
share/icons/hicolor/scalable/mimetypes/application-vnd.msa-disk-image.svg
share/icons/hicolor/scalable/mimetypes/application-x-st-disk-image.svg
share/icons/hicolor/scalable/mimetypes/application-x-stx-disk-image.svg
+share/man/man1/atari-convert-dir.1.gz
+share/man/man1/atari-hd-image.1.gz
+share/man/man1/gst2ascii.1.gz
+share/man/man1/hatari-prg-args.1.gz
+share/man/man1/hatari.1.gz
+share/man/man1/hatari_profile.1.gz
+share/man/man1/hatariui.1.gz
+share/man/man1/hconsole.1.gz
+share/man/man1/hmsa.1.gz
+share/man/man1/zip2st.1.gz
share/mime/packages/hatari.xml