tic_80: new recipe (#12808)

This commit is contained in:
Peter van Dijk
2025-08-26 08:18:19 +02:00
committed by GitHub
parent 3f542ed742
commit 7c7614cb9f
5 changed files with 797 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,40 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "@APP_NAME@",
long_info = "@LONG_INFO@"
};
resource app_signature "application/@APP_SIGNATURE@";
resource app_name_catalog_entry "@APP_SIGNATURE@:System name:@APP_NAME@";
resource vector_icon {
$"6E6369660504F4000340A6F60329366F031A1C2C05F403080424285028502C24"
$"2C0804283028444C444C3008053048304C344C344830481D0A01010002400000"
$"00000000000046C000000000CC80000A040102000A0401022048080A04010202"
$"4000000000000000004200004A8000CB00000A04010202400000000000000000"
$"4480004AC000CEE0000A04010220402C0A0401022014A4A80A0401022014300A"
$"04010202430000000000000000400000C980004800000A040102024200000000"
$"0000000040000046FFFF4800000A000102024300000000000000004000004400"
$"00CA80000A0401022030200A04010202462000000000000000448000CDF800CE"
$"E0000A03010202400000000000000000430000000000CD20000A030102024000"
$"00000000000000430000480000CD20000A040102024300000000000000004000"
$"00C980004400000A04010202470000000000000000400000CEF000CA80000A04"
$"010202448000000000000000400000CC60004880000A04010202448000000000"
$"000000400000CB40004880000A04010202400000000000000000478000C80000"
$"D22C000A040102024000000000000000004580004A4000D028000A0401020240"
$"00000000000000004480004A4000CE90000A0301020243000000000000000040"
$"0000CA80004800000A03010202430000000000000000400000C800004800000A"
$"0201020246C000000000000000400000CEB0004700000A020102024680000000"
$"00000000400000CE6000CA40000A030102023FFFFF0000000000004300004A80"
$"00CD20000A030102023FFFFF00000000000046C0004A0000D160000A03010202"
$"3FFFFF0000000000003FFFFF4A4000C5FFFF"
};

View File

