Ports: Add opentyrian and opentyrian-data

This commit is contained in:
Oleg Kosenkov 2021-05-31 14:01:49 -04:00 committed by GitHub
parent ed89cd93aa
commit 971523621c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 122 additions and 0 deletions

View file

@ -93,6 +93,8 @@ Please make sure to keep this list up to date when adding and updating ports. :^
| [`openttd`](openttd/) | OpenTTD | 1.11.0 | https://www.openttd.org/ |
| [`openttd-opengfx`](openttd-opengfx/) | OpenGFX graphics for OpenTTD | 0.6.1 | https://www.openttd.org/ |
| [`openttd-opensfx`](openttd-opensfx/) | OpenSFX audio files for OpenTTD | 1.0.1 | https://www.openttd.org/ |
| [`opentyrian`](opentyrian/) | OpenTyrian | 84b820f | https://github.com/opentyrian/opentyrian |
| [`opentyrian-data`](opentyrian-data/) | OpenTyrian graphics and audio | 1.0.0 | http://camanis.net/tyrian/tyrian21.zip |
| [`oksh`](oksh/) | oksh | 6.8.1 | https://github.com/ibara/oksh |
| [`patch`](patch/) | patch (OpenBSD) | 6.6 | https://github.com/ibara/libpuffy |
| [`pcre`](pcre/) | Perl-compatible Regular Expressions (PCRE) | 8.44 | https://www.pcre.org/ |

View file

@ -0,0 +1,16 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=opentyrian-data
version=1.0.0
workdir=.
files="http://camanis.net/tyrian/tyrian21.zip tyrian21.zip 7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277"
auth_type=sha256
build() {
run_nocd unzip -o tyrian21.zip
run_nocd rm -v tyrian21/*.exe
}
install() {
run_nocd mkdir -p ${SERENITY_INSTALL_ROOT}/usr/local/share/games/opentyrian/
run_nocd cp -a tyrian21/* ${SERENITY_INSTALL_ROOT}/usr/local/share/games/opentyrian/
}

21
Ports/opentyrian/package.sh Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=opentyrian
version=84b820f852f3f6b812b4d00d6b3906adbbf3bbdb
useconfigure=true
files="https://github.com/opentyrian/opentyrian/archive/${version}.tar.gz ${version}.tar.gz 7429cc8e3468e3462b886cb99fe6cc0f5d232c193b68a94dc427493107c30dec"
auth_type=sha256
configopts="-DCMAKE_TOOLCHAIN_FILE=$SERENITY_SOURCE_DIR/Toolchain/CMake/CMakeToolchain.txt"
depends="SDL2 opentyrian-data"
launcher_name=OpenTyrian
launcher_category=Games
launcher_command=/usr/local/bin/tyrian
configure() {
run cmake $configopts
}
install() {
run make install
install_launcher
}

View file

@ -0,0 +1,83 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..dfb9649
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 3.16)
+project(opentyrian LANGUAGES C)
+install(FILES CREDITS NEWS README DESTINATION share/doc/opentyrian)
+add_subdirectory(src)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..b8d71b9
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,67 @@
+find_package(SDL2 REQUIRED)
+add_executable(tyrian
+ animlib.c
+ arg_parse.c
+ backgrnd.c
+ config.c
+ config_file.c
+ destruct.c
+ editship.c
+ episodes.c
+ file.c
+ font.c
+ fonthand.c
+ game_menu.c
+ helptext.c
+ joystick.c
+ jukebox.c
+ keyboard.c
+ lds_play.c
+ loudness.c
+ lvllib.c
+ lvlmast.c
+ mainint.c
+ menus.c
+ mouse.c
+ mtrand.c
+ musmast.c
+ network.c
+ nortsong.c
+ nortvars.c
+ opentyr.c
+ opl.c
+ palette.c
+ params.c
+ pcxload.c
+ pcxmast.c
+ picload.c
+ player.c
+ scroller.c
+ setup.c
+ shots.c
+ sizebuf.c
+ sndmast.c
+ sprite.c
+ starlib.c
+ std_support.c
+ tyrian2.c
+ varz.c
+ vga256d.c
+ vga_palette.c
+ video.c
+ video_scale.c
+ video_scale_hqNx.c
+ xmas.c)
+target_include_directories(tyrian PRIVATE . ${SDL2_INCLUDE_DIRS})
+if("${SDL2_LIBRARIES}" STREQUAL "")
+ message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
+ set(SDL2_LIBRARIES "SDL2::SDL2")
+endif()
+
+target_compile_options(tyrian PRIVATE -std=iso9899:1999 )
+target_compile_definitions(tyrian PRIVATE
+ -DNDEBUG
+ -DTYRIAN_DIR=\"/usr/local/share/games/opentyrian\")
+target_link_libraries(tyrian m ${SDL2_LIBRARIES})
+install(TARGETS tyrian
+ RUNTIME DESTINATION bin)