diff --git a/games-arcade/kobodeluxe/additional-files/kobodeluxe.rdef.in b/games-arcade/kobodeluxe/additional-files/kobodeluxe.rdef.in new file mode 100644 index 000000000..35917b503 --- /dev/null +++ b/games-arcade/kobodeluxe/additional-files/kobodeluxe.rdef.in @@ -0,0 +1,62 @@ +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "KoboDeluxe", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon array { + $"6E63696609040033058E056804FF1903AFAFB10364B0FF04FF3305000400690E" + $"020ABFC326BFC326BF04B55CBDF1B64CBE50B5B5BAD9BB2EB4A9C4F1B7C1C00F" + $"B44DC65BB6FAC82FB560C769B9FDC9A2BFABCA1BBEDECA18C0FCCA22C7D4C866" + $"C4FAC988C9FFC789CAACC4F1CB81C65EC794C00FC165B64CC47CBB2EC10EB5C3" + $"BFC326C070B56CBFC326BFC326BFC326BFC326020ABFC325BFC325BF04B4F6BD" + $"F1B5E6BE50B54FBAD9BAC8B4A9C48BB7C1BFA9B44DC5F5B6FAC7C9B560C703B9" + $"FDC93CBFABC9B5BEDEC9B2C0FCC9BCC7D4C800C4FAC922C9FFC723CAACC48BCB" + $"81C5F8C794BFA9C165B5E6C47CBAC8C10EB55DBFC325C070B506BFC325BFC325" + $"BFC325BFC325020DBFC926BFC926BF0BB55EBDFAB64CBE59B5B7BD83B706BC97" + $"B87ABD0DB7C0BC952E38B8C938B8AE38BE1238C8A438C35B38CA57405CBE635C" + $"C11C5C48C8A448CA5748C35B48B8C948BE1248B8BBC2EDB8A1C2EEB8AEC26FB7" + $"DAC171B64CC1F0B713C124B5D2C004B56DC09CB582BFF1B56ABFC926BFDDB565" + $"BFC926BFC926BFC926BFC926020ABFC325BFC325BF04B4F6BDF1B5E6BE50B54F" + $"BD7BB6A038B813BD05B75A38BD7738C83E38C2DA38C9F1405BBE635BC11C5B48" + $"C83E48C9F1484848B85548BDA3C26CB786C165B5E6C1E8B6B6C10EB55DBFC325" + $"C070B505BFC325BFC325BFC325BFC325060AFEFF072F382F382F38B9A23832BE" + $"4132BD5232C1A432C86A32C50732C9592F5AB9A25A2F5A2F5A2F5AB8515A2CC8" + $"6A2CC9592CC5072CBE412CC1A42CBD522F38B851382F3838020EBFC325BFC325" + $"BF04B4F6BDF1B5E6BE50B54FBAD9BAC8B4A9C48BB7C1BFA924C4CEB49AC54BB4" + $"94C50EB49DC52DB4A9C4F1B4A2C50FB7C1C00FBDF1B64CBAD9BB2EBE50B5B5BF" + $"C326BF04B55CC070B56CC165B64CC10EB5C3C47DBB2ECAACC4F1C794C00FCACB" + $"C525CAE3C58ACADCC558CAF0C539CAACC48BCAE0C4E4C794BFA9C165B5E6C47D" + $"BAC8C10EB55DBFC325C070B506BFC325BFC325BFC325BFC325060AFEFF072F37" + $"2F372F37B9A23732BDDB32BCEC32C13E32C80432C4A132C8F32F59B9A2592F59" + $"2F592F59B851592CC8042CC8F32CC4A12CBDDB2CC13E2CBCEC2F37B851372F37" + $"370606FF0747C3AA47C3AA47C5774052C14A52BE355239C3AA39C57739C1DE40" + $"C069BE35C069C14AC06947C3AA47C1DE47C3AAC3AA0606FF0747C34447C34447" + $"C5114051C14A51BE355139C34439C51139C17840C003BE35C003C14AC00347C3" + $"4447C17847C344C344060AFEFF07513851385138C72E3854BE4154BD5254C1A4" + $"54C86A54C50754C959515AC72E5A515A515A515AC5DD5A4EC86A4EC9594EC507" + $"4EBE414EC1A44EBD525138C5DD38513838060AFEFF07513751375137C72E3754" + $"BDDB54BCEC54C13E54C80454C4A154C8F35159C72E59515951595159C5DD594E" + $"C8044EC8F34EC4A14EBDDB4EC13E4EBCEC5137C5DD37513737020A40C00340C0" + $"03BF02C003BDC7C0F7BE4CC05BBD41C19439C345BCF5C26839C358BCF7C37F39" + $"C36CBD0BC1C5BFBFC069BE44C06AC136C069C288C36FC26DC1BBC289C36147C3" + $"45C289C35347C267C1B8C0F7C23EC194C132C05BBFBFC003C07DC003BFBFC003" + $"40C003BFBFC00340C0030608FF7F2F372F37B850372CBDDB2CBCEB2CBDFD2CBE" + $"412CBE1F2CBD512F38B85038B9A33832BE4132BD5132BE1F32BDDB32BDFD32BC" + $"EB2F37B9A3372F37370608FF7F51375137C5DC374EBDDB4EBCEB4EBDFD4EBE41" + $"4EBE1F4EBD515138C5DC38C72F3854BE4154BD5154BE1F54BDDB54BDFD54BCEB" + $"5137C72F37513737100A080600010D09060330222201178422040A070600010D" + $"0906031001178422040A000100000A010101000A000102000A020103000A0001" + $"04000A030105000A040106000A000107000A050108000A000109000A04010A00" + $"0A06010B000A06010C000A06010D00" +}; diff --git a/games-arcade/kobodeluxe/kobodeluxe-0.5.1.recipe b/games-arcade/kobodeluxe/kobodeluxe-0.5.1.recipe index 4b262d246..a2c101d40 100644 --- a/games-arcade/kobodeluxe/kobodeluxe-0.5.1.recipe +++ b/games-arcade/kobodeluxe/kobodeluxe-0.5.1.recipe @@ -9,11 +9,12 @@ require different tactics to be dealt with successfully." HOMEPAGE="http://olofson.net/kobodl/" COPYRIGHT="1995-2007 Akira Higuchi, David Olofson" LICENSE="GNU GPL v2" -REVISION="3" +REVISION="4" SOURCE_URI="http://olofson.net/kobodl/download/KoboDeluxe-$portVersion.tar.bz2" CHECKSUM_SHA256="0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c" SOURCE_DIR="KoboDeluxe-$portVersion" PATCHES="kobodeluxe-$portVersion.patchset" +ADDITIONAL_FILES="kobodeluxe.rdef.in" ARCHITECTURES="x86_gcc2 ?x86 x86_64" @@ -55,6 +56,23 @@ INSTALL() mkdir -p $appsDir/KoboDeluxe make install mv $appsDir/KoboDeluxe/bin/kobodl $appsDir/KoboDeluxe/KoboDeluxe - rm -R $appsDir/KoboDeluxe/bin + mv $appsDir/KoboDeluxe/share/kobo-deluxe $appsDir/KoboDeluxe/data + rm -R $appsDir/KoboDeluxe/{bin,share} + + local APP_SIGNATURE="application/x-vnd.kobodeluxe" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/kobodeluxe.rdef.in > $sourceDir/kobodeluxe.rdef + + addResourcesToBinaries $sourceDir/kobodeluxe.rdef $appsDir/KoboDeluxe/KoboDeluxe + addAppDeskbarSymlink $appsDir/KoboDeluxe/KoboDeluxe KoboDeluxe } diff --git a/games-arcade/kobodeluxe/patches/kobodeluxe-0.5.1.patchset b/games-arcade/kobodeluxe/patches/kobodeluxe-0.5.1.patchset index 0c738bfb3..c7f5de57f 100644 --- a/games-arcade/kobodeluxe/patches/kobodeluxe-0.5.1.patchset +++ b/games-arcade/kobodeluxe/patches/kobodeluxe-0.5.1.patchset @@ -1,22 +1,89 @@ -From 70ba0cda0df28b6a5d070579449eefaa44ce23f2 Mon Sep 17 00:00:00 2001 -From: Ken Mays -Date: Fri, 11 Oct 2019 18:16:30 +0100 -Subject: Disable HIGHSCORE +From dfa4371366584bdd59b37e806bfbfd365593dcdb Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 7 Feb 2021 14:54:25 +1000 +Subject: Add haiku to configure.in diff --git a/configure.in b/configure.in -index 8558e9c..a438366 100644 +index 8558e9c..2942a2b 100644 --- a/configure.in +++ b/configure.in -@@ -31,7 +31,7 @@ dnl------------------------------------------------------- - AC_MSG_CHECKING(target platform and install style); - build_macosx_bundle=no - build_simple_bundle=no --unix_scoredir=yes -+unix_scoredir=no - DATADIR='$(datadir)/kobo-deluxe' - SCOREDIR='$(sharedstatedir)/kobo-deluxe/scores' - CONFIGDIR='HOME>>' +@@ -49,6 +49,15 @@ case "$target_os" in + AC_MSG_RESULT(BeOS; Un*x style install) + MATHLIB="" + ;; ++ haiku) ++ AC_MSG_RESULT(Haiku; Un*x style install) ++ unix_scoredir=no ++ DATADIR='EXE>>data' ++ SCOREDIR='HOME>>config/settings/KoboDeluxe/scores' ++ CONFIGDIR='HOME>>config/settings/KoboDeluxe' ++ CONFIGFILE='kobodl.cfg' ++ MATHLIB="" ++ ;; + mingw32*) + AC_MSG_RESULT(Win32 (mingw32); Simple bundle) + build_simple_bundle=yes -- -2.23.0 +2.30.0 + + +From 18079627cf888df8f1e3e102c4fe204b5cda29fc Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 7 Feb 2021 14:54:35 +1000 +Subject: Use find_directory for settings dir + + +diff --git a/kobo.cpp b/kobo.cpp +index 5ae1baa..7e46517 100644 +--- a/kobo.cpp ++++ b/kobo.cpp +@@ -106,6 +106,23 @@ int mouse_right = 0; + + int exit_game = 0; + ++#ifdef __HAIKU__ ++#include ++#include ++ ++static int mkpath(const char *dir, mode_t mode) ++{ ++ struct stat sb; ++ if (!dir) { ++ errno = EINVAL; ++ return 1; ++ } ++ if (!stat(dir, &sb)) ++ return 0; ++ mkpath(dirname(strdup(dir)), mode); ++ return mkdir(dir, mode); ++} ++#endif + + static int main_init() + { +@@ -2055,6 +2072,21 @@ int main(int argc, char *argv[]) + + SDL_Init(0); + ++#ifdef __HAIKU__ ++ char *binpath = realpath(argv[0], NULL); ++ if (binpath != NULL) { ++ char *appdir = strrchr(binpath, '/'); ++ *appdir = '\0'; ++ chdir(binpath); ++ free(binpath); ++ } ++ static char settingsDir[PATH_MAX] = ""; ++ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, settingsDir, sizeof(settingsDir)) == B_OK) { ++ strcat(settingsDir, "/KoboDeluxe/scores"); ++ mkpath(settingsDir, 0755); ++ } ++#endif ++ + if(main_init()) + { + fprintf(stderr, "INTERNAL ERROR\n"); +-- +2.30.0