@@ -0,0 +1,31 @@
From 49a8645f5561da9726908b6867e919af3b60c440 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 23 Aug 2025 21:17:11 +0200
Subject: naett: use curl, like on Linux
diff --git a/naett-10a9624456829e5f2b4c264e14760301125d12eb/naett.c b/naett-10a9624456829e5f2b4c264e14760301125d12eb/naett.c
index a6783b3..738cd84 100644
--- a/naett-10a9624456829e5f2b4c264e14760301125d12eb/naett.c
+++ b/naett-10a9624456829e5f2b4c264e14760301125d12eb/naett.c
@@ -22,7 +22,7 @@
#define __WINDOWS__ 1
#endif
-#if __linux__ && !__ANDROID__
+#if (__linux__ && !__ANDROID__) || defined(__HAIKU__)
#define __LINUX__ 1
#include <curl/curl.h>
#endif
@@ -782,7 +782,7 @@ void naettPlatformCloseResponse(InternalResponse* res) {
// Inlined naett_linux.c: //
//#include "naett_internal.h"
-#if __linux__ && !__ANDROID__
+#if (__linux__ && !__ANDROID__) || defined(__HAIKU__)
#include <curl/curl.h>
#include <assert.h>
--
2.48.1

View File

@@ -0,0 +1,555 @@
From 9dcb5224a2c20feabc587fe699b3bc664706a004 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 20:59:44 +0200
Subject: use system SDL
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a490003..9a937f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -639,21 +639,11 @@ endif()
################################
# SDL2
################################
-if(BUILD_SDL AND NOT EMSCRIPTEN AND NOT RPI)
-
- if(WIN32)
- set(HAVE_LIBC TRUE)
- endif()
-
- if(ANDROID)
- include_directories(${ANDROID_NDK}/sources/android/cpufeatures)
- set(SDL_STATIC_PIC ON CACHE BOOL "" FORCE)
- endif()
-
- set(SDL_SHARED OFF CACHE BOOL "" FORCE)
-
- add_subdirectory(${THIRDPARTY_DIR}/sdl2)
-
+# [patch] Use system sdl2
+if (BUILD_SDL)
+ find_package(SDL2)
+ set(SDL2_INCLUDE_DIR /system/develop/headers/SDL2)
+ include_directories(${SDL2_INCLUDE_DIR})
endif()
################################
--
2.48.1
From 918a16b75ccfb8f71fe621d331be60be9e07be24 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 21:17:35 +0200
Subject: use system libpng
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a937f6..be76c9b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -983,35 +983,8 @@ endif()
# PNG
################################
-set(LIBPNG_DIR ${THIRDPARTY_DIR}/libpng)
-set(LIBPNG_SRC
- ${LIBPNG_DIR}/png.c
- ${LIBPNG_DIR}/pngerror.c
- ${LIBPNG_DIR}/pngget.c
- ${LIBPNG_DIR}/pngmem.c
- ${LIBPNG_DIR}/pngpread.c
- ${LIBPNG_DIR}/pngread.c
- ${LIBPNG_DIR}/pngrio.c
- ${LIBPNG_DIR}/pngrtran.c
- ${LIBPNG_DIR}/pngrutil.c
- ${LIBPNG_DIR}/pngset.c
- ${LIBPNG_DIR}/pngtrans.c
- ${LIBPNG_DIR}/pngwio.c
- ${LIBPNG_DIR}/pngwrite.c
- ${LIBPNG_DIR}/pngwtran.c
- ${LIBPNG_DIR}/pngwutil.c
-)
-
-configure_file(${LIBPNG_DIR}/scripts/pnglibconf.h.prebuilt ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h)
-
-add_library(png STATIC ${LIBPNG_SRC})
-
-target_compile_definitions(png PRIVATE PNG_ARM_NEON_OPT=0)
-
-target_include_directories(png
- PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
- PRIVATE ${THIRDPARTY_DIR}/zlib
- INTERFACE ${THIRDPARTY_DIR}/libpng)
+# [patch] Use system libpng
+find_package(PNG)
################################
# TIC-80 studio
--
2.48.1
From 600faa975e4de2b5433682bbaa36e01a771b9634 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 21:35:38 +0200
Subject: use system lua
diff --git a/CMakeLists.txt b/CMakeLists.txt
index be76c9b..0e14a27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -164,50 +164,14 @@ include(ExternalProject)
# LUA
################################
-set(LUA_DIR ${THIRDPARTY_DIR}/lua)
-set(LUA_SRC
- ${LUA_DIR}/lapi.c
- ${LUA_DIR}/lcode.c
- ${LUA_DIR}/lctype.c
- ${LUA_DIR}/ldebug.c
- ${LUA_DIR}/ldo.c
- ${LUA_DIR}/ldump.c
- ${LUA_DIR}/lfunc.c
- ${LUA_DIR}/lgc.c
- ${LUA_DIR}/llex.c
- ${LUA_DIR}/lmem.c
- ${LUA_DIR}/lobject.c
- ${LUA_DIR}/lopcodes.c
- ${LUA_DIR}/lparser.c
- ${LUA_DIR}/lstate.c
- ${LUA_DIR}/lstring.c
- ${LUA_DIR}/ltable.c
- ${LUA_DIR}/ltm.c
- ${LUA_DIR}/lundump.c
- ${LUA_DIR}/lvm.c
- ${LUA_DIR}/lzio.c
- ${LUA_DIR}/lauxlib.c
- ${LUA_DIR}/lbaselib.c
- ${LUA_DIR}/lcorolib.c
- ${LUA_DIR}/ldblib.c
- ${LUA_DIR}/liolib.c
- ${LUA_DIR}/lmathlib.c
- ${LUA_DIR}/loslib.c
- ${LUA_DIR}/lstrlib.c
- ${LUA_DIR}/ltablib.c
- ${LUA_DIR}/lutf8lib.c
- ${LUA_DIR}/loadlib.c
- ${LUA_DIR}/linit.c
-)
-
-add_library(lua STATIC ${LUA_SRC})
-
-target_compile_definitions(lua PRIVATE LUA_COMPAT_5_2)
-target_include_directories(lua INTERFACE ${THIRDPARTY_DIR}/lua)
-
-if(N3DS)
- target_compile_definitions(lua PUBLIC LUA_32BITS)
-endif()
+# [patch] Use system lua
+find_package(PkgConfig)
+pkg_check_modules(Lua REQUIRED lua5.3 IMPORTED_TARGET GLOBAL)
+add_library(Lua::Lua ALIAS PkgConfig::Lua)
+set(LUA_INCLUDE_DIR "/system/develop/headers/lua53")
+#set(LUA_LIBRARIES "/usr/lib/lua5.3")
+include_directories(${LUA_INCLUDE_DIR})
+#link_directories(${LUA_LIBRARIES})
################################
# LPEG
--
2.48.1
From 42bc887c1873fc75c0f21d0efdcdb86e8a807b74 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 22:10:57 +0200
Subject: use system zlib
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e14a27..fb910c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -544,7 +544,8 @@ macro(MACRO_CORE SCRIPT DEFINE BUILD_DEPRECATED)
scheme
quickjs
blipbuf
- zlib
+ # [patch] Fix zlib name
+ z
)
if(BUILD_WITH_MRUBY)
@@ -774,33 +775,8 @@ endif()
# ZLIB
################################
-if (NOT N3DS)
-
-set(ZLIB_DIR ${THIRDPARTY_DIR}/zlib)
-set(ZLIB_SRC
- ${ZLIB_DIR}/adler32.c
- ${ZLIB_DIR}/compress.c
- ${ZLIB_DIR}/crc32.c
- ${ZLIB_DIR}/deflate.c
- ${ZLIB_DIR}/inflate.c
- ${ZLIB_DIR}/infback.c
- ${ZLIB_DIR}/inftrees.c
- ${ZLIB_DIR}/inffast.c
- ${ZLIB_DIR}/trees.c
- ${ZLIB_DIR}/uncompr.c
- ${ZLIB_DIR}/zutil.c
-)
-
-add_library(zlib STATIC ${ZLIB_SRC})
-target_include_directories(zlib INTERFACE ${THIRDPARTY_DIR}/zlib)
-
-else ()
-
-add_library(zlib STATIC IMPORTED)
-set_target_properties( zlib PROPERTIES IMPORTED_LOCATION ${DEVKITPRO}/portlibs/3ds/lib/libz.a )
-target_include_directories(zlib INTERFACE ${DEVKITPRO}/portlibs/3ds/include)
-
-endif ()
+# [patch] Use system zlib
+find_package(ZLIB)
################################
# ZIP
@@ -830,7 +806,8 @@ if(BUILD_DEMO_CARTS)
target_link_libraries(wasmp2cart tic80core)
add_executable(bin2txt ${TOOLS_DIR}/bin2txt.c)
- target_link_libraries(bin2txt zlib)
+ # [patch] Fix zlib name
+ target_link_libraries(bin2txt z)
add_executable(xplode
${TOOLS_DIR}/xplode.c
--
2.48.1
From c8ec31428476598fa4726c99ec7184d1b7b1f4de Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 22:17:41 +0200
Subject: use system libgif
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb910c8..20ca773 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -385,22 +385,10 @@ endif()
# GIFLIB
################################
-set(GIFLIB_DIR ${THIRDPARTY_DIR}/giflib)
-set(GIFLIB_SRC
- ${GIFLIB_DIR}/dgif_lib.c
- ${GIFLIB_DIR}/egif_lib.c
- ${GIFLIB_DIR}/gif_err.c
- ${GIFLIB_DIR}/gif_font.c
- ${GIFLIB_DIR}/gif_hash.c
- ${GIFLIB_DIR}/gifalloc.c
- ${GIFLIB_DIR}/openbsd-reallocarray.c
-)
-add_library(giflib STATIC ${GIFLIB_SRC})
-target_include_directories(giflib
- PRIVATE ${GIFLIB_DIR}
- INTERFACE
- ${THIRDPARTY_DIR}/giflib
- ${THIRDPARTY_DIR}/msf_gif)
+# [patch] Use system giflib but include vendor msf_gif encoder
+find_package(GIF)
+set(MSF_GIF_INCLUDE_DIR ${THIRDPARTY_DIR}/msf_gif)
+include_directories(${MSF_GIF_INCLUDE_DIR})
################################
# Blipbuf
@@ -558,7 +546,8 @@ macro(MACRO_CORE SCRIPT DEFINE BUILD_DEPRECATED)
if(${BUILD_DEPRECATED})
target_compile_definitions(tic80core${SCRIPT} PRIVATE BUILD_DEPRECATED)
- target_link_libraries(tic80core${SCRIPT} giflib)
+ # [patch] Fix giflib name
+ target_link_libraries(tic80core${SCRIPT} gif)
endif()
if(LINUX)
@@ -973,7 +962,8 @@ endif()
target_include_directories(tic80studio PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
-target_link_libraries(tic80studio tic80core zip wave_writer argparse giflib png)
+# [patch] Fix giflib name
+target_link_libraries(tic80studio tic80core zip wave_writer argparse gif png)
if(USE_NAETT)
target_compile_definitions(tic80studio PRIVATE USE_NAETT)
--
2.48.1
From 926a28b40aef5718b4fbd9e5e21733b05625c9ca Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 22:25:33 +0200
Subject: use system squirrel
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 20ca773..de01727 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -329,36 +329,7 @@ endif()
# SQUIRREL
################################
-set(SQUIRREL_DIR ${THIRDPARTY_DIR}/squirrel)
-set(SQUIRREL_SRC
- ${SQUIRREL_DIR}/squirrel/sqapi.cpp
- ${SQUIRREL_DIR}/squirrel/sqbaselib.cpp
- ${SQUIRREL_DIR}/squirrel/sqclass.cpp
- ${SQUIRREL_DIR}/squirrel/sqcompiler.cpp
- ${SQUIRREL_DIR}/squirrel/sqdebug.cpp
- ${SQUIRREL_DIR}/squirrel/sqfuncstate.cpp
- ${SQUIRREL_DIR}/squirrel/sqlexer.cpp
- ${SQUIRREL_DIR}/squirrel/sqmem.cpp
- ${SQUIRREL_DIR}/squirrel/sqobject.cpp
- ${SQUIRREL_DIR}/squirrel/sqstate.cpp
- ${SQUIRREL_DIR}/squirrel/sqtable.cpp
- ${SQUIRREL_DIR}/squirrel/sqvm.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdaux.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdblob.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdio.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdmath.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdrex.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdstream.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdstring.cpp
- ${SQUIRREL_DIR}/sqstdlib/sqstdsystem.cpp
-
-)
-
-add_library(squirrel STATIC ${SQUIRREL_SRC})
-set_target_properties(squirrel PROPERTIES LINKER_LANGUAGE CXX)
-target_include_directories(squirrel PUBLIC ${SQUIRREL_DIR}/include)
-target_include_directories(squirrel PRIVATE ${SQUIRREL_DIR}/squirrel)
-target_include_directories(squirrel PRIVATE ${SQUIRREL_DIR}/sqstdlib)
+find_package(SQUIRREL)
################################
# pocketpy (Python)
--
2.48.1
From 1c22f44298b2592e3652705558651cedd5d8a826 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sat, 16 Aug 2025 23:28:34 +0200
Subject: use system janet
diff --git a/CMakeLists.txt b/CMakeLists.txt
index de01727..5df37c3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -407,39 +407,10 @@ set(BUILD_WITH_JANET_DEFAULT TRUE)
option(BUILD_WITH_JANET "Janet Enabled" ${BUILD_WITH_JANET_DEFAULT})
message("BUILD_WITH_JANET: ${BUILD_WITH_JANET}")
+# [patch] Use system janet
if(BUILD_WITH_JANET)
-
- if(MINGW)
- find_program(GIT git)
- get_filename_component(GIT_DIR ${GIT} DIRECTORY)
- find_program(GITBASH bash PATHS "${GIT_DIR}/../bin" NO_DEFAULT_PATH)
-
- if(NOT GITBASH)
- message(FATAL_ERROR "Git Bash not found!")
- endif()
-
- add_custom_command(
- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
- COMMAND ${GITBASH} -c "CC=gcc mingw32-make build/c/janet.c"
- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
- )
- elseif(WIN32)
- add_custom_command(
- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
- COMMAND ./build_win.bat
- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
- )
- else()
- add_custom_command(
- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
- COMMAND make build/c/janet.c
- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
- )
- endif()
-
- add_library(janet ${THIRDPARTY_DIR}/janet/build/c/janet.c)
- target_include_directories(janet PUBLIC ${THIRDPARTY_DIR}/janet/src/include)
- target_include_directories(janet PUBLIC ${CMAKE_SOURCE_DIR}/build/janet/)
+ set(JANET_INCLUDE_DIR "/system/develop/headers/janet")
+ include_directories(${JANET_INCLUDE_DIR})
endif()
################################
--
2.48.1
From a9844070fb757ced4e5f222a4cd0c725e494c792 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sun, 17 Aug 2025 11:52:16 +0200
Subject: fix sdl2 name
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5df37c3..4a3440a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -565,7 +565,8 @@ if(BUILD_SDL AND BUILD_PLAYER AND NOT RPI)
target_link_options(player-sdl PRIVATE -static)
endif()
- target_link_libraries(player-sdl tic80core SDL2-static SDL2main)
+ # [patch] Fix sdl2 name
+ target_link_libraries(player-sdl tic80core SDL2 SDL2main)
endif()
################################
@@ -991,7 +992,8 @@ if(ANDROID)
endif()
if(NOT EMSCRIPTEN)
- target_link_libraries(sdlgpu SDL2-static)
+ # [patch] Fix sdl2 name
+ target_link_libraries(sdlgpu SDL2)
endif()
endif()
@@ -1064,7 +1066,8 @@ if(BUILD_SDL)
elseif(RPI)
target_link_libraries(tic80 libSDL2.a bcm_host)
else()
- target_link_libraries(tic80 SDL2-static)
+ # [patch] Fix sdl2 name
+ target_link_libraries(tic80 SDL2)
endif()
endif()
@@ -1213,7 +1216,8 @@ if(BUILD_STUB)
elseif(RPI)
target_link_libraries(tic80${SCRIPT} libSDL2.a bcm_host pthread dl)
else()
- target_link_libraries(tic80${SCRIPT} SDL2-static)
+ # [patch] Fix sdl2 name
+ target_link_libraries(tic80${SCRIPT} SDL2)
endif()
endif()
--
2.48.1
From d94d5ca30079819d69de1b388ac32dbee9c8fabe Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sun, 17 Aug 2025 15:10:04 +0200
Subject: use cmake macro to make -ldl go away
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4a3440a..bf713c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -395,7 +395,7 @@ endif()
if(LINUX)
target_compile_definitions(quickjs PUBLIC _GNU_SOURCE _POSIX_C_SOURCE=200112)
- target_link_libraries(quickjs PUBLIC m dl pthread)
+ target_link_libraries(quickjs PUBLIC m ${CMAKE_DL_LIBS} pthread)
endif()
################################
--
2.48.1
From 7de523a778db124bedc0500c62dc41a3cc8b70bd Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sun, 17 Aug 2025 15:30:43 +0200
Subject: quickjs needs dtoa
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bf713c5..e226d77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -377,6 +377,7 @@ set(QUICKJS_DIR ${THIRDPARTY_DIR}/quickjs)
file(STRINGS ${QUICKJS_DIR}/VERSION CONFIG_VERSION)
add_library(quickjs STATIC
+ ${QUICKJS_DIR}/dtoa.c
${QUICKJS_DIR}/quickjs.c
${QUICKJS_DIR}/libregexp.c
${QUICKJS_DIR}/libunicode.c
--
2.48.1
From 97eb3d29f5525282b8eaf5602610a9ab94dda7b6 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Sun, 17 Aug 2025 15:48:03 +0200
Subject: squirrel needs sqstdlib
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e226d77..6c9fcb4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -471,6 +471,7 @@ macro(MACRO_CORE SCRIPT DEFINE BUILD_DEPRECATED)
wren
wasm
squirrel
+ sqstdlib
python
scheme
quickjs
--
2.48.1
From 327a5cd4548eaf85fd512357f11fb589be9354c6 Mon Sep 17 00:00:00 2001
From: Peter van Dijk <peter@7bits.nl>
Date: Mon, 25 Aug 2025 20:27:00 +0200
Subject: don't install icons and desktop metadata
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6c9fcb4..0446f92 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1079,12 +1079,14 @@ if(BUILD_SDL)
install(TARGETS tic80 DESTINATION bin)
+if(NOT HAIKU)
SET(TIC80_DESKTOP_DIR "share/applications/")
SET(TIC80_PIXMAPS_DIR "share/icons/")
install (FILES ${PROJECT_SOURCE_DIR}/build/linux/tic80.desktop DESTINATION ${TIC80_DESKTOP_DIR})
install (FILES ${PROJECT_SOURCE_DIR}/build/linux/tic80.xml DESTINATION ${TIC80_DESKTOP_DIR})
install (FILES ${PROJECT_SOURCE_DIR}/build/linux/tic80.png DESTINATION ${TIC80_PIXMAPS_DIR})
+endif()
endif()
endif()
--
2.48.1

View File

@@ -0,0 +1,171 @@
SUMMARY="Fantasy computer for making, playing and sharing tiny games"
DESCRIPTION="ProjectX description."
HOMEPAGE="http://projectX"
COPYRIGHT="2017 Vadim Grigoruk"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/nesbox/TIC-80/archive/v$portVersion/TIC-80-v$portVersion.tar.gz"
CHECKSUM_SHA256="a004bbc7b316a4b60d461ac4612fca4ab07e96ed1d1445086e70d1fc4d95961b"
PATCHES="tic_80-$portVersion.patchset"
SOURCE_DIR="TIC-80-$portVersion"
# quickjs bumped to a later version that actually builds on Haiku
# s7 is actually in the tic tree but that version is broken
# lpeg is in haikuports but only gives us a .so, whose name does not start
# with "lib" so it's hard to use
_argparse_rev="0d5f5d0745df14a3f373f7eed85bf524714f4524"
_blip_buf_rev="330226d9b55ecbeea644e17b5e0f096a165ca07e"
_lpeg_rev="73d8614a8dea404cf7bfe25a6e4cea7183dc9fb7"
_moonscript_rev="17179283012b392bff972ad66231d73bfeec6e90"
_msf_gif_rev="7829c8f439d013deeb54eba94761403e1da2a960"
_naett_rev="10a9624456829e5f2b4c264e14760301125d12eb"
_pocketpy_rev="7312afdad24bb308037088d34b32ed0078fed7d2"
_quickjs_rev="db3d3f09cdec7106d6e330aa1eb3fae50ed8fdc4"
_s7_rev="288587c78dbddc6164ae334550203730084c89b2"
_wasm3_rev="8523770b80ea1f78afcac21d837f9dfd50f0bed6"
_wren_rev="4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb"
_zip_rev="d7df626f3aa457e01669f65e61bf8f484e352941"
_submodules="
argparse-$_argparse_rev
blip-buf-$_blip_buf_rev
lpeg-$_lpeg_rev
moonscript-$_moonscript_rev
msf_gif-$_msf_gif_rev
naett-$_naett_rev
pocketpy-$_pocketpy_rev
quickjs-$_quickjs_rev
s7-$_s7_rev
wasm3-$_wasm3_rev
wren-$_wren_rev
zip-$_zip_rev
"
# maybe I can generate all these extra source URIs from a simpler list?
SOURCE_URI_2="https://github.com/blueloveTH/pocketpy/archive/$_pocketpy_rev.tar.gz"
CHECKSUM_SHA256_2="093b5d02c2b4b21d11edeb49b40c4e91bb49274f91e990b8fdb2dde72f51f6f2"
SOURCE_URI_3="https://github.com/nesbox/quickjs/archive/$_quickjs_rev.tar.gz"
CHECKSUM_SHA256_3="c664d199faaa27e9e2b6f02f9a675de0596e55853f9435d33aa6bb8fc22c5833"
SOURCE_URI_4="https://github.com/kuba--/zip/archive/$_zip_rev.tar.gz"
CHECKSUM_SHA256_4="f121ff9a6df3414afe958c341c0e3f05d638e43e3be735a9dad8d05ce9322c49"
SOURCE_URI_5="https://github.com/erkkah/naett/archive/$_naett_rev.tar.gz"
CHECKSUM_SHA256_5="f476b55a6983fc08150ed37cc91dbc0a0a24e05c0891de7e1c86b0536ac8eb76"
PATCHES_5="tic_80-$portVersion-source5.patchset"
SOURCE_URI_6="https://github.com/cofyc/argparse/archive/$_argparse_rev.tar.gz"
CHECKSUM_SHA256_6="b14cfe4b95a4cd1cf148eeecf0dba94ebf5b4312de12f5f5254e7040017477f1"
SOURCE_URI_7="https://github.com/nesbox/blip-buf/archive/$_blip_buf_rev.tar.gz"
CHECKSUM_SHA256_7="e86870ecb4b7c3feac6afbf5ddd0aff809e14b2d16d9bde251b712fd4ecd6d99"
SOURCE_URI_8="https://github.com/wasm3/wasm3/archive/$_wasm3_rev.tar.gz"
CHECKSUM_SHA256_8="0dc7fad64c1d9d65dfa822cf79e471edab36190d8eb0fb7bf87f9064f846299c"
SOURCE_URI_9="https://github.com/wren-lang/wren/archive/$_wren_rev.tar.gz"
CHECKSUM_SHA256_9="fb885f12767ea8b1101145b9d86735995e28c5298b712c1c3f71ed9bbf17f567"
SOURCE_URI_10="https://cm-gitlab.stanford.edu/bil/s7/-/archive/$_s7_rev.tar.gz"
CHECKSUM_SHA256_10="c659b283147188c180014a5e6586978fa2d4e163bc78f9062b98e28933d6916c"
SOURCE_URI_11="https://github.com/nesbox/moonscript/archive/$_moonscript_rev.tar.gz"
CHECKSUM_SHA256_11="10f0ebf82ae92a1389d353b349bef25deea594aebb3a65d09f36cd1193d7de18"
SOURCE_URI_12="https://github.com/nesbox/lpeg/archive/$_lpeg_rev.tar.gz"
CHECKSUM_SHA256_12="600d8644b51e5cb4d628627cd430d7beccf1d5af72a2844270983c85563de3a4"
SOURCE_URI_13="https://github.com/notnullnotvoid/msf_gif/archive/$_msf_gif_rev.tar.gz"
CHECKSUM_SHA256_13="d73fe9395b7826e38b734feb90307a50bb32622049e1ec4d6b89ae693dae9aa6"
ADDITIONAL_FILES="tic80.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
tic_80$secondaryArchSuffix = $portVersion
cmd:tic80$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libgif$secondaryArchSuffix
lib:libjanet$secondaryArchSuffix
lib:liblua$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libsquirrel$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libgif$secondaryArchSuffix
devel:libjanet$secondaryArchSuffix
devel:liblua$secondaryArchSuffix >= 5.3
devel:libpng16$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libsquirrel$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
"
PATCH()
{
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed -i "s/VERSION_REVISION 0/VERSION_REVISION $MINOR/" \
CMakeLists.txt
}
BUILD()
{
pushd vendor
for _mod in $_submodules; do
_mod_rev=${_mod##*-}
_mod_name=$(echo $_mod | sed -e "s/-$_mod_rev//")
rm -rf $_mod_name
ln -sf ../../../sources*/$_mod $_mod_name
done
popd
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DBUILD_DEMO_CARTS:BOOL=OFF
cmake --build build $jobArgs
}
INSTALL()
{
make -C build install
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="TIC-80"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="x-vnd.tic-80"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/tic80.rdef.in > tic80.rdef
addResourcesToBinaries tic80.rdef $prefix/bin/tic80
addAppDeskbarSymlink $prefix/bin/tic80 TIC-80
}