summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorfox <fox@pkgsrc.org>2019-10-23 00:21:26 +0000
committerfox <fox@pkgsrc.org>2019-10-23 00:21:26 +0000
commit3aab744af1440a75bf92cf1a49696b21d899cf78 (patch)
tree5d40229ae715459339fc40889102d8da724342b0 /emulators
parent5ae9ddb22fe9c7938bc4dcc559effc52d40ee639 (diff)
downloadpkgsrc-3aab744af1440a75bf92cf1a49696b21d899cf78.tar.gz
Import of cannonball 0.3.20190924 as emulators/cannonball.
CannonBall is a program which allows you to play an enhanced version of Yu Suzuki's seminal arcade racer, OutRun, on a variety of systems.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/cannonball/DESCR2
-rw-r--r--emulators/cannonball/MESSAGE18
-rw-r--r--emulators/cannonball/Makefile70
-rw-r--r--emulators/cannonball/PLIST9
-rw-r--r--emulators/cannonball/distinfo7
-rw-r--r--emulators/cannonball/files/cannonball.desktop8
-rw-r--r--emulators/cannonball/files/cannonball.sh.in27
-rw-r--r--emulators/cannonball/patches/patch-cmake_bsd.cmake35
8 files changed, 176 insertions, 0 deletions
diff --git a/emulators/cannonball/DESCR b/emulators/cannonball/DESCR
new file mode 100644
index 00000000000..f30ccd1596d
--- /dev/null
+++ b/emulators/cannonball/DESCR
@@ -0,0 +1,2 @@
+CannonBall is a program which allows you to play an enhanced version
+of Yu Suzuki's seminal arcade racer, OutRun, on a variety of systems.
diff --git a/emulators/cannonball/MESSAGE b/emulators/cannonball/MESSAGE
new file mode 100644
index 00000000000..1ad81d5857d
--- /dev/null
+++ b/emulators/cannonball/MESSAGE
@@ -0,0 +1,18 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2019/10/23 00:21:26 fox Exp $
+
+In order for CannonBall to work you need to provide a copy of the
+OutRun revision B romset to the roms subdirectory. Rename the files if
+necessary.
+
+The roms subdirectory can be found at $XDG_DATA_HOME/cannonball/roms
+which defaults to $HOME/.local/share/cannonball/roms
+
+Configuration can be found at $XDG_DATA_HOME/cannonball/config.xml
+which defaults to $HOME/.local/share/cannonball/config.xml
+
+NOTE: The directories will be created on the first run of CannonBall
+if they do not exist.
+
+NOTE: Refer cannonball(6) man page for more information.
+===========================================================================
diff --git a/emulators/cannonball/Makefile b/emulators/cannonball/Makefile
new file mode 100644
index 00000000000..7728ddd8f8e
--- /dev/null
+++ b/emulators/cannonball/Makefile
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.1 2019/10/23 00:21:26 fox Exp $
+
+DISTNAME= cannonball-0.3.20190924
+CATEGORIES= emulators
+MASTER_SITES= ${MASTER_SITE_GITHUB:=djyt/}
+GITHUB_TAG= a675d7076e3ca5f7f7777e327ed27b04aae43072
+EXTRACT_USING= bsdtar
+
+MAINTAINER= fox@NetBSD.org
+HOMEPAGE= https://github.com/djyt/cannonball/wiki
+COMMENT= Enhanced OutRun Engine
+LICENSE= mame-license
+
+USE_LANGUAGES= c c++
+USE_TOOLS+= pkg-config
+USE_CMAKE= yes
+CONFIGURE_DIRS= build
+CMAKE_ARG_PATH= ${WRKSRC}/cmake
+CMAKE_ARGS.Linux+= -DTARGET=debian
+CMAKE_ARGS.NetBSD+= -G "Unix Makefiles"
+CMAKE_ARGS.NetBSD+= -DTARGET=bsd
+CMAKE_ARGS.NetBSD+= -DBSD_PREFIX_PATH:STRING=${PREFIX}
+
+TOOL_DEPENDS+= icoutils-[0-9]*:../../graphics/icoutils
+
+ICON_SIZES= 16
+
+INSTALLATION_DIRS+= bin libexec share/applications \
+ share/cannonball share/cannonball/res \
+ share/cannonball/conf ${PKGMANDIR}/man6
+.for s in ${ICON_SIZES}
+INSTALLATION_DIRS+= share/icons/hicolor/${s}x${s}/apps
+.endfor
+
+pre-configure:
+.for s in ${ICON_SIZES}
+ cd ${WRKSRC} && ${PREFIX}/bin/icotool -w ${s} -h ${s} -x -o ${s}.png \
+ res/cannonball.ico
+.endfor
+
+ ${MKDIR} ${WRKSRC}/build
+
+post-build:
+ ${SED} -e 's,@PREFIX@,${PREFIX},g' < ${FILESDIR}/cannonball.sh.in > \
+ ${WRKDIR}/cannonball.sh
+
+do-install:
+ ${INSTALL_DATA} ${WRKSRC}/build/res/tilemap.bin \
+ ${DESTDIR}${PREFIX}/share/cannonball/res/tilemap.bin
+ ${INSTALL_DATA} ${WRKSRC}/build/res/tilepatch.bin \
+ ${DESTDIR}${PREFIX}/share/cannonball/res/tilepatch.bin
+ ${INSTALL_DATA} ${WRKSRC}/build/config.xml \
+ ${DESTDIR}${PREFIX}/share/cannonball/conf/config.xml
+ ${INSTALL_DATA} ${FILESDIR}/cannonball.desktop \
+ ${DESTDIR}${PREFIX}/share/applications
+ ${INSTALL_SCRIPT} ${WRKDIR}/cannonball.sh \
+ ${DESTDIR}${PREFIX}/bin/cannonball
+ ${INSTALL_PROGRAM} ${WRKSRC}/build/cannonball \
+ ${DESTDIR}${PREFIX}/libexec
+ ${INSTALL_MAN} ${WRKSRC}/docs/cannonball.6 \
+ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6
+.for s in ${ICON_SIZES}
+ ${INSTALL_DATA} ${WRKSRC}/${s}.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/cannonball.png
+.endfor
+
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/cannonball/PLIST b/emulators/cannonball/PLIST
new file mode 100644
index 00000000000..122c042cc2f
--- /dev/null
+++ b/emulators/cannonball/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1 2019/10/23 00:21:26 fox Exp $
+bin/cannonball
+libexec/cannonball
+man/man6/cannonball.6
+share/applications/cannonball.desktop
+share/cannonball/conf/config.xml
+share/cannonball/res/tilemap.bin
+share/cannonball/res/tilepatch.bin
+share/icons/hicolor/16x16/apps/cannonball.png
diff --git a/emulators/cannonball/distinfo b/emulators/cannonball/distinfo
new file mode 100644
index 00000000000..a2cf2415182
--- /dev/null
+++ b/emulators/cannonball/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2019/10/23 00:21:26 fox Exp $
+
+SHA1 (cannonball-0.3.20190924-a675d7076e3ca5f7f7777e327ed27b04aae43072.tar.gz) = ea3ca4558609430bdf6cd54f442a23709aecad48
+RMD160 (cannonball-0.3.20190924-a675d7076e3ca5f7f7777e327ed27b04aae43072.tar.gz) = 33cd4d1140ab97422113ef47fd807732aeabb8df
+SHA512 (cannonball-0.3.20190924-a675d7076e3ca5f7f7777e327ed27b04aae43072.tar.gz) = ba5886140fbd5e479da64416a2b6205275d2c97dfda5ca01a270e5c4927abae5e471e6ab34721677d75471f0b85ae01840079be30658ef34685b46f463103786
+Size (cannonball-0.3.20190924-a675d7076e3ca5f7f7777e327ed27b04aae43072.tar.gz) = 278401 bytes
+SHA1 (patch-cmake_bsd.cmake) = 9f750bc8575076964dd43f2943146dc1176877ab
diff --git a/emulators/cannonball/files/cannonball.desktop b/emulators/cannonball/files/cannonball.desktop
new file mode 100644
index 00000000000..7c7db6f1fbf
--- /dev/null
+++ b/emulators/cannonball/files/cannonball.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=CannonBall
+Comment=CannonBall: The Enhanced OutRun Engine.
+Exec=cannonball %f
+Icon=cannonball
+Terminal=false
+Type=Application
+Categories=Game;ArcadeGame;Emulator
diff --git a/emulators/cannonball/files/cannonball.sh.in b/emulators/cannonball/files/cannonball.sh.in
new file mode 100644
index 00000000000..ea4d915d076
--- /dev/null
+++ b/emulators/cannonball/files/cannonball.sh.in
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if [ -n "${XDG_DATA_HOME}" ]; then
+ CANNONBALL_DIR=${XDG_DATA_HOME}/cannonball
+else
+ CANNONBALL_DIR=${HOME}/.local/share/cannonball
+fi
+
+RESOURCE_DIR=${CANNONBALL_DIR}/res
+ROMS_DIR=${CANNONBALL_DIR}/roms
+
+mkdir -p "${CANNONBALL_DIR}" "${ROMS_DIR}"
+
+if [ ! -f "${CANNONBALL_DIR}/config.xml" ]; then
+ cp @PREFIX@/share/cannonball/conf/config.xml \
+ "${CANNONBALL_DIR}"
+fi
+
+if [ ! -d "${RESOURCE_DIR}" ]; then
+ mkdir -p "${RESOURCE_DIR}"
+ cp @PREFIX@/share/cannonball/res/tilemap.bin \
+ "${RESOURCE_DIR}"
+ cp @PREFIX@/share/cannonball/res/tilepatch.bin \
+ "${RESOURCE_DIR}"
+fi
+
+cd "${CANNONBALL_DIR}" && exec "@PREFIX@/libexec/cannonball" "$@"
diff --git a/emulators/cannonball/patches/patch-cmake_bsd.cmake b/emulators/cannonball/patches/patch-cmake_bsd.cmake
new file mode 100644
index 00000000000..9cbff7ec707
--- /dev/null
+++ b/emulators/cannonball/patches/patch-cmake_bsd.cmake
@@ -0,0 +1,35 @@
+$NetBSD: patch-cmake_bsd.cmake,v 1.1 2019/10/23 00:21:26 fox Exp $
+
+Support building with SDL2 instead of SDL.
+
+--- cmake/bsd.cmake.orig 2019-09-24 11:04:39.000000000 +0000
++++ cmake/bsd.cmake
+@@ -4,12 +4,12 @@ set(lib_base ${BSD_PREFIX_PATH}/include)
+
+ set(BOOST_INCLUDEDIR ${lib_base})
+
+-set(sdl_root ${lib_base}/SDL)
++set(sdl_root ${lib_base}/SDL2)
+
+ include_directories("${sdl_root}")
+
+ link_libraries(cannonball
+- SDL
++ SDL2
+ )
+
+ # Linking
+@@ -17,7 +17,12 @@ link_directories(
+ "${BSD_PREFIX_PATH}/lib"
+ )
+
++add_definitions(-O3 -DSDL2)
++
+ # Location for Cannonball to create save files
+ # Used to auto-generate setup.hpp with various file paths
+ set(xml_directory ./)
+-set(sdl_flags "SDL_DOUBLEBUF | SDL_SWSURFACE")
++set(sdl_flags "SDL_WINDOW_RESIZABLE")
++
++# Set SDL2 instead of SDL1
++set(SDL2 1)