Skip to content

Commit

Permalink
emulators/hatari: Update to 2.5.0
Browse files Browse the repository at this point in the history
- Submitter becomes maintainer
- Update options
- Bypass broken readline detection by cmake
- Add test target

ChangeLog:	https://www.hatari.tuxfamily.org/news.html
PR:		278590
  • Loading branch information
LaurentChardon authored and nunotexbsd committed May 2, 2024
1 parent 903a740 commit 8580a08
Show file tree
Hide file tree
Showing 7 changed files with 113 additions and 89 deletions.
59 changes: 36 additions & 23 deletions emulators/hatari/Makefile
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 3 additions & 3 deletions emulators/hatari/distinfo
Original file line number Diff line number Diff line change
@@ -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
16 changes: 0 additions & 16 deletions emulators/hatari/files/patch-CMakeLists.txt

This file was deleted.

17 changes: 17 additions & 0 deletions emulators/hatari/files/patch-cmake_FindReadline.cmake
Original file line number Diff line number Diff line change
@@ -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)
16 changes: 7 additions & 9 deletions emulators/hatari/files/patch-share_CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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()
Expand Down
14 changes: 7 additions & 7 deletions emulators/hatari/files/patch-tools_atari-hd-image.sh
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
--- 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

@@ -147,8 +147,8 @@ echo "$step) Create DOS Master Boot Record / partition
# - 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):
74 changes: 43 additions & 31 deletions emulators/hatari/pkg-plist
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

0 comments on commit 8580a08

Please sign in to comment.